本記事では、静的なファイル監視の設定方法、またログ取得時に指定文字列の発生数をカウントしたり、文字列が存在したら警告表示とする方法をご紹介します。
文:ジュピターテクノロジー とぐち
はじめに
Checkmkは、OS専用のCheckmkエージェントを使用しLogwatchプラグインを組み込むことでログファイルを複雑な条件で監視することが可能です。このプラグインで任意のログファイルを監視することで、監視対象端末で直接ファイルを開いたりダウンロードしたりする必要がなく、監視中のファイルに書き出されるログやメッセージをWebGUI画面上から直接監視、確認することができます。
設定手順
Linuxの/var/log/に存在するsyslogファイルに「Error」という文字列が存在したらクリティカル(赤/重大)表示とする場合を例として、設定手順を細かく説明していきます。
必須設定
ログファイルを監視する際には、エージェントがインストールされていることが必須となります。またエージェントの自動アップデート機能がインストールされているとより便利です。エージェントを登録していない、また自動アップデートを登録していない場合はユーザーガイドより設定手順をご確認ください。
静的なログファイルと文字列の指定
静的なファイルを監視する場合、エージェントルール「Text logfiles(Linux, Solaris, Windows)」を使用します。この方法では、Linuxに限らず、Windowsの任意のファイル監視も設定することが可能です。
(※Windowsのイベントログ関連の監視は設定方法が異なるためご注意ください。こちらは「ログファイル監視②」のブログで紹介予定です。)
セットアップ>”エージェント”>Windows, Linux, Solaris,AIX (図1)赤枠[エージェントルール]ボタンをクリックします。
図2エージェントルール画面赤枠、検索窓に「log」の文字を入力し[Enterキー]押下。検索結果が表示されたら、[Text logfiles(Linux, Solaris, Windows)]のルールをクリックします。
[ルールの追加]ボタンをクリックし、図3のルール設定画面が表示されたら、以下赤枠の内容を設定してください。
ログファイルにセクションを構成する :チェック有効 整列するログファイルのパターン:任意のファイルのパス(複数可) ⇒今回は /var/log/syslog を入力 メッセージ分類の正規表現: メッセージパターンの追加ボタンをクリックし 任意の文字列パターンを入力(複数指定可)(正規表現可) ⇒今回はErrorという文字列が含まれていたらクリティカル表示 状態:クリティカル パターン:Error:.* を入力 条件: 条件タイプを指定(複数可) ⇒今回は特定のLinuxサーバーのみに指定するため、明示的なホストにチェックしサーバーを選択
入力できたら、図3左上の[保存する]ボタンをクリックします。指定内容を確認したら図4画面右上、[x Chages!]から設定変更をアクティベートします。
ルールの設定が完了したら、エージェントを更新します。
ブログ冒頭に記載したとおり、監視対象にエージェントのインストールは正常に完了しているものとします。
セットアップメニュー>”エージェント”>Windows, Linux, Solaris, AIX 画面へ遷移すると、エージェンルールが変更されたためエージェントベイクボタンがオレンジに反転しているはずです。(図5)[エージェントを焼いて署名する]をクリックし、赤枠のエージェント自動更新用のパスワードを入力、[ベイクと署名]ボタンをクリックしてエージェントベイクを完了させてください。
エージェントベイクが完了したら、エージェントを更新します。自動アップデート機能を登録済の方はモニターメニュー>”システム”>エージェントの更新ステータス画面で、最新のターゲットエージェントがインストール完了になるまでお待ちください。
自動アップデートを登録していない、またエージェント更新間隔を長めに設定しており即時更新したいという方は、手動でアップデートを行ってください。手動アップデートはサーバーではなく監視対象機器上で行う必要があります。手順詳細はユーザーガイドでご確認ください。
新しいエージェントの更新が完了したら、サービスを取得します。設定したホストのサービス取得画面へ移動しサービスが自動的に再取得されると、図6赤枠の「Log /var/log/syslog」というサービスが新しく表示されます。
左の+ボタンで追加し、アクティベートを行ってください。モニタ―メニューから対象のLinuxを確認すると、図7赤枠のようにサービスが追加され監視がスタートします。
先ほど設定した「Error」というキーワードでクリティカルになるかどうか確認するには、コンソール上からloggerコマンドでエラーを仕込みます。(図8)
テストとして、loggerコマンドを3回実行します。サービスの監視間隔が経過すると、図9のように「3 CRIT messages」と表示されており、エラーメッセージ(指定した文字列)があるためクリティカルとなり、3回書き出されたことがわかります。
ログの内容を詳しく確認したい場合は、サービスのプロパティ(図9 赤枠サービス名の横 三本線のメニュー)から[ログを開く]というメニューを選択することで、全てのログを確認することが可能です。指定したキーワードを含むメッセージは色付きで表示されています。(図10)
以上で、文字列を指定したLinuxの静的なログファイルの監視設定が完了しました。
今回はクリティカル(CRIT/赤)に分類されるメッセージのみ指定しましたが、同時に警告(WARN/黄)、正常(OK/緑)など様々な文字列を指定することも可能です。図10のようにログを一覧表示した際にさらに細かく色分けして表示されるため、ログ一覧から一目で指定の文字列を見つけることができます。
おわりに
Checkmkでは、今回ご紹介した方法以外にも、様々なログファイル監視、フィルタリング方法を設定することが可能です。次回の「ログファイル監視②」ではWindowsのイベントログ監視の設定とフィルタリング方法を、「ログファイル監視③」ではイベントコンソールへの転送や通知のフィルタリング設定方法をご紹介予定です!
お問い合わせ
Checkmkにご興味のある方は、以下リンクよりいつでも弊社までお問い合わせください。
30日間無償でご利用いただける評価版も以下のダウンロードリンクにご用意しております。簡単に検証ができますので、ぜひお試しください。