分散監視システムにおけるZabbixのアクティブ、パッシブ、Web監視のプロセスの詳細な説明

分散監視システムにおけるZabbixのアクティブ、パッシブ、Web監視のプロセスの詳細な説明

前回の記事では、Zabbix のネットワーク検出機能について学習し、アクションと組み合わせてホストの自動検出を実現し、ホストを Zabbix ホストに追加し、指定されたテンプレートにリンクして監視しました。復習するには、https://www.jb51.net/article/200678.htm を参照してください。今日は、Zabbix のアクティブ監視、パッシブ監視、Web 監視関連のトピックについて学習します。

1. アクティブモニタリングとは何ですか?パッシブモニタリングとは何ですか?

データを取得する方法は 2 つあり、1 つは get で、もう 1 つは push です。Zabbix では、アクティブ モニタリングとパッシブ モニタリングはエージェント側から説明されます。エージェントが Zabbix サーバーにデータをアクティブに送信してデータを収集する方法をアクティブ モニタリングと呼びます。Zabbix サーバーが Zabbix エージェントからデータを取得する方法はパッシブ モニタリングと呼ばれます。このように、Zabbix サーバーが定期的に Zabbix エージェントに要求した場合にのみ、Zabbix エージェントは Zabbix サーバーに対応するデータに応答します。Zabbix サーバーが要求しない場合、Zabbix エージェントは Zabbix サーバーにデータを送信しません。アクティブ モニタリングでは、Zabbix サーバーがエージェントを要求するかどうかに関係なく、エージェントは指定された時間間隔でサーバーにデータをプッシュします。デフォルトでは、Zabbix はパッシブ モニタリングを使用します。これは、Zabbix サーバーが各 Zabbix エージェントにデータ収集を常に要求する必要があり、そうでない場合はデータがないことを意味します。

2. アクティブモニタリング作業プロセス

アクティブ監視を実装するには、まずエージェントが収集するデータを把握し、それをサーバーに送信する必要があります。次に、Zabbix サーバーは、異なるエージェントから送信されたデータをどのように区別するのでしょうか。Zabbix 監視システムでは、アクティブ監視の動作プロセスは、Zabbix Web で監視構成を構成した後、まず Zabbix データベースに保存し、次に Zabbix サーバーが対応する構成をデータベースに適用することです。アクティブ モードでは、Zabbix サーバーは初めて Zabbix エージェントにアクティブに接続し、監視構成を Zabbix エージェントにプッシュします。Zabbix エージェントは監視構成を取得した後、指定されたデータを収集し、指定された時間間隔でサーバーに送信します。Zabbix エージェントは、サーバーにデータを送信するときに構成ファイルで指定されたホスト名を持ち込み、そのホスト名を使用してエージェントとして自分自身を識別します。

3. Zabbixトラップモード

トラップ モードもアクティブ モニタリングの一種です。その動作プロセスは、Zabbix サーバーまたは Zabbix エージェントによって設定された時間間隔に依存しません。その動作プロセスは、監視対象ホスト上の Zabbix 送信ツールを使用して不定期にデータを送信し、Zabbix サーバーがトラップ プロセスを実行して各監視対象端末から送信されるデータを待機することです。その後、データはデータベースに記録され、データ収集プロセスが完了します。このモードは主に、監視対象端末で緊急事態が発生したときに一時的な情報を収集するために使用されます。

Zabbixエージェントをパッシブモードで動作するように設定する

ヒント: デフォルトでは、Zabbix エージェントはパッシブ モードの監視を使用しますが、Zabbix サーバーを設定して、Zabbix エージェントにデータ収集の指示を送信する必要があります。上記の赤いボックスのサーバー コマンドは、Zabbix サーバーを設定して、このエージェントにデータ収集の指示を送信します。複数の Zabbix サーバー IP アドレスを設定できます。上記のサーバーを設定したら、設定を保存し、Zabbix エージェントを起動し、Zabbix Web インターフェイスで Zabbix エージェントを設定し、Zabbix エージェントを選択して、対応する項目の設定を完了します。以下に示すように

Zabbixエージェントをアクティブモードで動作するように設定する

ヒント: zabbix エージェントをアクティブ モードで動作するように設定するには、Server に加えて、ServerActive と対応するホスト名を設定する必要があります。ServerActive 命令は、データの送信先を指定するために使用されます。ホスト名を設定するには、Hostname を使用して固定ホスト名を直接指定するか、HostnameItem を使用して組み込みの zabbix キー system.hostname を使用してホスト名を取得します。この 2 つの方法のいずれかを選択できます。

