- 16, Oct 2024
- #1
У меня есть новый стек sensu/uchiwa, работающий на виртуальной машине. Это «автономная» установка: redis, RabbitMQ, sensu-server, sensu-api, sensu-client и uchiwa установлены на одном компьютере. У меня есть единственная проверка, на которую подписывается client.json.
Короче говоря, кажется, что-то не так. Я вошел в панель управления uchiwa, и появилось предупреждающее сообщение: «Datacenter sensu-81 возвратил: 500 INTERNAL SERVER ERROR».
,vagrant@vagrant-ubuntu-trusty-64:/etc/default$ curl -I http://localhost:4567/stashes -u admin Enter host password for user 'admin': HTTP/1.1 500 Internal Server Error Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS Access-Control-Allow-Origin: * Connection: close Content-length: 0
{
"sensu": [
{
"name": "",
"host": "monitor",
"ssl": false,
"port": 4567,
"user": "admin",
"pass": "secret",
"path": "",
"timeout": 5000
}
],
"uchiwa": {
"users": [
{
"password": "admin",
"username": "admin"
}
],
"port": 3000,
"refresh": 5
}
}
и {
"api": {
"host": "monitor",
"port": 4567,
"user": "admin",
"password": "secret"
}
}
logs are filled with these messages and only these messages:
[
{rabbit, [
{ssl_listeners, [5671]},
{ssl_options, [{cacertfile,"/etc/rabbitmq/ssl/cacert.pem"},
{certfile,"/etc/rabbitmq/ssl/cert.pem"},
{keyfile,"/etc/rabbitmq/ssl/key.pem"},
{verify,verify_peer},
{fail_if_no_peer_cert,true}]}
]}
].
Это говорит о том, что произошла ошибка при подключении к транспортному уровню, поэтому я проверил, что мой Transport.json настроен так, как ожидалось, и это было (по умолчанию):
{
"rabbitmq": {
"ssl": {
"cert_chain_file": "/etc/sensu/ssl/cert.pem",
"private_key_file": "/etc/sensu/ssl/key.pem"
},
"host": "monitor",
"port": 5671,
"vhost": "/sensu",
"user": "sensu",
"password": "sensu"
}
}
Поэтому я проверил Rabbitmq.json sensu, чтобы убедиться, что он настроен так, как ожидалось, и это снова так и было. (Примечание: в моем файле хостов есть строка, которая переводит монитор в 127.0.0.1. Я знаю о проблеме, связанной с использованием «localhost», вызывающей проблемы с IPv6, поэтому я дважды проверил, что файл хостов сопоставляет «монитор» с адресом 127.0.0.1. 0,1). Чтобы дополнительно подтвердить, что эти учетные данные работают, я включил веб-управление RabbitMQ и успешно вошел в систему, используя эти учетные данные.
{
"transport": {
"name": "rabbitmq",
"reconnect_on_error": true
}
}
Я также проверил, что сама конфигурация RabbitMQ соответствует ожиданиям (ssl включен и все такое):
==> /var/log/sensu/sensu-api.log <==
{"timestamp":"2017-05-11T21:00:34.758243+0000","level":"warn","message":"transport connection error","reason":"tcp connection lost"}
{"timestamp":"2017-05-11T21:00:34.758784+0000","level":"warn","message":"transport connection error","reason":"possible authentication failure. wrong credentials?","user":"sensu"}
==> /var/log/sensu/sensu-client.log <==
{"timestamp":"2017-05-11T21:00:35.973060+0000","level":"warn","message":"transport connection error","reason":"tcp connection lost"}
{"timestamp":"2017-05-11T21:00:35.974858+0000","level":"warn","message":"transport connection error","reason":"possible authentication failure. wrong credentials?","user":"sensu"}
==> /var/log/sensu/sensu-server.log <==
{"timestamp":"2017-05-11T21:00:37.489540+0000","level":"warn","message":"transport connection error","reason":"tcp connection lost"}
{"timestamp":"2017-05-11T21:00:37.489704+0000","level":"warn","message":"transport connection error","reason":"possible authentication failure. wrong credentials?","user":"sensu"}
Я не знаю, где продолжить отладку.
Я также проверил файлы конфигурации api.json и uchiwa.json, просто чтобы убедиться, что их учетные данные совпадают, что они и делают:
API.json:
sensu-server
учива.json:
sensu-api
Попытка связаться с sensu api напрямую изнутри коробки также дает ошибку 500:
sensu-client
#мониторинг #сенсу