Docker が zabbix サービスを構築
ザビックスの紹介
Zabbix (ゼビックスと発音) は、WEB インターフェースに基づく分散型システム監視およびネットワーク監視機能を提供するエンタープライズ レベルのオープン ソース ソリューションです。
Zabbix は、さまざまなネットワーク パラメータを監視して、サーバー システムの安全な運用を保証し、柔軟な通知メカニズムを提供して、システム管理者がさまざまな問題を迅速に特定/解決できるようにします。
エンタープライズ レベルの分散監視システムとして、Zabbix には次のような多くの利点があります: 分散監視、ノードおよびプロキシ分散モードのサポート、自動登録、ルールに従って、ホストを監視プラットフォームに自動的に登録、監視テンプレートを自動的に追加、サポートagentd、snmp、ipmi、jmxなど通信手段はたくさんあります。ただし、zabbix一式を導入するには、データベース、Webサーバー、zabbix-server、zabbix-agentをインストールする必要があり、これらのサービスの処理は複雑で、注意を怠ると間違いを犯す可能性がありますので、今日、docker コンテナーを使用してセットを構築しました。zabbix サービスは、構築が高速なだけでなく、エラーが発生しにくくなっています。この記事は、docker を理解している友人に適しています。
1. 今回はzabbixのミラー版をインストール
mysql:8.0.28
zabbix/zabbix-server-mysql:alpine-6.0.6
zabbix/zabbix-web-nginx-mysql:alpine-6.0.6
zabbix/zabbix-agent2
zabbix/zabbix-snmptraps:alpine-6.0.6
ダウンロードミラー
docker pull mysql:8.0.28
次の画像は類推してダウンロードされます。
2.zabbix コンポーネント
以下は、Docker を介して Zabbix6.0 コンテナー化されたクラスターを迅速に作成するためのコンポーネントです。
2.1 サブネットを作成する
Zabbix サービスを作成する前に、新しい Zabbix コンポーネントの仮想サブネットを作成する必要があります。相互アクセスを容易にするために、後続の zabbix-server、mysql、web、およびその他のコンテナーをこのネットワークに追加する必要があります。ターミナルで次のコマンドを使用して作成します。
docker network create --subnet 172.17.0.0/16 --ip-range 172.17.200.0/24 zabbix-net
IP範囲を設定せずにネットワークを直接作成することもできます
docker network create -d bridge zabbix-net
2.2 MySQL容器
Zabbix バックエンド データベースとして MySQL8.0.28 を選択します。(固定IPを設定せずにIPアドレスを削除できます)
docker run --name zabbix-mysql -t -e MYSQL_DATABASE=“zabbix” -e
MYSQL_USER=“zabbix” -e MYSQL_PASSWORD=“zabbix” -e MYSQL_ROOT_PASSWORD=“root123” -e
TZ=“アジア/上海” -e ZBX_DBTLSCONNECT =「必須」 --network=zabbix-net –
ip=172.17.201.1 --restart=always --privileged=true -d mysql:8.0.28 --characterset-server=utf8
–collation-server=utf8_bin
2.3 zabbix-server-mysql コンテナ
docker run --name zabbix-server-mysql -t -e DB_SERVER_HOST=“zabbix-mysql” -e MYSQL_DATABASE=“zabbix” -e MYSQL_USER=“zabbix” -e MYSQL_PASSWORD=“zabbix” -e MYSQL_ROOT_PASSWORD=“root123” - e TZ=“Asia/Shanghai” --network=zabbix-net --ip=172.17.201.3 -p 10051:10051 --restart=always --privileged=true -d zabbix/zabbix-server-mysql:alpine-6.0 .6
2.4 zabbix-web-nginx-mysql コンテナ
docker run --name zabbix-web-nginx-mysql -t -e ZBX_SERVER_HOST=“zabbix-server-mysql” -e DB_SERVER_HOST=“zabbix-mysql” -e MYSQL_DATABASE=“zabbix” -e MYSQL_USER=“zabbix” -e MYSQL_PASSWORD=“zabbix” -e MYSQL_ROOT_PASSWORD=“root123” -e TZ=“アジア/上海” -e PHP_TZ=“アジア/上海” --network=zabbix-net --ip=172.17.201.4 -p 8081:8080 - -restart=常に --privileged=true -d zabbix/zabbix-web-nginx-mysql:alpine-6.0.6
2.5 zabbix-agent2 コンテナ
docker run --name zabbix-agent-2 -e ZBX_SERVER_HOST=“zabbix-server-mysql” -e ZBX_HOSTNAME=“Zabbix サーバー” -e TZ=“アジア/上海” --network=zabbix-net --ip=172.17 .201.5 -p 10050:10050 --restart=always --privileged=true -d zabbix/zabbix-agent2
2.6 zabbix-snmptraps コンテナ
docker run --name zabbix-snmptraps -e ZBX_SERVER_HOST=“zabbix-server-mysql” -e ZBX_HOSTNAME=“Zabbix サーバー” -e TZ=“アジア/上海” --network=zabbix-net --ip=172.17.201.15 -p 161:161 --restart=always --privileged=true -d zabbix/zabbix-snmptraps:alpine-6.0.6
3.Zabbix アクセス
ブラウザに http://ip:8081 と入力して zabbix ホームページを開きます。ユーザー名とパスワードは Admin/zabbix です。
3.1 中国語フォントの修正
zabbix は複数の言語をサポートしているため、下図に従って zabbix 言語を変更できます。