LoginSignup
6
8

More than 5 years have passed since last update.

計算アイテムで単位時間あたりのログ件数をグラフ化する

Last updated at Posted at 2016-03-05

単位時間あたりのログ件数をグラフ化する…という用途だと、Elasticsearch/Kibanaが思いつくのですが、Zabbixでも計算アイテムを使うことで、そういうことができなくもなかったです。

ログアイテムの設定

以下のような感じで、/var/log/messagesを監視するアイテムを作成します。

最新データは以下のような感じ。

計算アイテムの設定

ログの中から「error」にマッチする行の、30秒あたりの件数をカウントする計算アイテムを作成します。

基本的にはトリガー関数のcountがそのまま使えるようです。

違うのは、関数の第一引数が計算対象のアイテムのキーになるところです。(ちなみに、定義されていないアイテムのキーは使えないようでした)

log[]で正規表現を使っている場合は以下のような書き方になります。

count("log[/var/log/messages,\"[0-9]+\"]", 30, "error", "like")

しばらく待つと以下のようなグラフが表示されるようになります。

まとめ

ログデータをすべてDBに入れているので、大量のログを扱おうとすると厳しいかなぁ…とちょっと思ってます。

とはいえ、たとえばログのエラー出力を監視してて「error」という文字列が出力されるたびにアラートを出したくない、とりあえず単位時間あたりに出力件数が閾値を超えたらアラートを出すようにしたい、という向きにはよいかなと思います。

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8