Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密方式有预共享密钥(PSK)和证书加密,加密配置是可选项,一些proxies和agents可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信,需要注意的是如果希望使用加密通信,编译的时候必须加入 –with-openssl参数。
1.生成并添加PSK共享密钥
使用命令openssl rand -hex 32生产一串密钥,配置步骤如下:
[root@zabbix scripts]# openssl rand -hex 32
ef52cbe2d1a35e6bb3c43b22bd4f1a1d7bf24d1ccb7c47f6a602425970da5432
# 将生成的密钥写入该文件
vim /data/zabbix/etc/psk/zabbix.psk
vim /data/zabbix/etc/zabbix_agentd.conf
#加入
TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/data/zabbix/etc/psk/zabbix.psk
TLSPSKIdentity=PSK ID
#配置完成后重启zabbix_agent进程
2. 在zabbix web gui中添加
3.测试命令
zabbix_get -s 127.0.0.1 -k \”system.cpu.load[all,avg1]\” –tls-connect=psk –tls-psk-identity=\”PSK ID\” –tls-psk-file=/data/zabbix/etc/psk/zabbix.psk
[root@10.28.233.188 ~]$/data/zabbix/bin/zabbix_get -s 10.81.47.129 -p 9528 -k \”tps\” –tls-connect psk –tls-psk-identity=\”LianYu\” –tls-psk-file /data/zabbix/etc/psk/zabbix.psk
452.05
4..zabbix_get用法
# 只能在zabbix server端使用此命令
zabbix_get -s host-name-or-IP [ -p port-number ] [ -I IP-address ] -k item-key
zabbix_get -s host-name-or-IP [ -p port-number ] [ -I IP -address ] –tls-connect cert –tls-ca-file CA-file [ –tls-crl-file CRL-file ] [ –tls-agent-cert-issuer cert-issuer ] [ –tls- agent-cert-subject cert-subject ] –tls-cert-file cert-file –tls-key-file key-file -k item-key
zabbix_get -s host-name-or-IP [ -p port-number ] [ -I IP-address ] –tls-connect psk –tls-psk-identity PSK-identity –tls-psk-file PSK-file -k item-key
zabbix_get -h
zabbix_get -V
OPTIONS
-s, – host host-name-or-IP
指定主机的主机名或IP地址。
-p, – port port-number
指定主机上运行的代理的端口号。默认值为10050。
-I, – source-address IP-address
指定源IP地址。
-k,–key 项键
指定要检索值的项的键。
–tls-connect 值
如何连接到代理。价值观:
加密方式
无加密连接(默认)
PSK
使用TLS和预共享密钥进行连接
cert
使用TLS和证书连接
–tls-ca-file CA文件
包含用于对等证书验证的顶级CA(s)证书的文件的完整路径名。
–tls-crl-file CRL文件
包含已吊销证书的文件的完整路径名。
–tls-agent-cert-issuer颁发者 证书
允许的代理证书颁发者。
–tls-agent-cert-subject cert-subject
允许的代理证书主题。
–tls-cert-file 证书文件
包含证书或证书链的文件的完整路径名。
–tls-key-file 密钥文件
包含私钥的文件的完整路径名。
–tls-psk-identity PSK-identity
PSK身份字符串。
–tls-psk-file PSK文件
包含预共享密钥的文件的完整路径名。
-h, – help
显示此帮助并退出。
-V, – version
输出版本信息并退出。
示例:
1 zabbix_get -s 127.0.0.1 -p 10050 -k“system.cpu.load [all,avg1]”
2 zabbix_get -s 127.0.0.1 -p 10050 -k“system.cpu.load [all,avg1]” – tls- connect cert –tls-ca-file / home / zabbix / zabbix_ca_file –tls-agent-cert-issuer“CN =签名CA,OU = IT操作,O =示例公司,DC =示例,DC = com” – tls-agent-cert-subject“CN = server1,OU = IT operations,O = Example Corp,DC = example,DC = com”–tls-cert-file /home/zabbix/zabbix_get.crt –tls-key -file /home/zabbix/zabbix_get.key
3 zabbix_get -s 127.0.0.1 -p 10050 -k“system.cpu.load [all,avg1]” – tls-connect psk –tls-psk-identity“PSK ID Zabbix agentd“–tls-psk-file /home/zabbix/zabbix_agentd.psk
总结
以上所述是小编给大家介绍的zabbix的psk加密结合zabbix_get取值,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!