●はじめに
統合監視ツールのZabbixを使い、アクションの本文にマクロやトリガー条件式を記述し、発報後のメールで展開する方法を学習したのでメモします。
たとえば取得したディスク使用状況をメールに展開したり、トリガー評価時の1時間前のデータをメール本文に含めて比較する、といったことも可能になります。
●環境
項目 | 詳細 |
---|---|
ホストOS | macOS Monterey 12.2.1 |
仮想化ソフト | VMware Fusion 12.2.0 |
ゲストOS | Alma Linux 8.5 |
Zabbix ver | 5.0.21 |
●設定箇所/書式
1.設定箇所
[左ペイン] - [設定] - [アクション] - [任意のアクションを押下] - [実行内容タブ] - [実行内容の追加を押下] - [メッセージのカスタマイズにチェック]
2.書式
# 書式
{マクロ}
{ホスト名:アイテム[].関数()}
# 例
{ITEM.VALUE3} //取得した監視アイテムを展開。数値が付くとトリガー条件式内のN番目に記載されているアイテムを指定できる。
{host1:vfs.fs.size[C:,used].last(#3)} //host1のCドライブのディスク使用量のうち、最新値から数えて3番目のヒストリデータを展開
※使用できるマクロについては、Zabbix公式ドキュメントをご参考ください。
●設定例
■月曜15:00時点のディスク使用量と14:30時点の使用量を週次で自動送信する
- ホスト名:Win2019
- アイテム:vfs.fs.size[C:,used]
- トリガー:time関数、dayofweek関数
1.トリガー
({Win2019:vfs.fs.size[C:,used].time()}>150000 //15:00:00になったら発報
and
{Win2019:vfs.fs.size[C:,used].time()}<150100) //15:01:00を越えたらトリガー条件式が偽になる
and
{Win2019:vfs.fs.size[C:,used].dayofweek()}=1 //毎週月曜日
2.アクションのメッセージ
【ディスク使用量】
■ホスト名:{HOST.HOST} //ホスト名をマクロで指定
Cドライブ:{Win2019:vfs.fs.size[C:,used].last()} //15:00時点のディスク使用量(トリガー評価時点の最新値)
Cドライブ:{Win2019:vfs.fs.size[C:,used].last(#1,30m)} //14:30時点のディスク使用量(トリガー評価時点から30分遡った時点の最新値)
※トリガー条件式のN番目を指定するタイプのマクロ(ITEM.VALUE<1-9>など)は、最大9個までしか展開できませんが、トリガー条件式を併用すればさらに多くのアイテムを展開することもできます。
※また、トリガーに記述していないホストやアイテムでも、アクションのメッセージにトリガー条件式として記述すれば、複数ホスト/アイテムをまたいでメールに展開することが可能です。
●まとめ
統合監視ツールのZabbixを使い、アクションの本文にマクロやトリガー条件式を記述する手順を紹介しました。
トリガー評価時とそれより前のデータを比較したり、ベンダーに週次でディスク使用状況を自動送信する、という使い方もできると思います。
手順に誤り等ございましたら、ご指摘頂けますと幸いです。
この記事が少しでも皆様のお役に立てれば嬉しいです。
●参考
・Zabbix統合監視実践入門
・Zabbix公式ドキュメント