Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密方式有预共享密钥(PSK)和证书加密,加密配置是可选项,一些proxy和agent可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信,需要注意的是如果希望使用加密通信,编译的时候必须加入 –with-openssl参数。本文将分别介绍这两种加密方式。
加密传输可从多个数据采集段进行配置,如下图所示。本文以proxy到agent段加密作为演示,其他可以此为参考。此外,proxy代理配置为被动模式。
要想支持加密功能,我们必须在编译安装的时候把加密库编译进Zabbix里面,编译的时候加上--with-openssl,参考:
./configure \
--prefix=/usr/local/zabbix \
--enable-server \
--enable-agent \
--with-MysqL \
--with-net-snmp \
--with-libcurl \
--with-openssl
# openssl rand -hex 32
af8ced32dfe8714e548694e2d29e1a14ba6fa13f216cb35c19d0feb1084b0429
创建一个文件/usr/local/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk,存入刚刚生成的psk。然后编辑/usr/local/zabbix/zabbix_agentd.conf,添加如下内容,配置好后重启agent客户端。
TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/usr/local/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk #定义zabbix_agentd.psk文件路径
TLSPSKIdentity=PSK 001 #定义预共享秘钥
测试没问题后,开始在Web页面配置
zabbix_get -s 127.0.0.1 -k "system.cpu.load[all,avg1]"
--tls-connect=psk --tls-psk-identity="PSK 001"
--tls-psk-file=/usr/local/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk
代理配置à添加代理àagent代理程序名称(填入proxy配置文件中的Hostname),模式选择被动àip填写代理地址à其他保持默认
在监控主机选择proxy代理,加密方式选择PSK,并写入相对应的密钥,配置加密完成。
修改文件/usr/local/ zabbix/etc/zabbix_proxy.conf
# 0为主动,1为被动
ProxyMode=1
# server服务器的地址或主机名
Server=192.168.3.104
# 代理服务器名称,需要与zabbix server添加代理时候的 proxy
Hostname =proxy-1
#修改agent连接模式
TLSConnect=cert
#修改被动连接模式
TLSAccept=unencrypted
###将ca.crt、client.crt、client.key三个文件放在zabbix_agentd.conf.d目录下
#修改TLSCAFile配置
TLSCAFile=/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d/ca.crt
#修改TLSCertFile配置
TLSCertFile=/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d/proxy.crt
#修改TLSKeyFile配置
TLSKeyFile=/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d/proxyx.key
修改文件zabbix_agent.conf
|
代理配置à添加代理àagent代理程序名称(填入proxy配置文件中的Hostname),模式选择被动àip填写代理地址à其他保持默认
以上就是这一期的Zabbix技术知识分享。大家好,我是乐乐,专注运维技术研究与分享,关注我学习Zabbix等使用技巧,更多运维问题还可以到乐维社区留言提问哦~
错误信息