ZABBIXを4.0にアップグレードした結果、ORABBIXが利用できなくなりORACLEの監視が手薄になって早半年。
せめて表領域の監視だけでも自力でできないかと挑戦開始。
■環境
ZABBIXサーバ:CentOS 7.7.1908
DBサーバ:WindowsServer2008R2
ZABBIXバージョン:4.0.16
■概要
- マスタアイテムを作成する。
- 依存アイテムを作成し、1のマスタアイテムから表領域使用率を取得する。(JSON形式)
- DBサーバの表領域毎の使用率をJSON形式でzabbix_senderに渡す。(マスタアイテムのキーを指定)
- 使用率を閾値監視してトリガーとアクションを作成。
- 同一インスタンスの表領域使用率を1つのグラフで表示する。
■作業記録
1~3は以下のサイトを参考にしました。
誰でも ZABBIX 2. 監視アイテムの追加 - 依存アイテム
マスタ・依存アイテムの作成は問題なかったのですが、zabbix_sender実行エラーで最初のハマり。
zabbix_sender [532]: invalid parameter "XXXXXXXX"
上記エラーがJSONの値部分の数分出力されました。
このときzabbix_senderの起動パラメータは
zabbix_sender -z ZABBIXサーバIP -s 監視ホスト名 -k マスタアイテムキー -o {"tname": "AUDIT_AREA","rate": "6.00"}
"AUDIT_AREA" と "6.00" が invalid parameter だと怒られました。
-o オプションに指定する値は途中の空白を許容しないということがわかり、全体をシングルクォートで囲ってみましたが、変わらずエラー。。。
zabbix_sender -z ZABBIXサーバIP -s 監視ホスト名 -k マスタアイテムキー -o '{"tname": "AUDIT_AREA","rate": "6.00"}'
素直に途中の空白を取り除いて実行するとようやくzabbix_senderは正常終了。
zabbix_sender -z ZABBIXサーバIP -s 監視ホスト名 -k マスタアイテムキー -o {"tname":"AUDIT_AREA","rate":"6.00"}
さて、サーバ側の最新データを見てみると、マスタアイテムには値があるけど依存アイテムに値がない。
しかもマスタアイテムの最新値は
{tname:AUDIT_AREA,rate:6.00}
ダブルクォーテーション外されちゃってました。。。
再トライ
zabbix_sender -z ZABBIXサーバIP -s 監視ホスト名 -k マスタアイテムキー -o {"""tname""":"""AUDIT_AREA""","""rate""":"""6.00"""}
これでマスタ/依存アイテム共に最新値が取得でき一段落。
単一グラフも表示され、4項後回しで5項に取り掛かったのですが、、、
各表領域の使用率を同一マスタアイテムに送信したら、表領域毎に軸が分けられません。。。
表領域の数分マスタアイテムを作成し、それぞれに使用率の依存アイテムをぶら下げる。
という方法は思いついたのですが、もっと合理的な方法がないかと、現在ここで停滞中。
妙案がありましたらアドバイス頂きたく。