博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker入门之zabbix-agent篇
阅读量:6039 次
发布时间:2019-06-20

本文共 6432 字,大约阅读时间需要 21 分钟。

  • 在client端启动zabbix-agent服务

启动zabbix-agent有如下2种方式:

  1. agent start
    root@lykj-45:/srv# lsleyao  zabbix  zabbix-agent-20180606.tar.gzroot@lykj-45:/srv# tree -L 3 zabbix/zabbix/`-- agent    |-- agent    |-- compose.yml    `-- zabbix-agent.service1 directory, 3 filesroot@lykj-45:/srv# zabbix/agent/agent start

     

  2. service zabbix-agent start
    root@lykj-45:/etc/init.d# pwd/etc/init.droot@lykj-45:/etc/init.d# ls -l zabbix-agent-rwxr-xr-x 1 root root 1688 Jun  8 14:35 zabbix-agentroot@lykj-45:/etc/init.d# service zabbix-agent start

     

 

  • 使用agent start启动时遇到的问题

  Question:

    docker与docker-compose版本不匹配,提示如下:

root@lykj-45:/etc/init.d# cd /srvroot@lykj-45:/srv# /srv/zabbix/agent/agent startERROR: The Docker Engine version is less than the minimum required by Compose. Your current project requires a Docker Engine of version 1.10.0 or greater.root@lykj-45:/srv# docker -vDocker version 1.9.1, build a34a1d5root@lykj-45:/srv# docker-compose -vdocker-compose version 1.8.0, build f3628c7

  Answer:

    要么升级docker版本,要么降级docker-compose版本(建议一般只升不降);

    而升级docker需要先卸载旧版本再重装新版本,会影响到宿主机上的所有容器,务必谨慎操作;

    在本例中,采用另一种启动方式来规避docker版本问题。

   

docker与docker-compose的版本兼容性如下:

docker docker-compose
1.9.1 1.6.2
1.10.0 1.8.0

 

 

 

备注:安装docker时尽量使用最新的版本,默认的1.9.1版本太老,不建议使用。

 

 

  • 使用service zabbix-agent start启动时遇到的问题

  Question1:

    执行service zabbix-agent start没报错,但是没有相应的zabbix进程

root@LYKJweb01:/etc/init.d# service zabbix-agent startroot@LYKJweb01:/etc/init.d# ps -ef |grep zabbixroot      8631  8504  0 14:56 pts/2    00:00:00 grep --color=auto zabbix

  Answer1:

    1) 使用docker logs命令来查看日志信息

root@LYKJweb01:/etc/init.d# docker logs zabbix-agent##########################################...zabbix_agentd [55]: ERROR: "LogType" "file" parameter requires "LogFile" parameter to be set...

    2)进入容器中修改agent配置文件

root@wxsn:~# docker exec -it zabbix-agent /bin/bashbash-4.3# cat /etc/zabbix/zabbix_agentd.confLogType=consoleServer=43.254.240.86ServerActive=43.254.240.86:10051Hostname=43.254.240.38Include=/etc/zabbix/zabbix_agentd.d/LoadModulePath=/var/lib/zabbix/modules/

    3)重启容器后,可以看到zabbix对应的进程

root@wxsn:~# docker restart zabbix-agentroot@wxsn:~# ps -ef |grep zabbixlibuuid   2527  2474  0 13:21 ?        00:00:00 /usr/sbin/zabbix_agentd --foreground -c /etc/zabbix/zabbix_agentd.conflibuuid   2528  2527  0 13:21 ?        00:00:01 /usr/sbin/zabbix_agentd: collector [idle 1 sec]libuuid   2529  2527  0 13:21 ?        00:00:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]libuuid   2530  2527  0 13:21 ?        00:00:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]libuuid   2531  2527  0 13:21 ?        00:00:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]libuuid   2532  2527  0 13:21 ?        00:00:01 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]root      3696  3634  0 15:06 pts/1    00:00:00 grep --color=auto zabbix

 

  Question2:

    有zabbix进程,但是server端获取不到数据

  Answer2:

    1)可能是docker环境变量中的ZBX_HOSTNAME与实际不符,导致server获取不到client的数据

