アクションの実行間隔 曜日を指定する方法
どなたかお知恵をお貸しください。
以下、情報です。
OS:CentOS Linux release 7.5.1804 (Core)
Zabbix Ver: zabbix_server (Zabbix) 4.0.27
現在サーバーのメモリを監視し、ある閾値を超えた場合アラートメールを発報する仕組みが動作しています。
〇アイテム
間隔:1h
キー:vm.memory.size[(total-available)/total]
式 :(last("vm.memory.size[total]")-last("vm.memory.size[available]"))/last("vm.memory.size[total]")*100
→独自に式を作成しメモリ使用率を%で出せるようにしました。
〇トリガー
{ホスト名:vm.memory.size[(total-available)/total].count(24)}<10
→メモリ使用率が90%を超えた状態が24回連続発生した場合に障害とみなされます。
〇アクション
メール発報
このアクションの部分ですが、一度上記のトリガーが発生し、その後状態が変わらない場合、
毎週月曜日の10時に再度通知するような仕組みを作ることは可能でしょうか。
アクションの実行ステップの間隔では、何時間毎に再度発報となってしまう為、
特定の曜日のみとする事が分からず。
宜しくお願いします。
kaeru - 投稿数: 264
アクションを眺めてみましたが、アクションでの制御は不可能かと思います。
代替案として、時間指定のトリガーを新規作成するという手もございます。
→水曜日の10:00~11:00に間に、メモリ使用率が90%を超えた状態が24回連続していればメール発報。
{ホスト名:vm.memory.size[(total-available)/total].count(24)}<10
and
({ホスト名:vm.memory.size[(total-available)/total].time(0>100000
and
{ホスト名:vm.memory.size[(total-available)/total].time(0<110000
and
{ホスト名:vm.memory.size[(total-available)/total].dayofweek=3)
この場合、いつ発生したか、継続しているかに関係なく、
水曜日の10:00~11:00にメモリ使用率が障害状態であればアラートが発報されます。
(1時間間を取っているのは監視間隔が1時間なので合わせてあります。)
あと気になったのですが、
①CentOSでメモリ使用率を出すのであれば、
vm.memory.size[pused] で良いのではないでしょうか。
https://www.zabbix.com/documentation/2.2/jp/manual/appendix/items/vm.mem...
②トリガーの条件式が全般的におかしいです。
count(24)では24秒間に入ってきた個数の数となり使用率の値がそもそも関係ありません。
”メモリ使用率が90%を超えた状態が24回連続発生した場合に障害とみなされます”とあるので、
式にするのであれば以下ではないでしょうか。
.count(#24,90,ge)=24
もしくはmin関数を利用して、
.min(#24)>=90
ochosan - 投稿数: 7
ありがとうございます。
やはりアクションのみでは難しいですよね。
記載いただいた物を使用する場合は、
一つのアイテムに2つトリガーを設定する という認識ですよね。
試してみます。
1.水曜日以外の単発のもの
2.記載頂いた、水曜10:00~11:00に発報する用の物。
※①について
ありがとうございます。
メモリ使用率は%表記が出来ないと、どこかのページで見たので今回は自作しました。
参考にしたページのZBXバージョンが古かったのですかね。
そちらを使用してみます。
※②について
>>count(24)では24秒間に入ってきた個数の数となり使用率の値がそもそも関係ありません。
ご指摘いただきありがとうございます。
私の認識では、.count(24)}<10(%) なのでメモリの空きが10%以下の状態が、
監視間隔である1時間にて24回カウントされ検知した場合、トリガーとして動作すると思っていました。
この部分も直してみます。
ありがとうございました。