ServerActive:健康检查,带端口的,agent主动往zabbix server发数据。
ListenPort:agent在被监控机器运行的程序端口。
Hostname:zabbix server配置的主机名称。
刚开始耍zabbix agent,建议不见使用docker,实际上,容易变动的,我都不建议使用docker,整理镜像是一件非常麻烦的事情。因为镜像都是非常精简的,万一你需要的功能没有,你是解决掉所有的依赖,来添加到镜像,还是在服务器中执行yum install来得方便?还有一点就是,使用docker,会让你很难入门,因为容器启动失败,都不知道报错对应位置的配置,或者不了解具体的报错指代。
环境:
K8s集群:211-214
被监控机器:jenkins服务器:123
Agent的安装,参考了这篇博客:
https://blog.csdn.net/qq_15760109/article/details/79443339
我是从“安装zabbix 软件源”开始的,因为都是自己用的机器,防火墙一开始就关闭了。
执行了以下两条命令:
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
yum install zabbix-sender zabbix-agent zabbix-get -y
查看启动日志
遇到这样的报错,先把selinux关闭,再重启agent看一下:
如果需要其他版本的agent,就把URL路径修改一下就好了。
安装好agent之后,就是要修改配置了。配置中首先肯定是要指定zabbix server的ip端口的,能够安装agent自动插入数据到zabbix服务,那自然是最好的。不过实际情况是不支持。需要定制 *** 作。
看了几篇资料,感觉说得云里雾里的。
总的是要修改四个配置项:
Server
ServerActive
ListenPort
Hostname
看了配置文件说明,结合自己的测试结果,
这个,就是指明zabbix server的ip地址,是ip地址,不是127.0.0.1,不带端口的那种。因为我这边的zabbix server是在k8s集群中,所以我把work集群都配置上了。这个必须要配置上。如果只配置208的话,在zabbix分发到212的时候,212主动发起tagent连接,那就会报错:
所以,稳妥起见,work节点都配置上。
这个是健康检查的东东,要配置IP端口,不是127.0.0.1,那毫无疑问是配置208的31110端口了,任意K8节点都可以,端口都是31110,31110为k8s的zabbix server 10051端口的映射。
这个指的是本地agent绑定的端口,不是zabbix server的端口。
这个就是zabbix配置的host名称,不是/etc/hosts里配置的别名,也不是域名。
好了四个配置都说完了,倒回来看,我觉得ServerActive不配置是不可以的,因为我zabbix端口对于agent来说是修改了的,怎么知道服务端口是什么,是吧,所以,这个应该不是简单的心跳检查什么的,应该就是监控数据传输用的。或者是,zabbix并不是agent主动发回数据的,而是server端过来拿的,这样,即使不配置ServerActive,zabbix也能拿到监控数据。
至于如果要修改agent端口的话,就是修改ListenPort参数,然后主机接口配置那一块的端口对应上。
Server:zabbix sever的列表,逗号间隔,agent对server端的主机限定。
ServerActive:健康检查,带端口的,agent主动往zabbix server发数据。
ListenPort:agent在被监控机器运行的程序端口。
Hostname:zabbix server配置的主机名称。
版本 zabbix6zabbix server 与 zabbix proxy 非同一台主机,zabbix proxy为主动方式提交给server。
zabbix server 假设IP为 192.168.10.66。
测试用 docker run 启动proxy。
开启PSK
openssl rand -hex 32 执行会生成key
将key 存入一个.psk文件中。
容器挂载psk文件到容器内部 /var/lib/zabbix/enc 内。
PSKidentity 设置为 helloworld 。
proxy的hostname testrproxy 。
根据上面启动容器后,在zabbix server的界面上可以配置相关的代理参数。
提交之后查看代理是否工作正常。通过server web界面查看是否在线。
仅在线不一定正常,通过 查看两端log确认是否有异常信息。
proxy(docker) : docker logs xxx
server(二进制安装): tail -f /var/log/zabbix/zabbix_server.log
如 无异常报错,监控数据正常。部署完毕。
–祝好
本文结束。
zabbix 2.2版本以后(Vmware vCenter or vSphere 最低版本 4.1),开始支持直接监控vmware了, 可以自动搜索到所有的ESXI和VM,并自动把他们列入监控对象。我觉得非常不错,下面说说我的监控步骤。理论分析
1.模板在zabbix中已经预先配置好了,对于vcenter的HOST,指定为Template Virt VMware。编译安装阶段要想支持vmware监控需要在./configure添加--with-libxml2和--with-libcurl其中前一个是在2.2中添加的;
2.安装完成后,在zabbix_server.conf配置文件需要指定‘StartVMwareCollectors’参数,否则启动zabbix_server是不会启动vmware相关的进程(配置文件有解释我就不做详细叙述);
vi /data/soft/zabbix-2.2.0/etc/zabbix_server.conf
StartVMwareCollectors=5
VMwareFrequency=60
VMwareCacheSize=8M
3.在HOST界面中添加vmwareesxi设备后,需要指定{$URL}、{$USERNAME}和{$PASSWORD}三个变量,因为在调试系统自带的"TemplateVirtVMware"模板时,模板中的KEY调用的是这三个变量;原则上添加对vcenter的host监控时,不需要zabbix_agent,在web页面输入必要的ip信息,关联好模板,填写好三个宏(web页面上叫巨集)即可。
4.当第三步成功的时候不仅能监控esxi物理主机,还能自动发现该esxi上运行的主机并自动添加到监控系统中并加载"Template Virt VMware Guest"模板(模板在下面提供下载)。
*** 作步骤
1、添加esxi主机监控
2、设置变量
3、关联模板
配置好HOST后,经过VMware Frequency时间后,zabbix 监控到vmware vcenter机器上管理了哪些ESXI服务器,并将其加入到HOST中并同Template Virt VMware Hypervisor模板关联,再进一步监控到哪些vm和volume,也一并将其加入到HOST中并同Template Virt VMware Guest模板关联。
4、查看host会多出很多监控项
5、自动发现的监控项目
在HOST自动发现并添加后,item的更新是根据每一个项目(item)设置的时间间隔来更新的,但是与VMwareFrequency有关,因为check_simple大多都是从内存中维护的vmware集群结构中获取的值。
结语:
使用Zabbix的目的,是为了能够更好的监控MySQL数据库服务器,并且能够生成图形报表,虽然Nagios也能够生成图形报表,但没有Zabbix这么强大。以上是通过设置zabbix来监控VMware主机的原理以及步骤解析,希望能帮到有需要的朋友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)