CentOS 7
Sponsored Link

Sensu : プラグインを追加する#1
2017/10/25
 
Sensu のデフォルトの監視項目はキープアライブのみとなっており、他の監視項目を追加したい場合はプラグインをインストールすることで可能となります。
配布されているプラグインは Sensu Plugins Project で確認できます。
⇒ https://github.com/sensu-plugins/
[1] 例として CPU チェックプラグインを追加します。
プラグインのインストールは監視対象としたい全ノードで実施します。
[root@dlp ~]#
yum -y groups install "Development Tools"
# cpu-checks インストール

[root@dlp ~]#
sensu-install -p cpu-checks

[SENSU-INSTALL] installing Sensu plugins ...
[SENSU-INSTALL] determining if Sensu gem 'sensu-plugins-cpu-checks' is already installed ...
false
[SENSU-INSTALL] Sensu plugin gems to be installed: ["sensu-plugins-cpu-checks"]
[SENSU-INSTALL] installing Sensu gem 'sensu-plugins-cpu-checks'
Fetching: linux-kstat-0.1.3-universal-linux.gem (100%)
Successfully installed linux-kstat-0.1.3-universal-linux
Fetching: sensu-plugins-cpu-checks-1.1.2.gem (100%)
You can use the embedded Ruby by setting EMBEDDED_RUBY=true in /etc/default/sensu
Successfully installed sensu-plugins-cpu-checks-1.1.2
2 gems installed
[SENSU-INSTALL] successfully installed Sensu plugins: ["sensu-plugins-cpu-checks"]

# 含まれるツールは以下で確認できる

[root@dlp ~]#
ll /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/sensu-plugins-cpu-checks-1.1.2/bin

total 32
-rwxr-xr-x. 1 root root 4100 Oct 26 11:57 check-cpu.rb
-rwxr-xr-x. 1 root root 1658 Oct 26 11:57 check-cpu.sh
-rwxr-xr-x. 1 root root 1998 Oct 26 11:57 metrics-cpu-mpstat.rb
-rwxr-xr-x. 1 root root 2236 Oct 26 11:57 metrics-cpu-pcnt-usage.rb
-rwxr-xr-x. 1 root root 1729 Oct 26 11:57 metrics-cpu.rb
-rwxr-xr-x. 1 root root 1212 Oct 26 11:57 metrics-numastat.rb
-rwxr-xr-x. 1 root root 1964 Oct 26 11:57 metrics-user-pct-usage.rb

# ツール実行時は /opt/sensu/embedded/bin 配下の方を指定する

[root@dlp ~]#
/opt/sensu/embedded/bin/check-cpu.rb -h

Usage: /opt/sensu/embedded/bin/check-cpu.rb (options)
        --cache-file CACHEFILE
    -c CRIT
        --guest                      Check cpu guest instead of total cpu usage
        --guest_nice                 Check cpu guest_nice instead of total cpu usage
        --idle                       Check cpu idle instead of total cpu usage
        --idle-metrics METRICS       Treat the specified metrics as idle. Defaults to idle,
                                       iowait,steal,guest,guest_nice
        --iowait                     Check cpu iowait instead of total cpu usage
        --irq                        Check cpu irq instead of total cpu usage
    -l, --less_than                  Change whether value is less than check
        --nice                       Check cpu nice instead of total cpu usage
        --proc-path /proc
        --sleep SLEEP
        --softirq                    Check cpu softirq instead of total cpu usage
        --steal                      Check cpu steal instead of total cpu usage
        --system                     Check cpu system instead of total cpu usage
        --user                       Check cpu user instead of total cpu usage
    -w WARN
[2] プラグインの設定をします。Sensu サーバー側で実施します。
[root@dlp ~]#
vi /etc/sensu/conf.d/check-cpu.json
# CPU Usage 80% で Warning, 90% で Critical

# [subscribers] には各ノードの設定で [subscriptions] に設定したワードを指定

# 以下の場合、[development] を設定した全ノードがチェック対象となる

{
  "checks": {
    "cpu_check": {
      "command": "check-cpu.rb -w 80 -c 90",
      "subscribers": [
        "development"
      ],
      "interval": 60
    }
  }
}

[root@dlp ~]#
systemctl restart sensu-server sensu-api

[3] Uchiwa ダッシュボードにアクセスすると追加したチェック項目が監視されていることが確認できます。
[4] 設定した閾値を超えると警告メッセージが表示されます。
[5] Sensu サーバーからではなく、クライアントノード側でチェックさせることもできます。
その場合はクライアント側に設定ファイルを作成し、[standalone: true] を指定します。
# disk-checks インストール

[root@node01 ~]#
sensu-install -p disk-checks

[root@node01 ~]#
vi /etc/sensu/conf.d/check-disk-usage.json
# クライアント側でチェックさせる場合 standalone: true を指定

{
  "checks": {
    "disk_check": {
      "command": "check-disk-usage.rb -w 70 -c 80",
      "standalone": true,
      "interval": 600
    }
  }
}

[root@node01 ~]#
systemctl restart sensu-client

 
Tweet