Zabbix agent on Zabbix server is unreachable,中间的Zabbix server 可以改为任何一个主机名
在安装好zabbix之后,我监听自己的主机。
然后
在这张图片中:
由于我是在A机器上装了zabbix-server和zabbix-agent,然后我为了进行测试,我就直接用A机器上的zabbix来监听A机器。这样子的话,agent代理程序接口的IP 地址
就填127.0.0.1吧,因为是自己监听自己,127.0.0.1相当于监听本机。
然后上面的主机名称就写成
但是上面图片我却不是这样子做的,也可以监听到本机。这两种方法得到的结果虽然是一样的,但是他们走的路并不一样。上图中填写的主机名是:
然后agent代理程序接口的IP 地址填写的是:
然后在/ect/zabbix/zabbix_agentd.conf中的
可以添加(用英文输入法的逗号隔开):
添加后结果如下:
保存一下文件,重启zabbix-agent就行
这种方式是通过外网来监听本机A的,而上面的127.0.0.1是通过内网来监听本机A的。
而在实际过程中,我们一般会用A机器去监听B机器,C机器,D机器等等等。
到zabbix 的web页面,点击配置---->主机---->点击右上角的 添加主机。主机名称 : 在 agent 端配置文件里面配置的 hostname 是什么这里就写什么
可见的名称 : 自定义
群组 : 自定义
agent代理程序的接口 : agent 的IP 跟 端口
然后点击模板 -----> 添加模板
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配置的主机名称。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)