第1回ではZabbixの概要の説明とWebインターフェースの新機能の紹介を行いました。今回は2.2から4.0の間に改善や追加された監視データの所得処理に関する以下の機能について解説します。監視データ取得を即時実行ローレベルディスカバリの機能強化ローレベルディスカバリ(以下LLDと記載)は監視対象からネットワークインターフェースやポート,ディスクパーティションのマウントポイントなど搭載しているデバイスの一覧を取得し,そのリストに基づいてアイテムやトリガー,グラフを自動的に作成する機能です。管理者は監視対象の機器が有しているデバイスを調査する必要がなく,監視設定もすべてのデバイスについて漏れなく自動的に行えます。2.0の新機能として搭載されて以降,LLDはZabbixの機能の中でも非常に活用されており,以下のようにメジャーバージョンが上がるごとに機能強化されてきています。OIDのディスカバリ(3.0)Windowsサービス,CPU,ODBCディスカバリ(3.0)2.4ではLLDで取得されたデバイスのリストに対するフィルタをより細かく設定できるようになったことで,監視しなくてもよいデバイスを自動設定作成から除外することが柔軟に行えるようになりました。ネットワーク機器の監視では3.0で機能強化されたSNMPの複数OIDによるLLDの機能強化と組み合わせると,ポート数が多いネットワーク機器の各ポートを監視する場合に特に効果があり,設定でシャットダウンされているポートは監視設定を生成せず,加えてポート名称でもフィルタを行うといったことが可能です(図1⁠)⁠。図1また,2.4ではLLDが作成したグラフを1つのスクリーンに自動的に並べる機能も搭載され,たとえばネットワーク機器の各ポートのIN/OUTのグラフを1枚の画面に並べて表示できます(図2⁠)⁠。以前は手作業で作成する必要があったものが自動化でき,監視設定を効率よく行えるようになりました。図23.0ではWindowsのサービスやCPU,ODBCのLLD機能を追加し,以下のことが行えます。WindowsサービスとCPUのLLDはエージェント側の新機能であり,利用するためにはZabbixエージェントも3.0以降へアップデートする必要があることに注意してください。3.4では監視対象から取得した監視データを,障害検知やデータ保存前の段階で加工する保存前処理の機能が追加されました。アイテムの設定で「保存前処理」タブから設定が行え,前後文字列の除去,正規表現を利用した文字列抜き出し,JSONやXMLデータから指定した値の抜き出しなどが行えます(図3⁠)⁠。以前のバージョンにもあった「数値のかけ算を行う(乗数⁠)⁠」⁠「⁠前回値との差分」「⁠秒あたりの差分」の各設定も保存前処理タブに移動しています。図3保存前処理の機能を利用することで,不要な文字列を除去したり特定文字列のみ抜き出して監視データとして活用できるだけでなく,アプリケーションサービスなどのAPIを実行して得られるJSONやXMLデータからデータを抜き出す処理までZabbixの設定のみで行えるようになり,以前は独自のスクリプトを作成する必要があったこれらの処理を容易に行えます。3.4では新しいアイテムのタイプ「依存アイテム」が追加されています。依存アイテムは他のアイテムを親アイテムとして指定し,親アイテムが監視データを受信したタイミングで自身のアイテムでも同じデータを受け取ります。上記の保存前処理と組み合わせて活用することで,監視データは1回の取得で複数のアイテムで監視データを取得させ,アプリケーションやサービスの監視を効率よく行うことができます。例としてアプリケーションやサービスのAPIへリクエストを行い,複数の監視データを含むJSONやXMLが得られる場合以下のように設定できます(図4⁠)⁠。図4親アイテムで複数の監視データが含まれるテキストデータやJSON,XMLデータを取得する依存アイテムを複数作成し,それぞれのアイテムでは保存前処理設定で異なるデータを抜き出すように設定する以前のバージョンでは,上記のような1回のリクエストで複数データが得られるようなアプリケーションやサービスの監視を行う場合,取得したデータの分割を行うスクリプトを作成する必要があり,1つの監視データを取得するために1回のデータ取得のリクエストをアプリケーションやサービスに実行する作りになっていると,監視対象へ不要に負荷をかける結果になるなどの問題がありました。監視対象の負荷を下げるためにzabbix_senderを利用した仕組みにするなどの対応を取ることで効率よく監視できますが,スクリプトが複雑になってしまいます。依存アイテムと保存前処理の機能を組み合わせて利用することで,複雑な監視を簡単に効率よく行えます。4.0ではHTTPリクエストによる監視データの取得機能が追加されました。アイテムの設定でタイプの選択に「HTTPエージェント」を選択することで利用できます(図5⁠)⁠。HTTPエージェントはURLを指定しHTTPリクエストにより取得したデータを監視データとして利用します。以前のバージョンにもあったWeb監視機能はWebページが正しく表示できるかどうかをシナリオ監視できる機能であることに対して,HTTPエージェントは取得したコンテンツ自体を監視する機能であるという違いがあります。図5HTTPエージェントを利用することで,アプリケーションやWebサービス,クラウドなどのAPIへHTTPのリクエストを実行し,得られた結果を監視できます。サービスなどのAPIは応答結果がJSONやXML形式となっていることが多く,前述した保存前処理や依存アイテムを活用することで1回のAPIリクエストを行い,得られた結果から必要な監視データを抜き出し複数のアイテムに分けて保存するという効率的な監視が行えます。最近はクラウドサービスやコンテナ環境の詳細監視を行いたいというニーズが出てきており,これらの環境はHTTPベースのAPIを利用して内部ステータスを取得することができます。SaaSやIaaSのサービスの内部ステータスを監視するために,APIリクエストによる監視データの取得を行って監視するといったことが,スクリプトを作成しなくてもZabbixの設定画面からのみで行えるようになりました。他にもテンプレートとして設定を管理することができXMLエクスポートにより設定を共有もしやすくなったなどのメリットがあります。4.0ではアイテムの設定画面に「監視データを取得」ボタンが追加されています。アイテムの設定一覧画面の下部,または個々のアイテムの設定画面の下部にあり,このボタンを押すことでアイテムの監視データを即時取得するようにZabbixサーバーにリクエストを行うことができます(図6⁠)⁠。この機能は以下のような場面で活用できます。図6アイテムを新規に作成した直後に,初回の監視タイミングを待たずに監視データを取得でき,設定が正しく動作するかを確認できるアイテムの設定間違いで状態が取得不可になった場合に,設定の修正後に監視データを取得させることで,次のリトライのタイミングを待たずに設定の確認ができる障害が発生した場合に,次の監視データ取得タイミングを待たずに監視処理を実行させて最新の状態の確認ができるまた,この「監視データ取得」ボタンはLLDのルール設定でも利用できます。LLDルールは監視対象から搭載しているデバイスのリストを取得し,そのリストに基づいてアイテムやトリガー,グラフの設定を自動生成する設定です。この処理を任意のタイミングで実行できるようになり,デバイスの追加削除を行った後にボタンを押して実行することですぐに監視設定に反映させることができるようになりました。連載第2回となる今回は監視データの取得に関する新機能について解説を行いました。2.2から4.0の間に監視データの取得に利用できる様々な機能が追加され,よりスマートに監視処理を行えるようになりました。今回紹介した以外にもZabbixサーバーとエージェント間やプロキシ間の通信を暗号化する機能や,Zabbixサーバーとプロキシ間の通信の圧縮など様々な機能が追加されています。次回の第3回では障害検知や障害通知に関する新機能について解説する予定です。2005年にZABBIX日本ユーザー会を設立し,雑誌や書籍の執筆を行う。2011年からラトビアZabbix本社に転職し,世界中のZabbixサポートを行いつつ,日本向けの公式トレーニングやパッケージ作成を担当する。Japanを設立し代表に就任。統合監視ツールZabbixの使い方を,基礎から実際の運用ノウハウまで解説した書籍です。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。