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

推薦する

CSS 兄弟要素フローティング分析の概要

float:左/右/なし; 1. 同じレベルフローティング(1)ブロックレベル要素を同じ行に表示する...

Vueはパーセンテージバー効果を実現します

この記事では、パーセンテージバーを実現するためのVueの具体的なコードを参考までに共有します。具体的...

MySQL での挿入効率のいくつかの例の比較

序文最近、仕事の都合で、約 1000w の大量のデータを MySQL に挿入する必要があり、時間がか...

テーブル関連の配置とJavascript操作テーブル、tr、td

適切に機能するテーブル プロパティ設定:コードをコピーコードは次のとおりです。 <テーブル セ...

MySQLトリガーの使用と理解

目次1. トリガーとは何ですか? 2. トリガーを作成するトリガーを作成するための構文は次のとおりで...

ローカルアイデアアクティベーションサーバーの構築に関する詳細なチュートリアル

序文ブロガーはアイデアIDEを使用しています。アイデア公式が最近サードパーティのアクティベーションサ...

ウェブサイトに最も必要なのは、ターゲットユーザーグループのエクスペリエンスを向上させることです。

「大河は東に流れ、波は歴代の英雄たちを洗い流した。古城の西側は三国時代の周朗の赤壁だと言われている...

Vue ベースの Excel 解析とエクスポートの詳細な説明

目次序文基本的な紹介コードの実装基本構造アップロード分析Excel にエクスポート基本構造Excel...

Tomcatの自動シャットダウンに関するバグ修正

序文最近、4 年間実行されている Java EE Web プロジェクトでは、システムが開けないという...

MySQL フラッシュバック ツール binlog2sql の詳細なインストールと設定のチュートリアル

概要binlog2sql は、Python で開発されたオープンソースの MySQL Binlog ...

AWS無料サーバーアプリケーションとネットワークプロキシ設定チュートリアルの詳細な説明

目次予防必要条件AWSアカウントを申請する仮想マシンの申請と有効化仮想マシンを申請するセキュリティグ...

Docker で複数のアプリケーション サイトをプロキシするために Nginx を使用する方法

序文エージェントの役割は何ですか? - 複数のドメイン名が同じサーバーに解決される- 1つのサーバー...

Docker で Maven プロジェクトをより速くビルドする

目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....

MySQL の自動増分主キーが使い果たされた場合の対処方法

面接では、次のようなシナリオを経験する必要があります。インタビュアー: 「MySQL を使用したこと...

Vue+Elementでページング効果を実現

この記事の例では、ページング効果を実現するためのvue+Elementの具体的なコードを参考までに共...