root@wxsn:~# docker exec -it zabbix-agent envPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binHOSTNAME=7ff8fd15b700            '''container-id'''ZBX_HOSTNAME=43.254.240.38     '''与web上配置的主机名称保持一致'''ZBX_SERVER_HOST=43.254.240.86TERM=xtermZBX_VERSION=3.4.4ZBX_SOURCES=svn://svn.zabbix.com/tags/3.4.4/HOME=/root

    2)不推荐更改运行中的容器配置(如环境变量),容器本身是无状态的,当然可以通过进入容器内部的方式进行更改,但这样的更改是无法持久化保存的,容器重启后更改就会丢失。

    3)更改原容器的名字,以便新容器的名字与现有环境保持一致

root@wxsn:~# docker rename zabbix-agent zabbix-agent-old

    4)新建容器并设置正确的环境变量

root@wxsn:~# docker run -e HOSTNAME=c4a6d125f1ad -e ZBX_HOSTNAME=43.254.240.107 -e ZBX_SERVER_HOST=43.254.240.86 -e HOME=/ROOT  --name zabbix-agent -d -p 10050:10050/tcp zabbix/zabbix-agent

    5)使用docker top来查看容器内的进程

root@wxsn:~# ps -ef |grep zabbixlibuuid   2527  2474  0 13:21 ?        00:00:00 /usr/sbin/zabbix_agentd --foreground -c /etc/zabbix/zabbix_agentd.conflibuuid   2528  2527  0 13:21 ?        00:00:01 /usr/sbin/zabbix_agentd: collector [idle 1 sec]libuuid   2529  2527  0 13:21 ?        00:00:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]libuuid   2530  2527  0 13:21 ?        00:00:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]libuuid   2531  2527  0 13:21 ?        00:00:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]libuuid   2532  2527  0 13:21 ?        00:00:01 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]root      3857  3634  0 15:17 pts/1    00:00:00 docker run -e ZBX_HOSTNAME=43.254.240.110 -it zabbix-agentroot      4008  3634  0 15:30 pts/1    00:00:00 grep --color=auto zabbixroot@wxsn:~# docker top zabbix-agentUID                 PID                 PPID                C                   STIME               TTY                 TIME                CMDroot                2474                809                 0                   13:21               ?                   00:00:02            /usr/bin/python /usr/bin/supervisord -c /etc/supervisor/supervisord.conflibuuid             2527                2474                0                   13:21               ?                   00:00:00            /usr/sbin/zabbix_agentd --foreground -c /etc/zabbix/zabbix_agentd.conflibuuid             2528                2527                0                   13:21               ?                   00:00:01            /usr/sbin/zabbix_agentd: collector [idle 1 sec]libuuid             2529                2527                0                   13:21               ?                   00:00:00            /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]libuuid             2530                2527                0                   13:21               ?                   00:00:00            /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]libuuid             2531                2527                0                   13:21               ?                   00:00:00            /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]libuuid             2532                2527                0                   13:21               ?                   00:00:01            /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

    6)如果server端还没有数据,就检查docker中的zabbix配置文件 zabbix_agentd.conf 是否正确

    7)配置文件正确但仍没有数据,可能是由于之前容器异常中断而zabbix进程未正常释放导致

      a.使用 lsof -i:10050 查看有哪些进程在使用10050

      b.使用 kill -9 xxx(pid) 来杀死异常进程

      c.使用 docker restart zabbix-agent重启zabbix容器

 

 

  

 

转载于:https://www.cnblogs.com/karl-python/p/9167338.html

你可能感兴趣的文章
Tomcat与Web服务器、应用服务器的关系
查看>>
用DFS实现全排列 & 八皇后问题
查看>>
深度学习博客
查看>>
Android总结篇系列:Android Service
查看>>
Android dumpsys命令的使用
查看>>
Linux Kernel系列一:开篇和Kernel启动概要
查看>>
BZOJ 2756: [SCOI2012]奇怪的游戏 网络流/二分
查看>>
master + worker模式的node多核解决框架——node-cluster
查看>>
Android如何实现超级棒的沉浸式体验
查看>>
使用node打造自己的命令行工具方法教程
查看>>
Express代理中间件问题与解决方案
查看>>
||和&&返回什么?
查看>>
linux在文件中查找指定字符串,然后根据查找结果来做进一步的处理
查看>>
在Oracle中删除所有强制性外键约束
查看>>
【R】R语言使用命令行参数 - [编程技巧(Program Skill)]
查看>>
经典算法题每日演练——第二题 五家共井
查看>>
存储过程中拼接的变量和点的问题
查看>>
ASP.NET那点不为人知的事(一)
查看>>
HTML 表格
查看>>
VMware 虚拟化编程(7) — VixDiskLib 虚拟磁盘库详解之三
查看>>