1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

図解で、Datadogのログ・キーワード監視(アラート設定手順)

Posted at

図解で、Datadogのログ・キーワード監視(アラート設定手順)

ログファイルに出力されたテキストのうち、「特定の文字列」を見つけたらメールで通知する設定と検査の手順を検証しました。

シナリオ

ゲーム用サーバーで動いている保守用アプリにログインしたら「<ユーザー名> logged in xxx」というテキストログが出力されます。保守アプリは2個[App1とApp2]があり、重要な[App2]にログインしたとき時だけユーザー名をアラート通知します。つまりログキーワードは[logged in]でありメールで通知する情報は[ユーザー名]とします。

image.png

(参考)Datadog は AWS, Azure など様々なクラウドにAPIアクセスできるインテグレーションが揃っています。IBM Cloud はDatadog サードパーティ(RapDev)からAPIインテグレーションが提供されています。IBM Cloud に限らずサーバーだけを監視する場合は Datadog エージェントをインストールしてサーバー監視及びログキーワード監視ができます。

アラート設定手順(STEP)

  • STEP1. ログの取り込み
  • STEP2. ログ送信を検査
  • STEP3. クエリをテスト
  • STEP4. モニター設定(アラート通知)
  • sTEP5. 最終検査

STEP1. ログの取り込み

サーバーのDatadogエージェントがログファイルを監視して更新があれば、インターネット側のDatadogインテークサーバーにログを転送します。

image.png

Datadog エージェントの設定ファイル

ログ収集を有効化し、対象ログファイルと識別するためのタグを設定します。設定後、Datadogエージェントを再起動します。

custome_log_collection.yaml
logs:
- type: file
    path: /var/log/kano/kano.log
    source: kanoHost
    service: kanoApp1
  - type: file
    path: /var/log/kano/kano2.log
    source: kanoHost
    service: kanoApp2

STEP2. ログ送信を検査

Datadogポータルにログインして、ログエクスプローラー[Logs]でログを受信できたことを検査します。

image.png

送信されたログを確認

ログを出力してからDatadogエージェントが転送してDatadogポータルで表示されるまでに時間差があります。表示されるのを待ちます。

image.png

STEP3. クエリをテスト

ログ・キーワードを合致させたいクエリをテストします。サーバー名[kanohost]とキーワード[logged in]で絞り込んでみました。ログが3個表示されました。

image.png

クエリにアプリ名[kanoApp2]でさらに絞り込みました。ログが1個だけ表示されました。重要なアプリにログインしたことを検知するためのクエリは[source:kanohost "logged in" service:kanoApp2]で大丈夫そうです。

image.png

STEP4. モニター設定(アラート通知)

ログ・キーワードが出力されたらアラート通知するための設定&テストをします。

image.png

新しい監視を追加します

[Monitors] > [Manage Monitors] > [New Monitor] > [Logs]

image.png

アラート通知の条件を登録します

  1. (1) Select monitor scope の箇所でログキーワードのクエリを設定します
  2. (2) Set alert conditions の箇所は1個でもキーワードを検出したらメール送信する設定です
  3. (3) Notify your team の箇所ではメールタイトルと本文を記載します

image.png

STEP5. 最終検査

ログファイルにログを連投してみます。Datadog ポータル[monitors] > [Status]でアラートを確認できました。

$ echo "UserA logged in as practice purpose" >> kano.log
$ echo "UserB logged in as practice purpose" >> kano.log
$ echo "new UserF logged in as practice purpose" >> kano2.log

image.png

メールも届きました!

image.png

まとめ

Datadog を活用してサーバーのログファイルに出力された文字列キーワードを見つけたらメール送信する手順を検証できました。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?