1. Zabbix-Trapper:
Zabbix-Trapper 监控方式可以一次批量发送数据给Zabbix Server,与主动模式不同,Zabbix-Trapper可以让用户控制数据的发送,而不用Zabbix-Agent进程控制,这意味着可以使用Linux定时任务 , 或者借助其他程序调用 Zabbix-Trapper 发送数据给 ZabbixServer。在 Zabbix-Trapper 工作模式中 , Zabbix 发送数据的程序是zabbix_sender。
1>. 配置Zabbix-Trapper:
创建一台监控主机:
创建监控项:
使用zabbix_sender程序发送数据:
## zabbix客户端安装zabbix_sender程序:[root@node2 ~]# yum install http://mirrors.aliyun.com/zabbix/zabbix/5.4/rhel/7/x86_64/zabbix-sender-5.4.12-1.el7.x86_64.rpm -y## 向zabbix_server发送数据:[root@node2 ~]# zabbix_sender -z 192.168.188.201 -s linux-server2 -k trapper -o "trapper test"Response from "192.168.188.201:10051": "processed: 1; failed: 0; total: 1; seconds spent: 0.000220"sent: 1; skipped: 0; total: 1
注意:zabbix_sender程序的参数:
选项 | 解释 |
-c | Zabbix-Agent 的配置文件。 |
-z | Zabbix-Server 的 IP 地址 |
-p | Zabbix-Server 的端口,默认为 10051 端口 |
-i | 当服务器有多个 IP 地址时,指定出口 IP ( SourceIP )地址 |
-s | 主机名称(确保我们添加的是 Host name ,而不是 Visible name ) |
-k | 自定义的 key |
-o | 发送的数据 |
-T | 时间戳,用于读取文件数据 |
-r | 实时发送数据 |
-v | 调试模式, -vv 获取详情 |
-V | 程序版本 |
zabbix_sender可以批量读取文件:一次可以将多个监控指标发送给Zabbix-Server,减
少了多次传输的网络开销。 文件书写格式: 主机 key value timestamps(时间戳) 通过zabbix_sender可以批量传递key值,可以创建一个文本,每行定义一个key值,可以使用不同的主机名以及key、key值[root@node2 ~]# vim test.txtlinux-server2 trapper 10linux-server2 trapper 20linux-server2 trapper 30linux-server2 trapper 40linux-server2 trapper 50[root@node2 ~]# zabbix_sender -z 192.168.188.201 -i test.txtResponse from "192.168.188.201:10051": "processed: 5; failed: 0; total: 5; seconds spent: 0.000256"sent: 5; skipped: 0; total: 5
查看数据是否发送:
2. SSH监控方式:
对于SSH监控方式,支持SSH密码访问目标主机,也支持密钥访问目标机器,和普通的SSH命令方式其实没有本质区别。通过SSH协议连接到远程主机,然后执行相关命令获取数据。 1>. 配置zabbix_server配置文件:##在默认情况下,Zabbix-Server并不知道我们使用哪个SSH密钥来连接服务器,因此需要指定SSH密钥的位置。由于使用RPM包安装的Zabbix-Server,其用户家目录在/var/lib/zabbix目录下面,因此我们将SSH密钥目录设置为/var/lib/zabbix/.ssh。[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf SSHKeyLocation=/var/lib/zabbix/.ssh ##添加此行配置##重启zabbix-server服务[root@zabbix ~]# systemctl restart zabbix-server.service
2>. 生成密钥文件:
[root@zabbix ~]# mkdir -p /var/lib/zabbix/.ssh[root@zabbix ~]# chown zabbix:zabbix /var/lib/zabbix/.ssh## 生成密钥,需要用zabbix用户操作[root@zabbix ~]# sudo -u zabbix ssh-keygen -t rsa -b 2048 -P '' -f /var/lib/zabbix/.ssh/id_rsa -q[root@zabbix ~]# ll /var/lib/zabbix/.sshtotal 8-rw------- 1 zabbix zabbix 1823 Nov 10 13:29 id_rsa-rw-r--r-- 1 zabbix zabbix 395 Nov 10 13:29 id_rsa.pub## 同步密钥[root@zabbix ~]# sudo -u zabbix ssh-copy-id root@192.168.188.112## 验证免密钥是否配置成功[root@zabbix ~]# sudo -u zabbix ssh root@192.168.188.112
3>. 配置zabbix的SSH的" 用户名/密码 "方式监控:
配置SSH的Item,在Item中,SSH的key的用法:ssh.run[<unique short description>,<ip>,<port>,<encoding>]第一个参数:在一台主机或模板中有唯一的名称第二个参数:目标设备的IP第三个参数:目标设备端口第四个参数:字符集编码,如UTF-8、GBK等。
4>. 配置zabbix的SSH的" 公钥 "方式监控:
3. Telnet监控方式:
1>. Telnet服务器配置:
## zabbix客户端安装telnet-server[root@node2 ~]# yum install telnet-server -y## 启动telnet服务[root@node2 ~]# systemctl enable telnet.socket --now## 创建用户,通过该用户登录客户端[root@node2 ~]# useradd monitor## 为用户设置密码,该命令只有管理员有权限[root@node2 ~]# echo monitor:123456 | chpasswd
2>. zabbix server 测试telnet连接:
[root@zabbix ~]# yum install telnet -y## 连接192.168.188.112主机,使用刚刚在node2设置的用户[root@zabbix ~]# telnet 192.168.188.112
3>. 配置zabbix Telnet监控:
在Telent功能中,key的用法:telnet.run[<unique short description>,<ip>,<port>,<encoding>]第一个参数:在一台主机或模板中有唯一的名称第二个参数:目标设备的IP第三个参数:目标设备端口第四个参数:字符集编码,如UTF-8、GBK等。