zabbix
Scality

Zabbix監視テンプレート(Scality 6 Supervisor)

Zabbix監視テンプレート(Scality 6 Supervisor)を作成しました。
Zabbix 3.0、Scality RING 6.4.5.4(Mithrandir)で検証しています。

前提条件

  • /etc/logrotate.dの設定がrestartではなく、reloadを使用している事。
  • Zabbixエージェントの設定ファイルにパラメータ"Include=/etc/zabbix/zabbix_agentd.d/"を設定している事。
  • Zabbixエージェントの設定ファイルにパラメータ"ServerActive=Zabbix ServerのIPアドレス"を設定している事。

Scality 6 Supervisor

テンプレート

  • Template App Scality 6 Supervisor Service(テンプレートとのリンク: なし)

アプリケーション

  • Scality 6 Supervisor service

アイテム

# アイテム名 トリガー キー データ型 単位 乗数の使用 更新間隔(秒) ヒストリ トレンド タイプ アプリケーション 内容 備考
1 RING Administrator HTTP service is running 1 net.tcp.listen[3080] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service TCP3080ポート(http)のステータス取得 TCPポート(http)を使用しない場合は不要
2 RING Administrator HTTPS service is running 1 net.tcp.listen[3443] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service TCP3443ポート(https)のステータス取得 TCPポート(https)を使用しない場合は不要
3 Supervisor sagentd service is running 1 net.tcp.listen[7084] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service TCP7084ポート(sagentd)のステータス取得 TCPポート(sagentd)を使用しない場合は不要
4 Supervisor supv2 service is running 1 net.tcp.listen[12345] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service TCP12345ポート(supv2)のステータス取得 TCPポート(supv2)を使用しない場合は不要
5 Supervisor uwsgi service is running 1 net.tcp.listen[4443] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service TCP4443ポート(uwsgi)のステータス取得 TCPポート(uwsgi)を使用しない場合は不要
6 Supervisor grafana-server service is running 1 net.tcp.listen[3000] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service TCP3000ポート(grafana-server)のステータス取得 TCPポート(grafana-server)を使用しない場合は不要
7 Supervisor bizstoresup service is running 1 net.tcp.listen[2443] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service TCP2443ポート(bizstoresup)のステータス取得 TCPポート(bizstoresup)を使用しない場合は不要
8 Supervisor bizstoresup service is running 1 net.tcp.listen[5580] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service TCP5580ポート(bizstoresup)のステータス取得 TCPポート(bizstoresup)を使用しない場合は不要
9 Supervisor salt-master service is running 1 net.tcp.listen[4505] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service TCP4505ポート(salt-master)のステータス取得 TCPポート(salt-master)を使用しない場合は不要
10 Supervisor salt-master service is running 1 net.tcp.listen[4506] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service TCP4506ポート(salt-master)のステータス取得 TCPポート(salt-master)を使用しない場合は不要
11 Number of SSD failures 1 custom.scality.supervisor.ringsh.ringstatus.meta.ssd.ng 数値 - - 60 7 365 Zabbixエージェント Scality 6 Supervisor service 認識しているエラー状態のSSDの個数取得
12 Number of HDD failures 1 custom.scality.supervisor.ringsh.ringstatus.data.disk.ng 数値 - - 60 7 365 Zabbixエージェント Scality 6 Supervisor service 認識しているエラー状態のHDDの個数取得
13 Number of running httpd processes 1 proc.num[httpd,root,,"-DFOREGROUND"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service httpdプロセスの個数取得
14 Number of running bizstoresup processes 1 proc.num[,root,,"/usr/bin/bizstoresup"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service bizstoresupプロセスの個数取得
15 Number of running sagentd processes 1 proc.num[,root,,"/usr/bin/sagentd"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service sagentdプロセスの個数取得
16 Number of running sagentd/core processes 1 proc.num[,root,,"sagentd/core"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service sagentd/coreプロセスの個数取得
17 Number of running sagentd/heartbeat processes 1 proc.num[,root,,"sagentd/heartbeat"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service sagentd/heartbeatプロセスの個数取得
18 Number of running sagentd/poll processes 1 proc.num[,root,,"sagentd/poll"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service sagentd/pollプロセスの個数取得
19 Number of running sagentd/scheduler processes 1 proc.num[,root,,"sagentd/scheduler"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service sagentd/schedulerプロセスの個数取得
20 Number of running sagentd/webclient processes 1 proc.num[,root,,"sagentd/webclient"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service sagentd/webclientプロセスの個数取得
21 Number of running sagentd/webserver processes 1 proc.num[,root,,"sagentd/webserver"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service sagentd/webserverプロセスの個数取得
22 Number of running supv2 processes 1 proc.num[,root,,"/usr/bin/supv2"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service supv2プロセスの個数取得
23 Number of running supv2/core processes 1 proc.num[,root,,"supv2/core"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service supv2/coreプロセスの個数取得
24 Number of running supv2/scheduler processes 1 proc.num[,root,,"supv2/scheduler"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service supv2/schedulerプロセスの個数取得
25 Number of running supv2/webclient processes 1 proc.num[,root,,"supv2/webclient"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service supv2/webclientプロセスの個数取得
26 Number of running supv2/webserver processes 1 proc.num[,root,,"supv2/webserver"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service supv2/webserverプロセスの個数取得
27 Number of running salt-master processes 1 proc.num[,root,,"salt-master"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service salt-masterプロセスの個数取得
28 Number of running salt-minion processes 1 proc.num[,root,,"salt-minion"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service salt-minionプロセスの個数取得
29 Number of running uwsgi processes 1 proc.num[,,,"/usr/sbin/uwsgi"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service uwsgiプロセスの個数取得
30 Number of running grafana-server processes 1 proc.num[,grafana,,"/usr/sbin/grafana-server"] 数値 - - 30 90 365 Zabbixエージェント Scality 6 Supervisor service grafana-serverプロセスの個数取得
31 Number of online Nodes 0 custom.scality.supervisor.ringsh.serverlist.online 数値 - - 60 7 365 Zabbixエージェント Scality 6 Supervisor service 認識しているオンライン状態のノードの個数取得
32 Number of offline Nodes 1 custom.scality.supervisor.ringsh.serverlist.offline 数値 - - 60 7 365 Zabbixエージェント Scality 6 Supervisor service 認識しているオフライン状態のノードの個数取得
33 Free disk space on DATA 0 custom.scality.supervisor.ringsh.ringstorage.data.disk.avail 数値 B 1099511627776 60 7 365 Zabbixエージェント Scality 6 Supervisor service ノード全体のDATAの合計空き容量
34 Used disk space on DATA 0 custom.scality.supervisor.ringsh.ringstorage.data.disk.used 数値 B 1099511627776 60 7 365 Zabbixエージェント Scality 6 Supervisor service ノード全体のDATAの合計使用容量
35 Supervisor detected error log in cluster.log 1 log[/var/log/scality-supervisor/cluster.log,,,,skip] ログ - - 30 7 365 Zabbixエージェント Scality 6 Supervisor service ログファイルの文字列取得
  • ヒストリとは各収集値の保持期間
  • トレンドとは数値データタイプの1時間あたりの最低値、最高値、平均値および合計値の保持期間
  • Zabbixにリトライ回数、リトライ間隔、タイムアウト時間は存在しない

トリガー

# 深刻度 トリガー 条件式 種別 内容 備考
1 軽度の障害 RING Administrator HTTP service is down on {HOST.NAME} net.tcp.listen[3080].max(#3)=0 ポート 直近3回のTCP3080ポート(RING Administrator HTTP)のステータス取得時の戻り値(最大値)が0(Close)だった場合 TCP3080ポート(RING Administrator HTTP)を使用しない場合は不要
2 軽度の障害 RING Administrator HTTPS service is down on {HOST.NAME} net.tcp.listen[3443].max(#3)=0 ポート 直近3回のTCP3443ポート(RING Administrator HTTPS)のステータス取得時の戻り値(最大値)が0(Close)だった場合 TCP3443ポート(RING Administrator HTTPS)を使用しない場合は不要
3 軽度の障害 Supervisor bizstoresup service is down on {HOST.NAME} net.tcp.listen[2443].max(#3)=0 ポート 直近3回のTCP2443ポート(bizstoresup)のステータス取得時の戻り値(最大値)が0(Close)だった場合 TCP2443ポート(bizstoresup)を使用しない場合は不要
4 軽度の障害 Supervisor bizstoresup service is down on {HOST.NAME} net.tcp.listen[5580].max(#3)=0 ポート 直近3回のTCP5580ポート(bizstoresup)のステータス取得時の戻り値(最大値)が0(Close)だった場合 TCP5580ポート(bizstoresup)を使用しない場合は不要
5 軽度の障害 Supervisor supv2 service is down on {HOST.NAME} net.tcp.listen[12345].max(#3)=0 ポート 直近3回のTCP12345ポート(supv2)のステータス取得時の戻り値(最大値)が0(Close)だった場合 TCP12345ポート(supv2)を使用しない場合は不要
6 軽度の障害 Supervisor sagentd service is down on {HOST.NAME} net.tcp.listen[7084].max(#3)=0 ポート 直近3回のTCP7084ポート(sagentd)のステータス取得時の戻り値(最大値)が0(Close)だった場合 TCP7084ポート(sagentd)を使用しない場合は不要
7 軽度の障害 Supervisor uwsgi service is down on {HOST.NAME} net.tcp.listen[4443].max(#3)=0 ポート 直近3回のTCP4443ポート(uwsgi)のステータス取得時の戻り値(最大値)が0(Close)だった場合 TCP4443ポート(uwsgi)を使用しない場合は不要
8 軽度の障害 Supervisor grafana-server service is down on {HOST.NAME} net.tcp.listen[3000].max(#3)=0 ポート 直近3回のTCP3000ポート(grafana-server)のステータス取得時の戻り値(最大値)が0(Close)だった場合 TCP3000ポート(grafana-server)を使用しない場合は不要
9 軽度の障害 Supervisor salt-master service is down on {HOST.NAME} net.tcp.listen[4505].max(#3)=0 ポート 直近3回のTCP4505ポート(salt-master)のステータス取得時の戻り値(最大値)が0(Close)だった場合 TCP4505ポート(salt-master)を使用しない場合は不要
10 軽度の障害 Supervisor salt-master service is down on {HOST.NAME} net.tcp.listen[4506].max(#3)=0 ポート 直近3回のTCP4506ポート(salt-master)のステータス取得時の戻り値(最大値)が0(Close)だった場合 TCP4506ポート(salt-master)を使用しない場合は不要
11 重度の障害 Number of detected a SSD Failures custom.scality.supervisor.ringsh.ringstatus.meta.ssd.ng.max(#3)<>0 ディスク 直近3回の認識しているエラー状態のSSDの最大個数が0以外だった場合
12 重度の障害 Number of detected a HDD Failures custom.scality.supervisor.ringsh.ringstatus.data.disk.ng.max(#3)<>0 ディスク 直近3回の認識しているエラー状態のHDDの最大個数が0以外だった場合
13 重度の障害 httpd process is not running on {HOST.NAME} proc.num[httpd,root,,].last(0)<1 プロセス 稼働中のhttpdプロセスの最新個数が1未満だった場合
14 重度の障害 bizstoresup process is not running on {HOST.NAME} proc.num[,root,,"/usr/bin/bizstoresup"].last(0)<2 プロセス 稼働中のbizstoresupプロセスの最新個数が2未満だった場合
15 重度の障害 sagentd process is not running on {HOST.NAME} proc.num[,root,,"/usr/bin/sagentd"].last(0)<1 プロセス 稼働中のsagentdプロセスの最新個数が1未満だった場合
16 重度の障害 sagentd/core process is not running on {HOST.NAME} proc.num[,root,,"sagentd/core"].last(0)<1 プロセス 稼働中のsagentd/coreプロセスの最新個数が1未満だった場合
17 重度の障害 sagentd/heartbeat process is not running on {HOST.NAME} proc.num[,root,,"sagentd/heartbeat"].last(0)<1 プロセス 稼働中のsagentd/heartbeatプロセスの最新個数が1未満だった場合
18 重度の障害 sagentd/poll process is not running on {HOST.NAME} proc.num[,root,,"sagentd/poll"].last(0)}<1 プロセス 稼働中のsagentd/pollプロセスの最新個数が1未満だった場合
19 重度の障害 sagentd/scheduler process is not running on {HOST.NAME} proc.num[,root,,"sagentd/scheduler"].last(0)<1 プロセス 稼働中のsagentd/schedulerプロセスの最新個数が1未満だった場合
20 重度の障害 sagentd/webclient process is not running on {HOST.NAME} proc.num[,root,,"sagentd/webclient"].last(0)<1 プロセス 稼働中のsagentd/webclientプロセスの最新個数が1未満だった場合
21 重度の障害 sagentd/webserver process is not running on {HOST.NAME} proc.num[,root,,"sagentd/webserver"].last(0)<1 プロセス 稼働中のsagentd/webserverプロセスの最新個数が1未満だった場合
22 重度の障害 supv2 process is not running on {HOST.NAME} proc.num[,root,,"/usr/bin/supv2"].max(#10)<1 プロセス 直近10回の稼働中のsupv2プロセスの最大個数が1未満だった場合
23 重度の障害 supv2/core process is not running on {HOST.NAME} proc.num[,root,,"supv2/core"].last(0)}<5 プロセス 稼働中のsupv2/coreプロセスの最新個数が5未満だった場合
24 重度の障害 supv2/scheduler process is not running on {HOST.NAME} proc.num[,root,,"supv2/scheduler"].last(0)}<1 プロセス 稼働中のsupv2/schedulerプロセスの最新個数が1未満だった場合
25 重度の障害 supv2/webclient process is not running on {HOST.NAME} proc.num[,root,,"supv2/webclient"].last(0)}<1 プロセス 稼働中のsupv2/webclientプロセスの最新個数が1未満だった場合
26 重度の障害 supv2/webserver process is not running on {HOST.NAME} proc.num[,root,,"supv2/webserver"].last(0)}<5 プロセス 稼働中のsupv2/webserverプロセスの最新個数が5未満だった場合
27 重度の障害 salt-master process is not running on {HOST.NAME} proc.num[,root,,"salt-master"].last(0)<12 プロセス 稼働中のsalt-masterプロセスの最新個数が12未満だった場合
28 重度の障害 salt-minion process is not running on {HOST.NAME} proc.num[,root,,"salt-minion"].last(0)<3 プロセス 稼働中のsalt-minionプロセスの最新個数が3未満だった場合
29 重度の障害 uwsgi process is not running on {HOST.NAME} proc.num[,,,"/usr/sbin/uwsgi"].last(0)<12 プロセス 稼働中のuwsgiプロセスの最新個数が12未満だった場合
30 重度の障害 grafana-server process is not running on {HOST.NAME} proc.num[,grafana,,"/usr/sbin/grafana-server"].last(0)<1 プロセス 稼働中のgrafana-serverプロセスの最新個数が1未満だった場合
31 重度の障害 Number of detected a offline Nodes custom.scality.supervisor.ringsh.serverlist.offline.max(#3)<>0 通信 直近3回の認識しているオフライン状態のノードの最大数が0以外だった場合
32 重度の障害 Supervisor detected error log in cluster.log on {HOST.NAME} log[/var/log/scality-supervisor/cluster.log,,,,skip].str("ERROR")=1 and log[/var/log/scality-supervisor/cluster.log,,,,skip].count(1h,"ERROR")>4 and log[/var/log/scality-supervisor/cluster.log,,,,skip].nodata(1m)=0 ログ 文字列"ERROR"が検知された場合および文字列"ERROR"の個数が1時間に4個以上だった場合および60秒以内のデータの受信数が0個だった場合

コンフィグの設置

/etc/zabbix/zabbix_agentd.d/userparameter_scality.conf
# Custom Monitoring Items
UserParameter=custom.scality.supervisor.ringsh.ringstatus.meta.ssd.ng,/usr/bin/ringsh supervisor ringStatus META | grep 'ssd' | grep 'NG' | wc -l
UserParameter=custom.scality.supervisor.ringsh.ringstatus.data.disk.ng,/usr/bin/ringsh supervisor ringStatus DATA | grep 'disk' | grep 'NG' | wc -l
UserParameter=custom.scality.supervisor.ringsh.serverlist.online,/usr/bin/ringsh supervisor serverList | grep 'online' | wc -l
UserParameter=custom.scality.supervisor.ringsh.serverlist.offline,/usr/bin/ringsh supervisor serverList | grep 'offline' | wc -l
UserParameter=custom.scality.supervisor.ringsh.ringstorage.data.disk.avail,/usr/bin/ringsh supervisor ringStorage DATA | grep 'Disk avail' | cut -d ' ' -f 4 | awk '{ printf("%d",$1 + 0.5) }'
UserParameter=custom.scality.supervisor.ringsh.ringstorage.data.disk.used,/usr/bin/ringsh supervisor ringStorage DATA | grep 'Disk used' | cut -d ' ' -f 4 | awk '{ printf("%d",$1 + 0.5) }'

zabbix-agentの再起動(CentOS 5, 6)

[root@localhost ~]# /etc/init.d/zabbix-agent restart

zabbix-agentの再起動(CentOS 7)

[root@localhost ~]# systemctl restart zabbix-agent

関連記事

Zabbix監視テンプレート(Scality 6 RING)
Zabbix監視テンプレート(Scality 6 SOFS Connector)