Мониторинг - Проблема С Соединением Sensu Tcp

  • Автор темы Germesborisov
  • Обновлено
  • 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

#мониторинг #сенсу

Germesborisov


Рег
15 Apr, 2020

Тем
95

Постов
199

Баллов
674
  • 25, Oct 2024
  • #2

В конце концов, в журналах RabbitMQ был ответ. Я видел, что что-то не так, но сообщения были настолько загадочными, что я не мог понять, что на самом деле сломалось. Оказывается, это была проблема SSL, вызванная старой версией Erlang, которую apt устанавливал по умолчанию в Ubuntu 14.04 (версия Erlang R16B03).

Эта проблема amqp указала мне на решение:

https://github.com/squaremo/amqp.node/issues/224

Мне нужно было обновиться до Erlang >= 17.5, тогда все заработало как положено.

 

Bad040


Рег
02 May, 2011

Тем
76

Постов
211

Баллов
601
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно