Назад | Перейти на главную страницу

Имеет ли смысл использовать `sensu-install`, поскольку он не развертывает проверки в каталоге` / etc / sensu / plugins`?

[user@host ~]$ sudo sensu-install -p ansible
[SENSU-INSTALL] installing Sensu plugins ...
[SENSU-INSTALL] determining if Sensu plugin gem 'sensu-plugins-ansible' is already installed ...
false
[SENSU-INSTALL] Sensu plugin gems to be installed: ["sensu-plugins-ansible"]
[SENSU-INSTALL] installing Sensu plugin gem 'sensu-plugins-ansible'
Fetching: sensu-plugins-ansible-0.0.4.gem (100%)
You can use the embedded Ruby by setting EMBEDDED_RUBY=true in /etc/default/sensu
Successfully installed sensu-plugins-ansible-0.0.4
1 gem installed
[SENSU-INSTALL] successfully installed Sensu plugins: ["ansible"]

Плагин ansible не установлен в каталог плагинов.

[user@host ~]$ ls /etc/sensu/plugins
check-apache.rb

Попытки решить проблему

Попытка одна

[user@host ~]$ sudo -u sensu sensu-install -p ssl
[SENSU-INSTALL] installing Sensu plugins ...
[SENSU-INSTALL] determining if Sensu plugin gem 'sensu-plugins-ssl' is already installed ...
false
[SENSU-INSTALL] Sensu plugin gems to be installed: ["sensu-plugins-ssl"]
[SENSU-INSTALL] installing Sensu plugin gem 'sensu-plugins-ssl'
Fetching: unf_ext-0.0.7.2.gem (100%)
ERROR:  While executing gem ... (Errno::ENOENT)
    No such file or directory @ rb_sysopen - /opt/sensu/.gem/ruby/2.3.0/cache/unf_ext-0.0.7.2.gem
[SENSU-INSTALL] failed to install Sensu plugin gem 'sensu-plugins-ssl'
[SENSU-INSTALL] you can run the sensu-install command again with --verbose for more info
[SENSU-INSTALL] please take note of any failure messages above
[SENSU-INSTALL] make sure you have build tools installed (e.g. gcc)
[SENSU-INSTALL] trying to determine the Sensu plugin homepage for sensu-plugins-ssl ...
homepage: https://github.com/sensu-plugins/sensu-plugins-ssl

Попытка два

Следуя совету, т.е. you can run the sensu-install command again with --verbose for more info от предыдущей попытки привело к:

[user@host ~]$ sudo sensu-install -p http --verbose
[SENSU-INSTALL] installing Sensu plugins ...
[SENSU-INSTALL] provided Sensu plugins: ["http"]
[SENSU-INSTALL] compiled Sensu plugin gems: ["sensu-plugins-http"]
[SENSU-INSTALL] determining if Sensu plugin gem 'sensu-plugins-http' is already installed ...
[SENSU-INSTALL] gem list -i sensu-plugins-http
false
[SENSU-INSTALL] Sensu plugin gem 'sensu-plugins-http' has not been installed
[SENSU-INSTALL] Sensu plugin gems to be installed: ["sensu-plugins-http"]
[SENSU-INSTALL] installing Sensu plugin gem 'sensu-plugins-http'
[SENSU-INSTALL] gem install sensu-plugins-http --no-ri --no-rdoc --verbose
HEAD https://api.rubygems.org/api/v1/dependencies
200 OK
...
/opt/sensu/embedded/bin/metrics-http-json-deep.rb
/opt/sensu/embedded/bin/check-http-json.rb
/opt/sensu/embedded/bin/metrics-curl.rb
/opt/sensu/embedded/bin/check-last-modified.rb
/opt/sensu/embedded/bin/check-https-cert.rb
/opt/sensu/embedded/bin/check-http-cors.rb
/opt/sensu/embedded/bin/check-head-redirect.rb
/opt/sensu/embedded/bin/metrics-http-json.rb
/opt/sensu/embedded/bin/check-http.rb
You can use the embedded Ruby by setting EMBEDDED_RUBY=true in /etc/default/sensu
Successfully installed sensu-plugins-http-1.0.0
13 gems installed
[SENSU-INSTALL] successfully installed Sensu plugins: ["http"]

Плагины установлены и проверки выполняются:

[user@host ~]$ /opt/sensu/embedded/bin/check-http.rb
CheckHttp UNKNOWN: No URL specified

Краткий

Да, есть смысл использовать sensu-install, так как:

  1. Никакие операторы git clone и copy не требуются для развертывания проверок в /etc/sensu/plugins
  2. В sensu-install команда изменяет путь так, чтобы плагины могли быть найдены с помощью sensu

Подробный

Хотя sensu-install команда устанавливает проверки в каталог, отличный от /etc/sensu/plugins это не требуется для запуска плагинов. Как Документация по плагину Sensu указывает:

ПРИМЕЧАНИЕ. По умолчанию установочные пакеты Sensu изменяют системный $ PATH для процессов Sensu, чтобы включить / etc / sensu / plugins. В результате исполняемые скрипты (например, плагины), расположенные в / etc / sensu / plugins, будут действительными командами. Это позволяет атрибутам команд использовать «относительные пути» для команд плагина Sensu;

например: «команда»: «check-http.rb -u https://sensuapp.org"

то sensu-install команда изменяет $PATH чтобы Sensu мог найти чек, определив чек, например check-http.rb вместо полного пути, например /opt/sensu/embedded/bin/check-http.rb