sensu-client дает сбой во время запуска

Мой клиент sensu дает сбой во время запуска (новая установка), и /var/log/sensu/sensu-client.log мало что показывает, несмотря на то, что я добавил LOG_LEVEL=debug в /etc/default/sensu . Я использовал аналогичные файлы конфигурации client.json и rabbitmq.json (внутри /etc/sensu/conf.d) на других моих sensu-клиентах (скопированные ssl-сертификаты).

   $ sudo service sensu-client start
    [FAILED] sensu-client[  OK  ]

Ниже приведен журнал sensu-client.

$ tail -f /var/log/sensu/sensu-client.log 
        from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/lib/sensu/daemon.rb:187:in `setup_transport'
        from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/lib/sensu/client/process.rb:412:in `start'
        from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/lib/sensu/client/process.rb:19:in `block in run'
        from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `call'
        from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run_machine'
        from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run'
        from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/lib/sensu/client/process.rb:18:in `run'
        from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/bin/sensu-client:10:in `<top (required)>'
        from /opt/sensu/bin/sensu-client:23:in `load'
        from /opt/sensu/bin/sensu-client:23:in `<main>'
^C

Вот конфиг по умолчанию

$ cat /etc/default/sensu 
EMBEDDED_RUBY=false
LOG_LEVEL=debug

Даже перезагрузка моего RHEL7 не помогает, см. журнал ниже

Mar 25 13:09:24 nms02w sensu-client: Starting sensu-client[  OK  ]#015[FAILED]
Mar 25 13:09:24 nms02w systemd: sensu-client.service: control process exited, code=exited status=1
Mar 25 13:09:24 nms02w systemd: Unit sensu-client.service entered failed state.
Mar 25 13:09:24 nms02w systemd: sensu-client.service failed.

Добавление большего журнала:

 systemctl status sensu-client.service
● sensu-client.service - LSB: Sensu monitoring framework client
   Loaded: loaded (/etc/rc.d/init.d/sensu-client)
   Active: failed (Result: exit-code) since Fri 2016-03-25 13:09:24 EDT; 1h 47min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 948 ExecStart=/etc/rc.d/init.d/sensu-client start (code=exited, status=1/FAILURE)

Mar 25 13:09:21 nms02w systemd[1]: Starting LSB: Sensu monitoring framework client...
Mar 25 13:09:21 nms02w runuser[983]: pam_unix(runuser:session): session opened for user sensu by (uid=0)
Mar 25 13:09:24 nms02w sensu-client[948]: [38B blob data]
Mar 25 13:09:24 nms02w systemd[1]: sensu-client.service: control process exited, code=exited status=1
Mar 25 13:09:24 nms02w systemd[1]: Failed to start LSB: Sensu monitoring framework client.
Mar 25 13:09:24 nms02w systemd[1]: Unit sensu-client.service entered failed state.
Mar 25 13:09:24 nms02w systemd[1]: sensu-client.service failed.

person irom    schedule 25.03.2016    source источник
comment
Можете ли вы показать немного больше журнала, фактической ошибки там нет.   -  person Kobbe    schedule 25.03.2016
comment
добавлено больше (отредактировано), в том числе «Не удалось запустить LSB: клиент системы мониторинга Sensu».   -  person irom    schedule 25.03.2016
comment
Добавьте больше из sensu-client.log, это должно быть что-то прежде всего из.   -  person Kobbe    schedule 26.03.2016
comment
Я нашел проблему, это было ненужным и дефолтным файлом config.json. Я удалил его и теперь все хорошо...   -  person irom    schedule 27.03.2016


Ответы (1)


У меня была такая же проблема со старой версией sensu: 0.20.3-1 Полное сообщение об ошибке описано здесь:

/opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:859:in `open_udp_socket': no datagram socket (RuntimeError)
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:859:in `open_datagram_socket'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/lib/sensu/client/process.rb:355:in `setup_sockets'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/lib/sensu/client/process.rb:413:in `start'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/lib/sensu/client/process.rb:19:in `block in run'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `call'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run_machine'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/lib/sensu/client/process.rb:18:in `run'
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/bin/sensu-client:10:in `<top (required)>'
from /opt/sensu/bin/sensu-client:23:in `load'
from /opt/sensu/bin/sensu-client:23:in `<main>'

Проблема заключается в `open_udp_socket': нет сокета дейтаграммы (RuntimeError), что означает, что сокет udp уже используется, и sensu-client не может связать его. Хорошо, вы всегда можете попытаться найти остановленный процесс, который использовал сокет:

root@xxx- /etc/sensu/conf.d/checks $ netstat -ntulp|grep 3030 
udp     0      0 127.0.0.1:3030   0.0.0.0:*                           603/sudo
root@xxx- /etc/sensu/conf.d/checks $ kill -9 603

После этого sensu-client запустится корректно.

root@xxx- /etc/sensu/conf.d/checks $ /etc/init.d/sensu-client start
 * Starting sensu-client                                [ OK ]

С уважением

person Oleg Mykolaichenko    schedule 20.03.2017