Docker実践(六):容器監視
5137 ワード
前言
この2,3日容器のモニタリングの問題を研究して、配置の過程の中でネット上で基本的に成形の教程の文章が見つからないので、この文章は記録して、必要な人に助けをもたらすことを望みます.
スキーマの監視
モニタリングスキームZabbixを選択し、各コンテナ情報のモニタリングを実現するにはzabbix-docker-monitoringプラグインが必要です.
サービス・エンドの構成
ZabbixはC/Sアーキテクチャであり、サービス側は独立したホストに配置できることが望ましい.
サービス側docker-composeファイル:
コンテナ方式運転Zabbix-agent
ホストにZabbix-agentをインストールすることなく、公式のコンテナを直接実行できます.
Zabbix-agentコンテナを実行します.
コンテナの設定
コンテナ内のagentの構成変数を上書きする場合はrunの場合に
シンクホスト直接運転Zabbix-agent
容器の方式運行
1.zabbixユーザーとグループの追加
2.コンパイルインストールzabbix-agent
3.コンパイル
4.zabbix_を起動するagentd
システム管理プロセスを使用して、システムについてチェン一峰のネットワークログを参照し、
次のコマンドを実行してシステムctlにzabbix-agentdを起動する方法を通知します.
5.ロード・アイテムの構成
zabbix-agentdプロファイル
次のコマンドを実行してzabbix-agentdを起動します.
6.起動失敗分析起動に失敗した場合は、 エラー:
モニタの設定
1.ログイン管理システム
ブラウザは
操作を容易にするために、システム言語を中国語に設定できます.
2.テンプレートのインポート
注意:テンプレートには、すでに構成されているモニタリングスキームがあり、取捨選択を参照できます.
3.ホストグループの作成は、
4.ホストの作成は、 グループ選択 は、
リファレンス How To Install Zabbix on Ubuntu & Configure it to Monitor Multiple VPS Servers monitoringartist/zabbix-3.0-xxl monitoringartist/zabbix-agent-xxl-limited zabbix-docker-monitoring Dockerモニタリングスキーム の選択方法
この2,3日容器のモニタリングの問題を研究して、配置の過程の中でネット上で基本的に成形の教程の文章が見つからないので、この文章は記録して、必要な人に助けをもたらすことを望みます.
スキーマの監視
モニタリングスキームZabbixを選択し、各コンテナ情報のモニタリングを実現するにはzabbix-docker-monitoringプラグインが必要です.
サービス・エンドの構成
ZabbixはC/Sアーキテクチャであり、サービス側は独立したホストに配置できることが望ましい.
サービス側docker-composeファイル:
version: '2'
services:
zabbix:
image: monitoringartist/zabbix-xxl
ports:
- 8080:80
- 10051:10051
volumes:
- /etc/localtime:/etc/localtime:ro
depends_on:
- zabbix.db
environment:
ZS_DBHost: zabbix.db
ZS_DBUser: zabbix
ZS_DBPassword: zabbix_password
zabbix.db:
image: monitoringartist/zabbix-db-mariadb
volumes:
- /backups:/backups
- /etc/localtime:/etc/localtime:ro
volumes_from:
- zabbix-db-storage
environment:
MARIADB_USER: zabbix
MARIADB_PASS: zabbix_password
zabbix-db-storage:
image: busybox:latest
volumes:
- /var/lib/mysql
コンテナ方式運転Zabbix-agent
ホストにZabbix-agentをインストールすることなく、公式のコンテナを直接実行できます.
Zabbix-agentコンテナを実行します.
docker run \
--name=zabbix-agent-xxl \
-h $(hostname) \
-p 10050:10050 \
-v /:/rootfs \
-v /var/run:/var/run \
-e "ZA_Server=" \
-d monitoringartist/zabbix-agent-xxl-limited:latest
コンテナの設定
ZA_Server
を変更し、直接サーバipに変更します.コンテナ内のagentの構成変数を上書きする場合はrunの場合に
-e ZA_Variable=value
の方法を使用できますが、AllowRoot、LoadModulePath、LoadModule、LogTypeの構成は上書きできません.AllowRootのデフォルト値は1です.Github Issueを参照してください.シンクホスト直接運転Zabbix-agent
容器の方式運行
zabbix-agent
はdocker.xnet
データの監視をサポートしていない.docker.xnet
データを監視するには、直接ホストコンピュータでzabbix-agent
を運行し、zabbix_module_docker.so
をロードし、Github Issueを参照しなければならない.1.zabbixユーザーとグループの追加
groupadd zabbix
useradd -g zabbix zabbix
2.コンパイルインストールzabbix-agent
apt-get install -y wget autoconf automake gcc subversion make pkg-config
cd ~
mkdir zabbix32
cd zabbix32
svn co svn://svn.zabbix.com/branches/3.2 .
./bootstrap.sh
./configure --enable-agent
make install
3.コンパイル
zabbix_module_docker.so
:cd ~/zabbix32
mkdir src/modules/zabbix_module_docker
cd src/modules/zabbix_module_docker
wget https://raw.githubusercontent.com/monitoringartist/Zabbix-Docker-Monitoring/master/src/modules/zabbix_module_docker/zabbix_module_docker.c
wget https://raw.githubusercontent.com/monitoringartist/Zabbix-Docker-Monitoring/master/src/modules/zabbix_module_docker/Makefile
make
cp zabbix_module_docker.so /usr/local/lib/zabbix/agent/
4.zabbix_を起動するagentd
システム管理プロセスを使用して、システムについてチェン一峰のネットワークログを参照し、
/lib/systemd/system/zabbix-agentd.service
ファイルを作成します.[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/etc/zabbix_agentd.conf"
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/local/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
[Install]
WantedBy=multi-user.target
次のコマンドを実行してシステムctlにzabbix-agentdを起動する方法を通知します.
sudo systemctl enable zabbix-agentd.service
5.ロード・アイテムの構成
zabbix-agentdプロファイル
/usr/local/etc/zabbix_agentd.conf
の次のパラメータを変更します.Server=Zabbix-Server-IP
ServerActive=Zabbix-Server-IP
Hostname=Current-Host-Name
Timeout=30
LoadModulePath=/usr/local/lib/zabbix/agent
LoadModule=zabbix_module_docker.so
次のコマンドを実行してzabbix-agentdを起動します.
systemctl start zabbix-agentd.service
6.起動失敗分析
/tmp/zabbix_agentd.log
ファイルを表示します.存在しない場合は、手動で作成できます.所属するユーザーはzabbix:zabbix
です.zabbix_agentd [xxxxx]: cannot attach to existing shared memory: [13] Permission denied
cannot allocate shared memory for collector
はzabbix_module_docker.so
のコンパイルエラーであり、再コンパイルすればよい.モニタの設定
1.ログイン管理システム
ブラウザは
http://ZabbixServerIP:Port
にアクセスし、zabbixサーバのweb管理インタフェースが表示されます.デフォルトのログインアカウントはAdmin/zabbix
です(Adminの頭文字大文字に注意).操作を容易にするために、システム言語を中国語に設定できます.
2.テンプレートのインポート
>
にモニタテンプレートを導入:zabbix-template-app-docker.xml. 注意:テンプレートには、すでに構成されているモニタリングスキームがあり、取捨選択を参照できます.
3.ホストグループの作成
>
にホストグループを作成し、Docker Servers
と命名した.4.ホストの作成
>
内にホストを作成します.Docker Servers
.agent
監視するagent ipを記入します.
タブで、手順2でインポートしたテンプレートを選択し、更新を追加します. >
において監視データを表示する.リファレンス