zabbixによるログ監視


2

ログファイルを監視し、正規表現に基づいてアラートを取得しようとしています。

zabbix 2.4.5を使う

これは私が作成したログ項目です

item

これが引き金です

trigger

ご覧のとおり、必要に応じてアイテムをzabbixエージェント(アクティブ)として作成しました。また、正しく有効になっています。しかし、私はまだ私が探しているログメッセージのアラートを何も取得していません。

monitor

何か案は?

回答:


1

あなたのためのより良い代替手段は代わりに特殊なプラグインを使うことでしょう。 Zabbixは、他の多くの最新のモニタリングアプリケーションと同様に、ユーザーがカスタムプラグインを実装することを可能にします。あなたのケースでは、あなたが必要とするカスタムプラグインはログファイルをチェックし、モニターしそして警告するために特別に作られたツールになるでしょう。

そのようなツールの例は autoresolve.kl.sh

インストール手順は簡単です:

  1. 監視するログファイルがあるホストにログインします。
  2. wget(the-url-link-of-zip-file-of-autoresolve.kl.sh)
  3. cd / tmp;解凍(ダウンロードしたzipファイル)
  4. ./install.sh /var/tmp/KINGLAZY/SHIELDX-autoresolve.kl.sh / home / jserver -力

'/ home / jserver'をzabbixプラグインディレクトリに置き換えます。また、テストしない限り、rootではなく、通常のユーザーとして前述のインストールコマンドを実行してください。

上記の手順が完了したら。これでログの監視を始めることができます。

./autoresolve.kl.sh localhost / var / tmp / logXray、修正プログラム、0n-1y-2y、0-uname、1-who、2-uptime autonda / var / log / syslog 60m 'app。* error' '。 ' 1 2 app_err_monitor -ndshow

簡単にするために、変更する必要がある最も重要なパラメータは次のとおりです。

  1. / var / log / syslog - これは監視しているログファイルです。
  2. app。* error - これはログファイルで探している文字列です。
  3. app_err_monitor - これは、この特定のログチェックに割り当てている名前/タグです。後で、必要に応じて、このタグを使用して監視対象ログにグラフを生成することができます。

各パラメータの意味についての詳細な説明は、 ヘルプページに直接アクセスできます

同じヘルプページで、このツールをZabbixと連携させる方法についても順を追って説明します。どのzabbix設定ファイルを更新する必要がありますか。そしてzabbix Webインターフェースでどの設定を行う必要があります。


3

監視対象ホストのエージェント設定ファイルで、次のことを確認してください。

'Hostname'パラメータはフロントエンドのホスト名と一致します 'ServerActive'パラメータ内のサーバは、アクティブチェックの処理に指定されています。 例:

/etc/zabbix/zabbix_agentd.conf:

Hostname=game.bingodrive.com
ServerActive=10.1.1.1

次に、zabbix Unixユーザーがファイルを読み取るためのアクセス権を持っているかどうかを確認します。

# su - zabbix -c "tail $YOUR-FILE"

"regexp"トリガー関数は、文字列が見つかった場合はtrue(1)を返すので、2番目のスクリーンショットのメッセージがエラーの場合、= 0ではなく= 1が必要です。


あなたの応答をありがとう、私は正規表現をeq 1に変更しました。私は監視対象ホストにzabbix実行ファイルがありません。私は何をしますか ?
ufk

あなたのホストには "zabbix"実行ファイルはありません。 「su - zabbix -c…」は、zabbixエージェントにファイルの読み取り権限があるかどうかを確認するための単なるコマンドです。
Vladimir

ああおっとあなたは正しいです。とにかく私がチェックしてzabbixユーザーがそのログファイルにアクセスできる。
ufk

まあ、あなたのログモニター項目がサポートされていない状態にないかどうかを確認するよりも。
Vladimir

su - zabbix -c "tail $YOUR-FILE" シェルなしのユーザーには機能しません。あなたが使用することができます runuser -u zabbix tail $YOUR-FILE このため。
user3132194

1

ZabbixでUNIXログファイルを監視する log 問題は、問題のホストが利用できることです。 アクティブチェック 。これは一般に次のことを意味します。

  1. エージェントは以下で設定する必要があります。 ServerActive= このホストで使用しているzabbixサーバまたはプロキシのホスト名。

  2. Zabbixサーバーで設定されたホスト名は、ターゲット(監視対象)ホストのFQDNまたはシステムホスト名と一致します。

  3. そうでない場合は、エージェントを次のように設定します。 HOSTNAME= 対応するZabbixサーバ設定ホスト名。

  4. 他の人が指摘したように、(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

編集:置き換え sudorunuser。コメントを見る


1
Sudoはオプションのパッケージに入っています。使うほうがいい runuser -u zabbix tail $YOUR-FILE
user3132194
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.