溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用docker如何部署zabbix_agent

發(fā)布時(shí)間:2020-10-26 14:36:07 來源:億速云 閱讀:1172 作者:Leah 欄目:開發(fā)技術(shù)

使用docker如何部署zabbix_agent?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

zabbix_agent部署:

建議:zabbix_agent使用docker-compose方式單獨(dú)部署

使用docker如何部署zabbix_agent

啟動(dòng)方式:

1、run方式啟動(dòng)

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

目錄結(jié)構(gòu):

使用docker如何部署zabbix_agent

[root@container1 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=file
ZBX_LOGFILE=/tmp/zabbix_agentd.log

a、與zabbix_server/zabbix_proxy部署在同一個(gè)docker-compose.yml時(shí),唯一的區(qū)別是:links的設(shè)置,其格式:servicename: name of zabbix

  zabbix_agent:
    image: zabbix/zabbix-agent:alpine-3.0-latest
    container_name: zabbix_agent
    ports:
     - "10050:10050"
    environment:
     ZBX_HOSTNAME: kg
    volumes:
     - /etc/localtime:/etc/localtime:ro
    links:
     - zabbix_server:zabbix-server
    user: root
    privileged: true
    restart: always
    networks:
     - zabbix

b、單獨(dú)部署:

A、docker的bridge模式:如果是在同一個(gè)機(jī)器上,需要使用和zabbix_server/zabbix_proxy相同的網(wǎng)絡(luò)

[root@container1 zabbix_agent]# cat docker-compose.yml 
version: "3"
services:
  zabbix_agent:
    image: zabbix/zabbix-agent:alpine-3.0-latest
    container_name: zabbix_agent3
    ports:
     - "3999:3050"
    env_file:
     - ./etc/env_agent
    volumes:
     - /etc/localtime:/etc/localtime:ro
     - ./etc/docker-entrypoint.sh:/usr/bin/docker-entrypoint.sh:ro   
     - ./etc/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d  
     - ./scripts:/data/zabbix/scripts
     - ./logs:/tmp
    user: root
    privileged: true
    restart: always
    networks:
     - zabbix
networks:
  zabbix:
    external: true

B、使用docker的host模式:為了監(jiān)控tcp連接數(shù)

注意:使用host模式時(shí),一定要需在防火墻中開放zabbix_agent映射在本機(jī)的端口

[root@kg zabbix_agent]# cat docker-compose.yml 
version: "3"
services:
  zabbix_agent:
    image: zabbix/zabbix-agent:alpine-3.0-latest
    container_name: zabbix_agent
    ports:
     - "3050:3050"
    env_file:
     - ./etc/env_agent
    volumes:
     - /etc/localtime:/etc/localtime:ro
     - ./etc/docker-entrypoint.sh:/usr/bin/docker-entrypoint.sh:ro
     - ./etc/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d
     - ./scripts:/data/zabbix/scripts
     - ./logs:/tmp
    user: root
    privileged: true
    restart: always
    #為了實(shí)現(xiàn)tcp連接監(jiān)控,需要使用host網(wǎng)絡(luò)模式
    network_mode: host

使用docker如何部署zabbix_agent

檢查zabbix_agent是否正常工作:

首先啟動(dòng)zabbix_agent后,在server/proxy容器中先測試一下該agent是否可到達(dá):

使用docker如何部署zabbix_agent

web界面設(shè)置:

a、如果未設(shè)置為自動(dòng)發(fā)現(xiàn)agent方式時(shí),需要手動(dòng)添加agent主機(jī)

使用docker如何部署zabbix_agent

agent和server/proxy在同一臺機(jī)器時(shí),這時(shí)候的IP一定是docker分配的內(nèi)網(wǎng)ip,端口為容器中端口,而不是映射到本機(jī)的端口

使用docker如何部署zabbix_agent

使用docker如何部署zabbix_agent

使用docker如何部署zabbix_agent

b、設(shè)置為自動(dòng)發(fā)現(xiàn)agent機(jī)器

使用docker如何部署zabbix_agent

使用docker如何部署zabbix_agent

使用docker如何部署zabbix_agent

使用docker如何部署zabbix_agent

注意:如果設(shè)置為添加到某個(gè)主機(jī)群組時(shí),需要先創(chuàng)建該主機(jī)群組

可能出現(xiàn)問題:

1、報(bào)錯(cuò):temporarily disabling Zabbix agent checks on host "kgtest": host unavailable

解決方案:

a、如果是bridge模式,請檢查一下agent的ZBX_HOSTNAME是否和主機(jī)配置中的主機(jī)名相同

b、如果是host模式,請檢查一下防火墻是否已開放agent映射到本機(jī)端口。測試: telnet 本機(jī)IP port

2、報(bào)錯(cuò):Received empty response from Zabbix Agent at [192.168.5.114]. Assuming that agent dropped connection because of access permissions.

使用docker如何部署zabbix_agent

其中,192.168.5.114為agent的外網(wǎng)/內(nèi)網(wǎng)IP

原因:

a、使用zabbix_proxy代理:agent的ZBX_SERVER_HOST設(shè)置為zabbix_proxy的IP(172.22.0.6),但是web界面中的主機(jī)配置中卻選擇無agent代理程序。

使用docker如何部署zabbix_agent

使用docker如何部署zabbix_agent

使用docker如何部署zabbix_agent

解決方案:

選擇使用指定的agent代理程序即可

使用docker如何部署zabbix_agent

使用docker如何部署zabbix_agent

b、直連zabbix_server:

A、agent的ZBX_SERVER_HOST設(shè)置為127.0.0.1而不是zabbix_server的IP(172.22.0.3)

使用docker如何部署zabbix_agent

解決方案:

將agent的ZBX_SERVER_HOST設(shè)置為zabbix_server的IP

使用docker如何部署zabbix_agent

B、zabbix_agent中日志報(bào)錯(cuò):Message from 172.20.0.6 is missing header. Message ignored.

原因:這是因?yàn)閦abbix_agent和zabbix_server版本不同不兼容造成的,zabbix_agent使用了新版本,但是zabbix_server使用舊版本造成的。

解決方案:檢查一下zabbix_agent和zabbix_server版本

3、發(fā)現(xiàn)在中文界面進(jìn)行自動(dòng)發(fā)現(xiàn)時(shí),出現(xiàn)以下報(bào)錯(cuò):

使用docker如何部署zabbix_agent

切換為英文版界面后在操作就沒有任何問題

需要更改zabbix_server中mysql中的character_set_server的編碼格式。發(fā)現(xiàn)在線操作mysql方式無法解決,需要更改一下zabbix_server中的mysql服務(wù)啟動(dòng)腳本,解決方案,可以查看一下我的另外一篇文章《docker部署zabbix_server》

關(guān)于使用docker如何部署zabbix_agent問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI