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

推薦する

ウェブページサイズに関する調査

<br />統計によると、Web ページの平均サイズは 2003 年以降 3 倍に増加し...

Linux での grep コマンドの使い方の詳細な説明

1. 公式紹介grep は Linux でよく使用されるコマンドです。これは、ファイルやテキストに対...

HTML フォームタグチュートリアル (5): テキストフィールドタグ

<br />このタグは、さらにテキストを入力できる複数行のテキスト フィールドを作成する...

win10 で mysql8.0.23 をインストールし、「サービスが制御機能に応答しません」という問題を解決する方法

Windows10にmysqlをインストールする1. 公式サイトからMySQLをダウンロードするウェ...

CSS クラスと ID の一般的な命名規則

ページの公開名: #wrapper - ページの外側の端が全体のレイアウト幅を制御します#conta...

Nginx での Frp による https への強制リダイレクト設定の詳細な説明

自宅のルーターが300Mの帯域幅を80Mに強制的に減らしたため、3205Uソフトルーターを購入しまし...

MySQLのファジークエリのような遅い速度を解決する方法

質問: インデックスは作成されているのに、Like ファジー クエリがまだ遅いのはなぜですか?インデ...

Homebrewを使用してMacにMySQLをインストールするときにログインできない問題を解決する

お使いのコンピュータが Mac の場合、homebrew を使用して MySQL をインストールする...

mysql8.0.19 の基本データ型の詳細な説明

MySQL 基本データ型一般的な MySQL データ型の概要 ![1036857-201708011...

Mysql SQL ステートメントのコメント

MySQL SQL ステートメントにコメントを追加できます。MySQL SQL ステートメントのコメ...

js でパズルゲームを実装する

この記事では、パズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容は...

Vue はボタンをクリックしてファイルをダウンロードする操作コードを実装します (バックエンド Java)

前回の記事では、ボタンをクリックしてファイルをダウンロードするVueの機能を紹介しました。今日は、ボ...

Linux アカウントのパスワードを変更する詳細な例

個人アカウントのパスワードを変更する一般ユーザーが個人アカウントのパスワードを変更する場合は、他のコ...

JavaScript オブジェクトの 3 つのプロパティ

目次1. 書き込み可能: 書き込み可能2. 列挙可能: 列挙可能3. 設定可能: 設定可能オブジェク...

WeChat アプレット wxss で外部 CSS ファイルとアイコンフォントを参照する方法

原因外部ファイルをミニプログラムにインポートする方法は次のとおりです: @import "...