アクティブモード Zabbix エージェント設定ファイル

[root@node05 ~]# grep -Ei ^[az] /etc/zabbix/zabbix_agentd.conf 
Pidファイル=/var/run/zabbix/zabbix_agentd.pid
ログファイル=/var/log/zabbix/zabbix_agentd.log
ログファイルサイズ=0
サーバー=192.168.0.43
サーバーアクティブ=192.168.0.43
ホスト名項目=system.hostname
インクルード=/etc/zabbix/zabbix_agentd.d/*.conf
[ルート@node05 ~]#

Zabbix Web GUI設定では、対応するZabbixエージェントのタイプはZabbixエージェント(アクティブ)です。

今定義した項目がデータを収集できるかどうか確認してみましょう。

ヒント: データを収集できるということは、Zabbix エージェントをアクティブ モードに構成するのが正常であることを示しています。

Zabbix WebでZabbix Trapperタイプのアイテムを設定する

ヒント: 上記の設定により、ホスト node05.test.org は zabbix sender を使用して zabbix サーバーにデータを送信できます。送信されたデータのキーは test_trap です。このキーには実際の意味はなく、主に対応するデータを識別するために使用されます。この設定の後、zabbix サーバーでトラッパーが設定され、node05.test.org が zabbix_sender を使用して送信したキー test_trap を持つデータを受信します。

node05にzabbix-senderツールをインストールする

node05のzabbix_senderを使用して、キーtest_trapのデータをzabbixサーバーに送信します。

ヒント: -z は zabbix サーバーのアドレスを指定し、-s はローカル マシンのホスト名を指定します。-k はデータを受信するためのキーを指定し、-o はキーに対応するデータを送信することを示します。-o には値を直接指定することも、コマンド置換によって指定することもできます。

対応するキーがデータを受信したかどうかを Zabbix Web でのみ確認しますか?

ヒント: 対応するキーがデータを受信したことがわかります。このトラップは通常、zabbix エージェントが存在せず、対応する監視対象ホストが特定の頻度で zabbix サーバーに特定のデータを送信する場合に使用できます。監視対象側で実行される zabbix sender コマンドをスケジュールされたタスクとして構成して、定期的なデータ収集を完了することもできます。

上記は、zabbix でよく使用される 2 つのアクティブ監視構成です。次に、zabbix の Web 監視について見てみましょう。

ウェブモニタリングとは何ですか?文字通りの意味から言えば、Web ページを監視することを意味します。はい、Web ページを監視することを意味します。Web サイトは通常、1 つのページだけではありません。ホームページに加えて、支払いシステム、注文管理システムなどの他のシステム ページがあります。Web サイトが正常かどうかを監視する場合、ホームページだけを監視するだけでは明らかに不十分です。Zabbix では、Web ページを監視するためのインターフェイスが提供されています。対応する監視ページのアクセス URL を設定するだけで済みます。Zabbix の Web 監視では、デフォルトで、指定したページの 3 つの指標データ、つまり、指定したページのリソースのダウンロード速度、ページ応答時間、応答コードを監視します。

node05 で Web サービス監視を構成する

テスト用にWebサービスnginxをnode05にインストールする

複数のアクセスページを提供することをシミュレートし、nginxを起動します

Zabbix Webページで監視ノード05のWebサービスを構成する

ヒント: ホスト リストで対応するホストを見つけて、Web を選択します。

ヒント: Web シナリオの作成ページに入るには、[Web シナリオの作成] を選択します。

ヒント: 名前とアプリケーションを入力し、更新間隔、試行回数、エージェント (クライアント ブラウザー、ここではシミュレートされた Google ブラウザーを選択) を選択し、Web シナリオの基本情報を入力し、ステップをクリックして、監視するページの関連情報を入力します。

ヒント: 監視する Web URL の関連情報を追加するには、[追加] をクリックします。

ヒント: 他の情報がある場合は、対応する位置の「追加」をクリックして追加します。上記のロジックに従って他の Web ページの URL を追加します。

ヒント: 監視対象のWebページでログインユーザー名とパスワードの確認が必要な場合は、認証メニューを選択し、対応するユーザー名とパスワードを入力します。

ヒント: 検証の必要がない場合は、最終認証を入力しないことを選択できます。最後に、Web URL を追加した後、[追加] をクリックして、対応する Web ページを Zabbix 監視に追加します。

Web モニタリングに追加するときに収集されるデータ項目を確認します。データはありますか?

ヒント: 上記のページ情報から、各 URL のダウンロード速度、ステータス コード、応答時間を監視する Web 監視を追加したことがわかります。上記の監視によって収集されたデータから、work1 で指定された URL では、応答コードが 403 として監視されていることがわかります。これは、nginx ユーザーに message.html の読み取りを許可しなかったため、403 で応答するためです。権限を変更するだけです。

nginx のアクセス ログをチェックして、対応するページに定期的にアクセスしているかどうかを確認します。

ヒント: 上記のログから、Zabbix サーバーが Google Chrome をシミュレートして、対応する監視対象ページに 1 分ごとにアクセスしていることがわかります。

上記は、zabbix Web モニタリングに関連する設定とデモンストレーションです。後で、Web モニタリングによって収集されたインジケーター データに基づいて、トリガー、アラーム、およびその他の操作を定義できます。

分散監視システムにおける Zabbix アクティブ、パッシブ、Web 監視の詳細なプロセスに関するこの記事はこれで終わりです。Zabbix 分散監視システムの関連コンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Zabbix を使用して ogg プロセスを監視する (Windows プラットフォーム)
  • Zabbix ベースの Jenkins プロセス監視の詳細な説明
  • 分散監視システムZabbixはSNMPとJMXチャネルを使用してデータを収集します
  • Zabbix による SQL Server サービス ステータスの監視の詳細な説明
  • Zabbixを使用してMySQLを監視する方法
  • Zabbix モニタリング 4.4 から 5.0 にアップグレードするための詳細なチュートリアル
  • Zabbixで監視する必要があるホストを追加するための詳細な手順
  • Zabbix で監視項目と集約されたグラフを設定するためのサンプルコード
  • zabbix を使用して ogg プロセスを監視する (Linux プラットフォーム)

<<:  jQuery はテーブルのページング効果を実装します

>>:  フォーム入力ボックスに関するWebデザインのヒント

推薦する

Dockerでのpython3.8イメージのインストールについて

Docker Hub公式サイト1. Pythonミラーを検索するdocker 検索 python 2...

MySQLの数値型自動増分における落とし穴

テーブル構造を設計する場合、数値型は最も一般的な型の 1 つですが、数値型をうまく使用するのは想像す...

Vueは書籍ショッピングカートの機能を実現

この記事の例では、書籍ショッピングカート機能を実現するためのVueの具体的なコードを参考までに共有し...

デプロイから基本操作までDocker Swarm

Docker SwarmについてDocker Swarm は次の 2 つの部分で構成されます。 D...

Navicat for MySQL チュートリアル

まず、Navicat for MySQL をダウンロードしてインストールする必要があります。正規版の...

Node.js での組み込みモジュールとカスタムモジュールの実装

1. コモンズCommonjsはNode.jsのカスタムモジュールですCommonjs 仕様は、Ja...

MySQLテーブルパーティショニングプログラムを変更する方法

MySQLテーブルパーティショニングプログラムを変更する方法1. サブテーブルの実装の原則は次のとお...

Vue が Bibibili のホームページを模倣する際の問題

エンジニアリング構造プロジェクトは2つの部分に分かれています。bilibili-apiはAPIインタ...

JS ベースの Ajax 同時リクエスト制御を実装する方法

目次序文Ajax シリアルおよびパラレルAjaxの同時リクエスト制御のための2つのソリューションPr...

CSS で overflow-y: visible; が機能しない理由の分析と解決

シナリオ最近の要件は、モバイル デバイス用の h5 ページです。これには、選択可能なカードの行が必要...

自己終了XHTMLタグを書くときに注意すべきこと

XHTMLの img タグは、次のように記述する必要があります: <img alt="...

MySQL交換パーティションの詳細な例

MySQL交換パーティションの詳細な例序文exchange パーティションを紹介する前に、まず my...

ReactプロジェクトにSCSSを導入する方法

まず依存関係をダウンロードします yarn sass-loader ノード sass を追加します次...

MySQL クエリ ステートメントのプロセスと EXPLAIN ステートメントの基本概念とその最適化

ウェブサイトやサービスのパフォーマンスは、データベースの設計(適切な言語開発フレームワークを選択した...

Linux でローカル コンピューターとリモート サーバーのポートが接続されているかどうかを確認する方法

以下のように表示されます。 1. ssh -v -p [ポート番号] [ユーザー名]@[IPアドレス...