docker で zabbix_agent をデプロイする方法

docker で zabbix_agent をデプロイする方法

zabbix_agent のデプロイメント:

推奨事項: zabbix_agent は docker-compose を使用して個別にデプロイされます

起動方法:

1. 実行モードで起動する

docker run --rm --network zabbix --name zabbix_agent --link zabbix_server:zabbix-server -e ZBX_HOSTNAME="mythird" -e ZBX_SERVER_PORT="10051" -e ZBX_SERVER_HOST="172.22.0.3" -p 3998:10050 -d zabbix/zabbix-agent:alpine-3.0-latest

2. docker-compose.yml

ディレクトリ構造:

[root@コンテナ1 zabbix_agent]# cat etc/env_agent 
ZBX_SERVER_HOST=172.22.0.3
ZBX_SERVER_PORT=10051
ZBX_HOSTNAME=kgtest
ZBX_LISTENPORT=3050
ZBX_LOGTYPE=ファイル
ZBX_LOGFILE=/tmp/zabbix_agentd.log

a. zabbix_server/zabbix_proxyと同じdocker-compose.ymlにデプロイする場合、唯一の違いはリンクの設定であり、servicename: zabbixの名前の形式です。

  zabbix_エージェント:
    イメージ: zabbix/zabbix-agent:alpine-3.0-latest
    コンテナ名: zabbix_agent
    ポート:
     - 「10050:10050」
    環境:
     ZBX_HOSTNAME: kg
    ボリューム:
     - /etc/localtime:/etc/localtime:ro
    リンク:
     - zabbix_server:zabbixサーバー
    ユーザー: ルート
    特権: true
    再起動: 常に
    ネットワーク:
     - ザビックス

b. 単一展開:

A. Dockerブリッジモード:同じマシン上にある場合は、zabbix_server/zabbix_proxyと同じネットワークを使用する必要があります。

[root@container1 zabbix_agent]# cat docker-compose.yml 
バージョン: "3"
サービス:
  zabbix_エージェント:
    イメージ: zabbix/zabbix-agent:alpine-3.0-latest
    コンテナ名: zabbix_agent3
    ポート:
     - 「3999:3050」
    環境変数:
     - ./etc/env_agent
    ボリューム:
     - /etc/localtime:/etc/localtime:ro
     - ./etc/docker-entrypoint.sh:/usr/bin/docker-entrypoint.sh:ro   
     zabbix_agentd ディレクトリに、以下のディレクトリを作成します。  
     - ./scripts:/data/zabbix/scripts
     - ./ログ:/tmp
    ユーザー: ルート
    特権: true
    再起動: 常に
    ネットワーク:
     - ザビックス
ネットワーク:
  ザビックス:
    外部: 真

B. dockerのホストモードを使用してTCP接続の数を監視する

注: ホスト モードを使用する場合は、ファイアウォール内のローカル マシン上で zabbix_agent がマップするポートを開く必要があります。

[root@kg zabbix_agent]# cat docker-compose.yml 
バージョン: "3"
サービス:
  zabbix_エージェント:
    イメージ: zabbix/zabbix-agent:alpine-3.0-latest
    コンテナ名: zabbix_agent
    ポート:
     - 「3050:3050」
    環境変数:
     - ./etc/env_agent
    ボリューム:
     - /etc/localtime:/etc/localtime:ro
     - ./etc/docker-entrypoint.sh:/usr/bin/docker-entrypoint.sh:ro
     zabbix_agentd ディレクトリに、以下のディレクトリを作成します。
     - ./scripts:/data/zabbix/scripts
     - ./ログ:/tmp
    ユーザー: ルート
    特権: true
    再起動: 常に
    #TCP接続監視を実装するには、ホストネットワークモードnetwork_mode: hostを使用する必要があります

zabbix_agent が正常に動作しているかどうかを確認します。

まず、zabbix_agent を起動した後、サーバー/プロキシ コンテナーでエージェントにアクセスできるかどうかをテストします。

Web インターフェース設定:

a. エージェントが自動的に検出されない場合は、エージェント ホストを手動で追加する必要があります。

エージェントとサーバー/プロキシが同じマシン上にある場合、IP アドレスは Docker によって割り当てられたイントラネット IP アドレスである必要があり、ポートはローカル マシンにマップされたポートではなく、コンテナー内のポートです。

b. エージェントマシンを自動的に検出するように設定する

注意: ホスト グループに追加するように設定する場合は、まずホスト グループを作成する必要があります。

起こりうる問題:

1. エラー: temporarily disabling Zabbix agent checks on host "kgtest": host unavailable

解決:

a. ブリッジ モードの場合は、エージェントの ZBX_HOSTNAME がホスト構成のホスト名と同じかどうかを確認してください。

