Zabbix ログ監視
- システム
エンジニア - Zabbixとは何か教えてください。
- プロジェクト
マネージャー - Zabbixとはサーバーをまとめて監視できるソフトウェアで、多くの企業が導入しています。
Zabbixとは?
Zabbixは、LinuxサーバーやWindowsサーバーを含むあらゆる機器、システム、アプリケーションの稼働状況を監視できるオープンソースの統合監視ソフトウェアです。
多く企業が自社のデータセンターおよびクラウド上に何台ものサーバーを運用していますが、そのようなサーバーをまとめて監視できるソフトウェアがこのZabbixです。既に多くの企業が導入しています。
Zabbixはオープンソース
Zabbixは、ラトビアのZabbix社が開発しているソフトウェアですがオープンソースとして公開されており、インストールしたいプラットフォーム用のプログラムをダウンロードすれば誰でも無料で利用できます。
またZabbixの利用方法や設定手順を詳しく解説したWebページが幾つも公開されているので、それらを参考に監視システムを構築することが可能です。
Zabbixエージェントを使う
Zabbixを利用して監視するには、通常、監視対象にエージェントを導入します。なおエージェントとは監視対象のサーバー等に常駐し、定期的にZabbixと交信するプログラムです。
そしてエージェントを導入することで、ログ監視やリソース監視を実現できます。なおZabbixはSNMPを用いたエージェントを使わない監視方法にも対応していますが、Zabbixの性能をフルに引き出せるエージェントを利用してください。
柔軟性の高い閾値設定
Zabbixには、エージェントから受け取った情報を解析し、障害の有無を判定する柔軟性の高い閾値設定が可能です。
例えばログ監視では、大量のログが書き出されているログファイルから不具合の有無を検出するため複雑な検索処理を必要とします。その点Zabbixでは文字列の検索に正規表現を利用できるので複雑な文字列の組み合わせによる検索が可能です。
見やすい監視画面
Zabbixのような監視プログラムでは、監視対象のリソースの負荷状況を時系列でチェックできるグラフが欠かせません。Zabbixはそのような監視に用いるグラフを1つの画面に集約して表示できるなど、見やすい監視画面も特徴の1つです。
さらにわかりやすいダッシュボードからネットワークマップやグラフなどに簡単にアクセスでき、監視対象に関するレポート機能も充実しています。
Zabbixによるログ監視を実行するには
Zabbixによるログ監視は、アイテムに定義された監視対象のエージェントを介してログを収集し、トリガーに定義された条件で判定し、もし条件に一致したらアクションに定義された通知を実行します。
そのためZabbixをインストールする際、アイテム、トリガー、アクションの3つを定義します。次からそれぞれにおける作成時の注意点について紹介します。
アイテム作成時の注意点
監視対象を定義するアイテムでログ監視の対象を定義する場合、必ず「Zabbixエージェント」を選択する必要があるので注意してください。
ZabbixではSNMPなどエージェントを使わない監視にも対応しています。しかしログ監視はZabbixエージェントの機能を利用しているので、他を選んでしまうとログ管理をサポートしません。
またログ監視はZabbixエージェントをインストールしていないホストを対象にできないので注意してください。
トリガー作成時の注意点
トリガーを作成する際、名称、深刻度、条件式の3つを設定しなければなりません。
条件式はZabbix専用のフォーマットで記述し、関数や演算子を組み合わせて条件を記述します。さらに、使える関数の中には正規表現を扱うregexpなどもあるので、複雑な条件も指定可能です。ログファイルで検索したい文字列に合わせて、条件式を記述してください。
条件式の例
1
2
3
|
({hostname:log[/var/log/messages].nodata(30)}) = 0
|
なお条件式の書き方は、Zabbixのマニュアル内の「トリガーの条件式」の項目を参照してください。
アクション作成時の注意点
アクション作成時に、もしメールによる通知を設定する場合、外部のメールサーバーを設定する必要もあるので注意してください。
例えば、もしGmailのような外部のメールサーバーに利用する場合、メディアタイプとして外部のメールサーバーを登録しておき、それを「次のメディアのみ使用」欄で指定します。
また、短い時間に連続して大量にメールを送付する設定になっていると、メールの受け取りを拒否されるケースがあるので注意してください。
Zabbixによるログ監視の方法
先ほど紹介したようにZabbixでログ監視を設定するには、監視対象のサーバーでエージェントを常駐させ、そのエージェントを介してログの情報を取得します。
そしてログ監視を実施するには先ほど紹介した「アイテム」「トリガー」「アクション」の3つの定義が必要です。次からZabbixによるログ監視の設定方法について紹介します。
Zabbixサーバーをインストールする
ZabbixサーバーのパッケージをZabbixの公式サイトからダウンロードし、これをインストールしてください。なお公式サイトのダウンロードページでは、プラットフォーム毎のZabbixサーバーをインストール手順を紹介しています。
またAWSなどのクラウドではZabbixを簡単に設定できるイメージが用意されています。クラウド上にZabbixサーバーを設定する際に利用してください。
Zabbixエージェントをインストールする
ZabbixエージェントもZabbixの公式サイトからダウンロードして、監視対象のサーバーにインストールします。
なおZabbixエージェントでは、アクセスするZabbixサーバーと自身のホスト名を登録しなければなりません。Zabbixエージェントの設定ファイル「zabbix_agentd.conf」にZabbixサーバーのIPアドレスとZabbixエージェントを起動するホスト名を設定し、起動してください。
アイテムを作成する
Zabbixを実行したらデータを収集する設定を登録するアイテムを作成します。
Zabbixの管理画面を開いたら「設定」タグで画面を切り替え、さらに「ホスト」タグで表示される中から監視対象のホストを選んでください。「アイテム」タグで画面を切り替え、ここでアイテムを作成に必要な項目を登録します。
なおログ監視対象は、タイプに「Zabbixエージェント(アクティブ)」を、なたデータ型に「ログ」を指定してください。
トリガーを作成する
アイテムに続いてログ監視において管理者に通知する条件となるトリガーを作成してください。
トリガーを作成するには、Zabbixの管理画面から「設定」タグで画面を切り替え、さらに「ホスト」タグで表示される中から監視対象のホストを選択し、「トリガー」タグで切り替えた画面で設定します。
ここで名称、深刻度、条件式の3つを入力し、作成ボタンを押してください。これでトリガーが作成されます。
トリガーの条件式で正規表現を使うには
トリガーの条件式でregexp関数を使い正規表現を利用するには、正規表現を作成しておく必要があります。Zabbixの管理画面から「一般設定」タグで画面を切り替え、さらに「正規表現」タグで切り替えた画面て、正規表現を作成してください。
例えば正規表現として@syslog_regexpを定義した場合、次のような条件式を設定できます。
1
2
3
|
({hostname:log[/var/log/messages].regexp(@syslog_regexp)}) = 1
|
アクションを作成する
先ほど作成したトリガーに対応して動作するアクションを作成しておくことで、ログ監視でトラブルを検知した際にメール等で管理者に通知してくれます。
アクションの作成は、Zabbixの管理画面から「設定」タグで画面を切り替え、さらに「アクション」タブで切り替えた画面で設定してください。この画面でアクションの名所と対応するトリガー、およびトリガーに応じた動作を登録します。
- システム
エンジニア - Zabbixによる監視の方法などがわかりました。
- プロジェクト
マネージャー - Zabbixの監視方法や注意点の理解を深めて、実際に使用してみましょう。
監視対象に合わせてZabbixでログ監視を
Zabbixによるログ監視は設定したら、通知があるまで待っていればよい、というものではありません。監視対象のシステムの変更などに応じてZabbixによるログ監視の設定を見直す必要があります。
そのためにはZabbixの条件式などの設定知識や監視対象のシステムに関する知識が欠かせません。Zabbixを設定したことに満足せず、システムに合わせて設定の見直しができるようにスキルアップしていきいましょう。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
新着案件New Job
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅) -
PMO/東京都豊島区/【WEB面談可】/在宅勤務
月給55万~55万円東京都豊島区(池袋駅)