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 つの方法

推薦する

ポートマッピング後に Docker コンテナが突然接続に失敗する問題のトラブルシューティング プロセス

1. 背景通常、外部サービスを提供する必要がある Docker コンテナの場合、起動時に -p コマ...

Linux でのプロセスデーモン スーパーバイザーのインストール、構成、および使用

Supervisor は非常に優れたデーモン管理ツールです。自動起動、ログ出力、自動ログカットなど、...

MySQLでバッチを更新するいくつかの方法

通常、フィールド値を更新するには次の SQL ステートメントを使用します。 mytable を更新し...

背景のグラデーションと自動フルスクリーンを実現するCSSコード

背景グラデーションと自動フルスクリーンに関する CSS の問題編集長は CSS の開発中に致命的な問...

ソフトウェア 404 と 404 エラーとは何か、またそれらの違いは何ですか

まず、404 とソフト 404 とは何でしょうか? 404: 簡単に言えば、ユーザーが存在しないペー...

CSS コンテンツ属性を使用して、マウスホバープロンプト (ツールチップ) 効果を実現します。

なぜこのような効果を実現するのでしょうか。実は、この効果もタイトルプロンプトから派生したものですが、...

Docker 上で Redis クラスターを構築する

目次1. イメージをプルする2. Redisコンテナを作成する3. コンテナを起動するためにクラスタ...

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

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

MySQLデータベースホスト127.0.0.1とlocalhostの違い

私の友人の多くは、127.0.0.1 と localhost の違いがわからず、問題に遭遇するかもし...

mysql 8.0.15 winx64 解凍バージョン グラフィック インストール チュートリアル

システムをインストールした後、毎回いくつかのソフトウェアを再インストールする必要があります。ソフトウ...

Vueはシンプルな画像切り替え効果を実装します

この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。 コー...

MySQLリモート接続権限の詳細な説明

1. MySQLデータベースにログインするmysql -u ルート -pユーザーテーブルを表示する ...

Linux でのマルチスレッドにおけるフォークの紹介

目次質問:ケース(1)子スレッドを作成する前にフォークするケース(2)子スレッドを作成した後にフォー...

Linux で LVGL エミュレータをコンパイルする際のエラーの解決方法

目次1. エラー現象2. エラー分析3. エラー解決1. エラー現象仮想マシンでLVGLエミュレータ...