b. ホスト モードの場合は、ファイアウォールがローカル ポートへのエージェント マッピングを開いているかどうかを確認してください。テスト: telnet ローカル IP ポート

2. エラー: Received empty response from Zabbix Agent at [192.168.5.114]. Assuming that agent dropped connection because of access permissions.

そのうち、192.168.5.114はエージェントの外部/イントラネットIPです。

理由:

a. zabbix_proxy プロキシを使用する: エージェントの ZBX_SERVER_HOST は zabbix_proxy の IP (172.22.0.6) に設定されていますが、Web インターフェイスのホスト構成ではエージェントが選択されていません。

解決:

指定されたエージェントプログラムを使用するには選択してください

b. zabbix_server に直接接続します。

A. エージェントの ZBX_SERVER_HOST は、zabbix_server IP (172.22.0.3) ではなく 127.0.0.1 に設定されています。

解決:

エージェントのZBX_SERVER_HOSTをzabbix_serverのIPアドレスに設定します。

B. zabbix_agent のログにエラーが報告されます: 172.20.0.6 からのメッセージにヘッダーがありません。メッセージは無視されました。

理由: これは、zabbix_agent と zabbix_server のバージョンが異なり、互換性がないためです。zabbix_agent は新しいバージョンを使用しますが、zabbix_server は古いバージョンを使用します。

解決策: zabbix_agentとzabbix_serverのバージョンを確認する

3. 中国語インターフェースで自動検出を実行すると、次のエラー メッセージが表示されます。

英語版インターフェースに切り替えた後は、操作に問題はありません

zabbix_server の mysql の character_set_server のエンコード形式を変更する必要があります。 mysql のオンライン操作では問題を解決できないことがわかりました。zabbix_server の mysql サービス起動スクリプトを変更する必要があります。解決策については、私の別の記事「Docker デプロイメント zabbix_server」を参照してください。

docker で zabbix_agent をデプロイする手順についてはこれで終わりです。docker で zabbix_agent をデプロイする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

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

<<:  NavicatがMySQL8.0.11に接続するとエラー2059が発生する

>>:  Vue ページ印刷で自動ページングを実装する 2 つの方法

推薦する

JavaScript parseInt() と Number() の違いのケーススタディ

学習目標: parseInt() と Number() という 2 つの関数は、文字列をデータ型に変...

Nginx 設定ファイルの詳細な説明と最適化の提案ガイド

目次1. 概要2. nginx.conf 1) 設定ファイルの場所2) ワーカープロセス3) イベン...

CSS のインライン スタイルに変換するソリューション (css-inline)

シーンについて話すメールを送信サードパーティのウェブサイトにHTMLを埋め込む他の編集者の記事をコピ...

Vue で axios を使用して画像をアップロードするときに発生する問題

目次FormDataとは何ですか? vueとaxiosの協力による実践的な体験追加()セット()消去...

MySQL データベースのインストールと Navicat for MySQL の使用に関するチュートリアル

MySQL は、スウェーデンの会社 MySQL AB によって開発され、現在は Oracle が所有...

CSSレイアウトにおけるフロート属性と位置属性の違い

CSS レイアウト - position プロパティposition 属性は、要素に適用する配置方法...

Elementのメッセージポップアップウィンドウが繰り返しポップアップする問題の解決

目次1. 使用2. メッセージポップアップウィンドウが繰り返し表示される問題を解決する1. 使用Vu...

MySQL テーブルの読み取り、書き込み、インデックス作成、その他の操作の SQL ステートメントの効率最適化の問題を分析します。

前回は、Explain 実行プランの表示、インデックスの分析など、MySQL での SQL クエリの...

CocosCreatorプロジェクト構造の仕組みの詳細な説明

目次1. プロジェクトフォルダ構造1. アセットフォルダ2. 図書館3. ローカル設定(ローカル) ...

VueはOSSを使用して画像や添付ファイルをアップロードします

OSS を使用して Vue プロジェクトに画像や添付ファイルをアップロードするここでは、写真のアップ...

Maven で tomcat8-maven-plugin プラグインを使用する詳細なチュートリアル

オンラインで多くの記事を検索しましたが、解決策は見つかりませんでした。次のように、tomcat7-m...

CentOS 8 インストール図 (超詳細なチュートリアル)

CentOS 8 が正式にリリースされました! CentOS は Red Hat の再配布ポリシー...

MySQL ファントムリードとその排除方法の詳細な説明

目次トランザクション分離レベルファントムリーディングとは何ですか?ファントムリードを排除する方法要約...

CentOS8.0ネットワーク設定の実装

1. CentOS 7 と CentOS 8 のネットワーク構成の違い: VMware Workst...