Zabbixサーバの設定変更
Zabbixエージェント起動時に自動登録するようにします。
Zabbixサーバの設定変更は、下記ページが参考になります。
http://junkbox.wicurio.com/index.php?Zabbix3%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%AE%E8%87%AA%E5%8B%95%E7%99%BB%E9%8C%B2
[ホストメタデータ]に "linux" を含む場合は、"LinuxServersグループ"に所属させ、"Template OS Linux" を適用するようにします。
Zabbixエージェントの設定変更
Zabbixエージェントの設定は、"/etc/zabbix/zabbix_agentd.conf"に記載されています。
DockerHubのZabbixエージェントの場合は、コンテナ作成時に指定する環境変数で zabbix_agnet.conf を変更できます。
詳細は、下記参照
https://hub.docker.com/r/zabbix/zabbix-agent/
今回は、docker-compose.yml を修正して、Zabbixエージェント起動時に自動登録するように設定します。
ホストメタデータ(ZBX_METADATA)には、上記の「Zabbixサーバ設定変更」にあわせて "linux" を設定します。
agent: image: zabbix/zabbix-agent:alpine-latest volumes: - /etc/localtime:/etc/localtime:ro environment: ZBX_SERVER_HOST: zabbix_server_1 ZBX_HOSTNAMEITEM: system.hostname ZBX_METADATA: linux ports: - "10050:10050" depends_on: - server privileged: true
動作確認
コンテナの状態を確認します。
[root@centos0702 zabbix]# docker-compose ps Name Command State Ports -------------------------------------------------------------------------------------------- zabbix_agent_1 /bin/bash /run_zabbix_comp ... Up 0.0.0.0:10050->10050/tcp zabbix_db_1 docker-entrypoint.sh mysql ... Up 0.0.0.0:3306->3306/tcp zabbix_server_1 /bin/bash /run_zabbix_comp ... Up 0.0.0.0:10051->10051/tcp, 162/udp zabbix_web_1 /bin/bash /run_zabbix_comp ... Up 443/tcp, 0.0.0.0:80->80/tcp
agent のコンテナを再構築して、自動登録の設定を有効にします。
[root@centos0702 zabbix]# docker-compose up -d --no-deps agent Recreating zabbix_agent_1
ログで設定変更を確認します。
[root@centos0702 zabbix]# docker-compose logs agent Attaching to zabbix_agent_1 agent_1 | ** Deploying Zabbix agentd with none database agent_1 | ** Preparing the system agent_1 | ** Preparing Zabbix agent agent_1 | ** Preparing Zabbix agent configuration file agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "PidFile": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "LogType": 'console'... added agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "LogFile": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "LogFileSize": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "DebugLevel": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "SourceIP": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "EnableRemoteCommands": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "LogRemoteCommands": ''... removed agent_1 | ** Using 'zabbix_server_1' servers for passive checks agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "Server": 'zabbix_server_1'... updated agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "ListenPort": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "ListenIP": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "StartAgents": ''... removed agent_1 | ** Using 'zabbix_server_1:10051' servers for active checks agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "ServerActive": 'zabbix_server_1:10051'... updated agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "Hostname": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "HostnameItem": 'system.hostname'... added agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "HostMetadata": 'linux'... added agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "HostMetadataItem": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "RefreshActiveChecks": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "BufferSend": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "BufferSize": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "MaxLinesPerSecond": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "Timeout": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "Include": '/etc/zabbix/zabbix_agentd.d/'... added first occurrence agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "UnsafeUserParameters": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "LoadModulePath": '/var/lib/zabbix/modules/'... added agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "TLSConnect": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "TLSAccept": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "TLSCAFile": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "TLSCRLFile": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "TLSServerCertIssuer": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "TLSServerCertSubject": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "TLSCertFile": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "TLSKeyFile": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "TLSPSKIdentity": ''... removed agent_1 | ** Updating '/etc/zabbix/zabbix_agentd.conf' parameter "TLSPSKFile": ''... removed agent_1 | ** Cleaning the system agent_1 | ######################################################## agent_1 | ** Executing supervisord agent_1 | 2017-01-30 10:56:42,545 CRIT Set uid to user 0 agent_1 | 2017-01-30 10:56:42,545 CRIT Set uid to user 0 agent_1 | 2017-01-30 10:56:42,545 WARN Included extra file "/etc/supervisor/conf.d/supervisord_zabbix.conf" during parsing agent_1 | 2017-01-30 10:56:42,545 WARN Included extra file "/etc/supervisor/conf.d/supervisord_zabbix.conf" during parsing agent_1 | 2017-01-30 10:56:42,558 INFO RPC interface 'supervisor' initialized agent_1 | 2017-01-30 10:56:42,558 INFO RPC interface 'supervisor' initialized agent_1 | 2017-01-30 10:56:42,559 INFO supervisord started with pid 1 agent_1 | 2017-01-30 10:56:42,559 INFO supervisord started with pid 1 agent_1 | 2017-01-30 10:56:43,594 INFO spawned: 'zabbix-agentd' with pid 55 agent_1 | 2017-01-30 10:56:43,594 INFO spawned: 'zabbix-agentd' with pid 55 agent_1 | Starting Zabbix Agent [b23ca4da2c2a]. Zabbix 3.2.3 (revision 64610). agent_1 | Press Ctrl+C to exit. agent_1 | 55:20170130:105643.616 Starting Zabbix Agent [b23ca4da2c2a]. Zabbix 3.2.3 (revision 64610). agent_1 | 55:20170130:105643.616 **** Enabled features **** agent_1 | 55:20170130:105643.616 IPv6 support: YES agent_1 | 55:20170130:105643.616 TLS support: YES agent_1 | 55:20170130:105643.616 ************************** agent_1 | 55:20170130:105643.616 using configuration file: /etc/zabbix/zabbix_agentd.conf agent_1 | 55:20170130:105643.616 agent #0 started [main process] agent_1 | 56:20170130:105643.616 agent #1 started [collector] agent_1 | 57:20170130:105643.617 agent #2 started [listener #1] agent_1 | 58:20170130:105643.620 agent #3 started [listener #2] agent_1 | 59:20170130:105643.624 agent #4 started [listener #3] agent_1 | 60:20170130:105643.626 agent #5 started [active checks #1] agent_1 | 60:20170130:105643.819 no active checks on server [zabbix_server_1:10051]: host [b23ca4da2c2a] not found agent_1 | 2017-01-30 10:56:44,821 INFO success: zabbix-agentd entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) agent_1 | 2017-01-30 10:56:44,821 INFO success: zabbix-agentd entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
画面で確認します。
[設定] > [ホスト] を見ると、コンテナが登録されています。