日本Zabbixユーザー会フォーラム

Zabbixソフトウェアのインストール、設定、監視設定、バグ報告に関する質問。日本Zabbixユーザー会のサイトやその他の質問もこちら。

ログ監視にて指定時間帯に再検知した場合に通知する方法に関して

Zabbixのログ監視について質問です

以下の設定を実施したいのですが、書き方が不明の為ご教授をお願いできればと思います

①/var/log/messagesに1回目のERRORを検知した場合はアクションを実行しない
②15分以内に検知した場合はアクション(メール送信)を実行
③15分以内に検知しない場合は正常ステータスに戻す

下記トリガーを作成したのですが、1回目からアクションを実行されてしまう状況となっており
書き方がわからない為、ご教授をお願いいたします。
{Log_Templates:logrt["/var/log/messages","@messages","sjis",,skip].iregexp(ERROR)}=1&
※変な風に表示されるため、わけておりますが、実際はつながっております。
{Log_Templates:logrt["/var/log/messages","@messages","sjis",,skip].iregexp(ERROR)].nodata(900)}=0

/var/log/messagesに1回目のERRORを検知した際にアクションを実行せずに
15分以内に再検知した場合にアクションを実行する方法は可能なのでしょうか?

アラートメールにて{ITEM.VALUE}の値を編集せずにそのまま出力させたい

いつも参考にさせていただいております。

ある監視アイテムで一時間あたりの数値が1000を超えたらアラートメールを出すようにしています。
アクションで使用しているマクロの{ITEM.VALUE1}で出力される値がメールの件名並びに本文において
「1.0k」とされてしまうのですがここを実際の値で出力する方法はありせんか?

http://www.zabbix.jp/node/3207を参照して、下記の変更は実施済みでして
ブラウザで見る限りは想定通りの出力になっています。

 ファイル名: include/func.inc.php
 関数名  : convert_units()
 $blackList = array('%', 'ms', 'rpm', 'RPM');

regexpの2番目の引数を指定した場合の挙動について

お世話になっております。

トリガー関数regexpの2番目の引数を指定した場合の挙動について、ご教授頂きたく投稿致しました。

Zabbixのバージョンは2.2 です。

Zabbixの公式マニュアルには以下の様に記載されていますが、
2番目の引数に#numを指定した場合にはどのような動きをするのでしょうか。

regexp
1番目 - 文字列、2番目 - secまたは#num

例えばregexp(aaa,#3)と設定しアイテムの取得状況が以下の様な場合

2016/03/11 15:47:49 aaa
2016/03/11 15:47:25 bbb
2016/03/11 15:46:45 ccc

2016/03/11 15:46:45の値のみ参照してマッチングをするのでしょうか、
それとも2016/03/11 15:46:45 ~ 2016/03/11 15:47:49の値をまとめて
参照してマッチングするのでしょうか。

ご存知の方が居られましたら、ご教授のほど
宜しくお願い致します。

スケールイン・スケールアウトに対応したzabbix監視自動on/offについて

いつも参考にさせていただいております。

【環境】
監視サーバ:
 Ubuntu 14.04.2 LTS
 zabbix 2.2

監視対象:
 windows 2008 R2 ×8台

【背景の説明】
windowsサーバのスケールイン・スケールアウトを自動で行う環境を構築しており、
スケールイン・アウト時に、対象サーバのzabbix監視(ホストの設定)を自動で無効化する用に、
zabbix APIを投げるプログラムを作成しました。

スケールイン手順概要
 1) Windowsサーバのサービス切り離し
 2) Windowsサーバのホストのステータスを'有効'→'無効'に変更(zabbix API)
 3) Tomcat7サービスの停止および、停止確認
 4) Windowsサーバの停止
 ※スケールアウトは上記逆順。

上記を動かしたところ、2)zabbixのホスト設定無効化し、
zabbixサーバ上でもホスト監視無効化しているにも関わらず、
3) Tomcat7サービスの停止をした際に、tomcat7の死活監視が検知しました。

<通知サンプル>
NOTE: Escalation cancelled: host 'Windows_test01' disabled.
Trigger: Apache Tomcat (Tomcat7) Windowsサービスが停止しています。
Trigger status: PROBLEM

・『NOTE: Escalation cancelled:』のメッセージが出ている為、ホスト無効の後のタイミングで、
 windowsサーバのzabbix-agentがtomcat7停止を検知し、zabbix-serverに送信したものと推測しています。
 zabbix-serverではホスト無効となっている為、メッセージ付きで通知が出たと考えております。
https://www.zabbix.com/documentation/2.2/jp/manual/web_interface/fronten...

【質問内容】
・スケールイン・スケールアウトを実装する際に、zabbixのホスト監視on/offに関するベストプラクティスが有れば、
 教えていただきたいです。
  ⇒上記の事象だけで捉えると、ホストの無効処理の前に、agent側のサービス停止も必要のように思えます。
   他社事例などの知見がお聞きしたいです。
・『NOTE: Escalation cancelled:』のメッセージが付いたメール送信を行わない設定は出来ますでしょうか?
  ⇒マニュアルやフォーラムを見たところ、上記を止めるにはDBにてstatus変更が必要とのことでした。
   UI上から設定変更はできませんでしょうか?
   (現在は、通知受け取り側で除外設定を行っています)

Zabbixで過去のエラーログを誤検知

【環境】
Server:CentOS7.0 Zabbix2.4.4
Agent :CentOS7.0 Zabbix2.4.5

Zabbixのログ監視で過去に出たエラーを再度検知してアラートとして送信してしまう事象に困っています。

条件はこちらです。
({サーバ:logrt["XXX/logs/[0-9]{8}\.log",@Error].iregexp(@Error)}<>0) and ({サーバ:logrt["XXX/logs/[0-9]{8}\.log",@Error].nodata(300)}=0)

幾つか過去の質問を確認してみましたが、
ログローテートのタイミングで再度全てのログを読みなおしているという問題ではなさそうです。

nodata()の副作用かと思ったのですが、全く関係の無いタイミングで通知される(6時間程ずれてたり)ので頭を悩ませております。
不要なログ検知を無くしたいです。

コンテンツ配信