Zabbix 監視 Docker アプリケーション構成

Zabbix 監視 Docker アプリケーション構成

コンテナの応用はますます一般的になっていますが、大量のコンテナをどのように管理すればよいのでしょうか?もちろん監視されています!

今日の記事は、Zabbix を使用して Docker コンテナを監視する方法について説明します。

Zabbix で監視される Docker の原理について:

  • Agent2はDocker APIを呼び出してデータを取得することでDockerを監視します。
  • プラグインディレクトリはzabbix-agent2/src/go/plugins/dockerに保存されます。
  • client.go ファイルは、Docker クライアントとサーバー間の通信に Unix ソケット アドレスを使用する方法を定義します。
  • デフォルトのソケットの場所は/var/run/docker.sockです。

zabbix で監視される dokekr の展開は、大きく分けて 5 つの部分に分かれます。

1. zabbix-agent2をダウンロードする

  • 監視対象ホストに zabbix-agent2 をインストールします。注意:これは agent ではなく agent2 です。
  • zabbix-agent2のバージョンはサーバーのバージョンと一致している必要があります
https://repo.zabbix.com/zabbix/5.2/rhel/7/x86_64/zabbix-agent2-5.2.7-1.el7.x86_64.rpm を取得します。
rpm -ivh zabbix-agent2-5.2.7-1.el7.x86_64.rpm

2. 設定ファイルを変更し、基本設定を設定します。

zabbix_agent2.conf を vim で編集します。
サーバー=192.168.1.4
ServerActive=192.168.1.4 #アクティブデータプッシュモードを開始 Hostname=192.168.1.5

3. zabbix ユーザーを docker グループに追加します。これは非常に重要なので無視しないでください。

zabbix-agent2をインストールすると、デフォルトでユーザーzabbixが作成されます。

IDザビックス
uid=997(zabbix) gid=995(zabbix) グループ=995(zabbix)

docker データを取得するには、/var/run/docker.sock ソケットにアクセスできる必要があります。

ll /var/run/docker.sock 
srw-rw---- 1 ルート docker 0 7月 7日 09:09 /var/run/docker.sock

root ユーザーに加えて、docker グループにも読み取りおよび書き込み権限があることがわかるので、zabbix ユーザーを docker グループに追加します。

ユーザーmod -aG docker zabbix
IDザビックス
uid=997(zabbix) gid=995(zabbix) グループ=995(zabbix),994(docker)

4. zabbix-agent2サービスを実行する

systemctl zabbix-agent2 を起動します。
systemctl zabbix-agent2 を有効にする

5. Webページで設定する

  • この実験では、クライアントはホスト192.168.1.5使用します。
  • 手順: [構成] - [ホスト] をクリック - [192.168.1.5 ホスト] をクリック - テンプレート - [新しいテンプレートのリンク] を選択 - [ホスト グループ] - テンプレート - [Docker] を選択 - [更新] をクリック

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

アップデート後、配置——主機の監視項目にdockerがあることがわかります。

ここに画像の説明を挿入

しばらくすると、監視対象のDocker情報が監測——最新數據で確認できるようになります。

ここに画像の説明を挿入

この時点でweb01のdockerコンテナを実行します

docker run -d -p 80:80 --name web01 nginx:1.16.1
ドッカーps
コンテナID イメージ コマンド 作成ステータス ポート名
17095d63ed44 nginx:1.16.1 "nginx -g 'daemon of..." 20 分前 20 分前に起動 0.0.0.0:80->80/tcp, :::80->80/tcp web01

しばらくすると、zabbixがweb01コンテナに関するdockerコンテナの内容を検出していることがわかります。

ここに画像の説明を挿入

この記事で使用されているテンプレートは組み込みテンプレートです。これで、Zabbix 監視 Docker に関するコンテンツは完了です。

Zabbix 監視 Docker アプリケーション構成に関するこの記事はこれで終わりです。関連する Zabbix 監視 Docker コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • docker で zabbix_agent をデプロイする方法
  • Dockerfile をベースに Zabbix 監視システムのコード例を作成する
  • Dockerを使用してZabbixをインストールし、カスタム監視項目を構成するプロセスの詳細な説明

<<:  インデックススキャンを使用したMySQLソート

>>:  CSS を使用して固定左列と適応右列の 2 列レイアウトを実現する 4 つの方法

推薦する

crontab 実行時間とシステム時間の不一致の解決方法

序文LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | gre...

スネークゲームのアイデアを実現するためのJavaScript

JavaScriptゲームSnakeの実装アイデア(完全なコード実装)を参考までに説明します。具体...

MySQL はどのようにしてマスターとスレーブの同期を実現するのでしょうか?

マスタースレーブ同期 (マスタースレーブレプリケーションとも呼ばれる) は、マスタースレーブデータの...

Vueはページキャッシュ機能を実装する

この記事の例では、ページキャッシュ機能を実装するためのVueの具体的なコードを参考までに共有していま...

MacOS での MySQL 8.0.18 のインストールと設定方法のグラフィック チュートリアル

この記事では、MacOSでのMySQL 8.0.18のインストールと成功したコマンドライン操作を記録...

Node+Express テストサーバーのパフォーマンス

目次1 テスト環境1.1 サーバーハードウェア1.1.1 t2.マイクロ1.1.2 c5.large...

オンラインMySQL自動増分IDが使い果たされた場合の対処方法

目次テーブル定義の自動増分 ID InnoDBシステムはrow_idを自動的に増加させるシドInno...

Webデザインの経験: Webコードを効率的に書く

本来、この第 7 章では、デザインにおけるレイヤーと空間テクニックについて深く議論するはずです。しか...

HTMLで細い線のテーブルを作成する簡単な例

この細線の表を作成する方法については、Baidu で検索すると、表に対して border="...

Linux の chown コマンドと chmod コマンドの違いの詳細な説明

Linux システムでは、chmod コマンドと chown コマンドの両方を使用して権限を設定でき...

CSSの幅と高さのデフォルト値の詳細な説明:autoと%

結論は幅の%: 包含ブロック(親要素)の幅に基づいて、親の制限を超える幅のパーセンテージを定義します...

Javascriptでシンプルなナビゲーションバーを実装

この記事では、参考までに、シンプルなナビゲーションバーを実装するためのJavascriptの具体的な...

nginxリバースプロキシのyum設定の詳細な手順

パート0 背景社内のイントラネットサーバーは直接インターネットにアクセスすることはできませんが、外部...

js配列の基本的な使い方のまとめ

序文配列は特別な種類のオブジェクトです。 js には実際の配列はなく、オブジェクトを使用して配列をシ...

docker-swarm をベースにした継続的インテグレーション クラスタ サービスの構築の詳細な説明

序文この記事は私自身の製作過程の簡単な記録です。練習中に質問があれば、一緒に話し合うことができます。...