zabbix的psk加密结合zabbix_get取值

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取值,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

(0)

相关推荐

  • Zabbix通过PSK共享密钥实现Server和Agent的通信加密

    Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密方式有预共享密钥(PSK)和证书加密,加密配置是可选项,一些proxies和agents可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信,需要注意的是如果希望使用加密通信,编译的时候必须加入 –with-openssl参数. 生成并添加PSK共享密钥 使用命令

  • zabbix的psk加密结合zabbix_get取值

    Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密方式有预共享密钥(PSK)和证书加密,加密配置是可选项,一些proxies和agents可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信,需要注意的是如果希望使用加密通信,编译的时候必须加入 –with-openssl参数. 1.生成并添加PSK共享密钥 使用

  • js实现hashtable的赋值、取值、遍历操作实例详解

    本文实例讲述了js实现hashtable的赋值.取值.遍历操作.分享给大家供大家参考,具体如下: 哈希表(Hashtable)这个概率应该是#c里面的概念,用来赋值.取值.遍历.排序操作提高效率.想起这个东西其实使我们以前经常遇到这样的面试题,一个很大的数组可能有100000个,如何快速知道它里面的出现最多的次数,那么这里我们可能就要用Hashtable的相关知识了.Javascript中,object的实现就是hash表,因此只要在object上封装点方法,再利用原生的hasOwnProper

  • 如何解决ASP.NET新增时多字段取值的问题

    ASP.NET 开发人员在卡发时经常会碰到一个情况,就是新增的页面中字段太多,在点击保存的时候需要一个一个的赋值实体或者构建SQL语句去保存.这样不仅浪费体力还需要占用大量的文本行控件去写代码.经过构思是否可以使用一种更方便的办法去解决呢?提高代码的内聚性. 1.思路 我们知道一般新增页面最多的就是一大堆文本框让用户输入内容,然后点击保存按钮进行提交将数据持久化到数据库. 在点击提交的时候传统方式就是一个一个文本框的读取赋值. HTML代码如下: <asp:TextBox ID="Text

  • Python中base64与xml取值结合问题

    Base64是一种用64个字符来表示任意二进制数据的方法. 用记事本打开exe.jpg.pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法.Base64是一种最常见的二进制编码方法. 具体代码如下所述: import base64 from xml.dom import minidom # 打开xml文件 dom=minidom.parse("D:\\pythonp\\t

  • python接口测试返回数据为字典取值方式

    目录 接口测试返回数据为字典取值 实例 python接口测试--sign签名 接口签名规范 实现代码 接口测试返回数据为字典取值 接口测试通常需要校验返回数据跟预期结果是否一致,这个时候如果返回数据为字典,那么我们要拿到我们想要的key对应的values时,需巧妙的运用dict.keys().dict.values()和for循环,以及列表相关知识点. 实例 这是我调接口返回的数据,该数据为dict类型,我的目标是要拿到account. #接口返回的数据: api_result = {'code

  • SpringSecurity页面授权与登录验证实现(内存取值与数据库取值)

    目录 SpringSecurity? 一.导入依赖 二.配置yml文件 三.代码部分 DAO层(注意@Repository与@Mapper注解) Service层(注意@Service注解) Controller层(注意@Controller注解) POJO Utils 资源目录结构 运行效果 SpringSecurity? Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置的Bean

  • python嵌套字典比较值与取值的实现示例

    前言 本文通过示例给大家介绍了python嵌套字典比较值,取值,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 示例代码 #取值import types allGuests = {'Alice': {'apples': 5, 'pretzels': {'12':{'beijing':456}}}, 'Bob': {'ham sandwiches': 3, 'apple': 2}, 'Carol': {'cups': 3, 'apple pies': 1}} def dictge

  • innodb_flush_method取值方法(实例讲解)

    innodb_flush_method的几个典型取值 fsync: InnoDB uses the fsync() system call to flush both the data and log files. fsync is the default setting. O_DSYNC: InnoDB uses O_SYNC to open and flush the log files, and fsync() to flush the data files. InnoDB does no

  • 百度编辑器从Json对象中取值,完成初次渲染,在编辑器内画表格

    第一次做企业级应用,感觉一点:对逻辑必须要非常明确,而且有了很多与之前不一样的概念. 在百度编辑器中,如何完成从服务器取值,来渲染出表格?这里需要先console.log(editor);在官方API中已经告诉我们写入的方法是setContent(),这里只要能传入我们最终拼好的的字符串,即可以在初始化中,绘制出我们想要的任何节点. 再send()完成之后,onreadystatechange = function(){},先上一段AJAX的代码.这段AJAX是消除游览器兼容,从尼古拉斯的书中学

随机推荐