zabbix agent配置

zabbix agent配置,第1张

Server:zabbix sever的列表,逗号间隔,agent对server端的主机限定。

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配置的主机名称。

版本 zabbix6

zabbix 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主机的原理以及步骤解析,希望能帮到有需要的朋友。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7965414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存