ログファイルを監視し、正規表現に基づいてアラートを取得しようとしています。
zabbix2.4.5を使用
これは私が作成したログ項目です
これがトリガーです
ご覧のとおり、必要に応じてzabbixエージェント(アクティブ)としてアイテムを作成し、適切に有効化しています。しかし、検索しているログメッセージのアラートはまだ届きません。
何か案は?
代わりに、専用のプラグインを使用することをお勧めします。 Zabbixは、他の多くの最新の監視アプリケーションと同様に、ユーザーがカスタムプラグインを実装できるようにします。あなたの場合、必要なカスタムプラグインは、ログファイルをチェック、監視、警告するために特別に構築されたツールになります。
このようなツールの例は autoresolve.kl.sh です。
インストール手順は簡単です:
'/ home/jserver'をzabbixプラグインディレクトリに置き換えます。また、テストする場合を除いて、rootではなく通常のユーザーとして前述のインストールコマンドを実行してください。
上記の手順が完了したら。これで、ログの監視を開始できます:
./autoresolve.kl.sh localhost/var/tmp/logXray、fixer、0n-1y-2y、0-uname、1-who、2-uptime autonda/var/log/syslog 60m'app。* error ''。 ' 1 2 app_err_monitor -ndshow
物事を単純にするために、変更する必要がある最も重要なパラメーターは次のとおりです:
各パラメータの意味の詳細については、ヘルプページに直接アクセスできます。
同じヘルプページに、このツールをZabbixで動作させる方法のステップバイステップの説明もあります...つまり、更新する必要のあるzabbix構成ファイル...およびzabbixWebインターフェイスで必要な設定。
監視対象ホストのエージェント構成ファイルで、次のことを確認してください。
「Hostname」パラメーターは、フロントエンドのホスト名と一致します。「ServerActive」パラメーターのサーバーは、アクティブなチェックの処理に指定されます。例:
/etc/zabbix/zabbix_agentd.conf:
Hostname=game.bingodrive.com
ServerActive=10.1.1.1
次に、zabbixUnixユーザーがファイルを読み取るためのアクセス権を持っているかどうかを確認します。
# su - zabbix -c "tail $YOUR-FILE"
文字列が見つかった場合、「regexp」トリガー関数はtrue(1)を返すため、2番目のスクリーンショットのメッセージがエラーの場合、= 0ではなく= 1である必要があることに注意してください。
log
項目を含むUNIXログファイルのZabbixモニタリングでは、問題のホストがアクティブチェックを利用できることが重要です。これは一般的に次のことを意味します。
エージェントは、_ServerActive=
_と、このホストで使用しているzabbixサーバーまたはプロキシのホスト名で構成する必要があります。
Zabbixサーバーで設定されたホスト名は、ターゲット(監視対象)ホストのFQDNまたはシステムホスト名と一致します。
または、そうでない場合は、エージェントが_HOSTNAME=
_および対応するZabbixサーバーで構成されたホスト名で構成されていること。
他の人が指摘しているように、エージェント(Zabbixユーザーとして実行)はログファイルにアクセスできる必要があります。_su zabbix -c "tail -1 logfile"
_はこれをテストするための良い方法です。 zabbixアカウントが無効になっている場合は、_runuser -u zabbix tail -1 logfile
_を使用します。 (logfile
を監視対象のファイルに置き換えます)。
エージェントを再起動するときは、ログファイルで次のようなエラーメッセージがないか確認してください。
_no active checks on server [127.0.0.1:10051]: Host [Zabbix server] not found
_
これは、上記のタイプの設定ミスを示しています。
サーバー上でこのアイテムに「サポートされていません」と表示されている場合は、ファイルのアクセス許可に問題がある可能性があります。
それでもメッセージが表示されない場合は、多すぎるメッセージが送信されている可能性があります。デフォルトでは、Zabbixは1秒あたり100程度しか送信せず、30秒ごとに「追いつく」だけです(アイテムを参照)。
最後の項目(regexp(...,#1)
)のみを参照するようにトリガーを構成しました。これは正しいと思いますが、通常は_,#1
_を省略します。
編集:Sudo
をrunuser
に置き換えました。コメントを見る