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.txt
-
-
linux-server2 trapper
10
-
linux-server2 trapper
20
-
linux-server2 trapper
30
-
linux-server2 trapper
40
-
linux-server2 trapper
50
-
-
[
root@node2 ~]
# zabbix_sender -z 192.168.188.201 -i test.txt
-
Response
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/.ssh
-
total
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等。
转载:https://blog.csdn.net/NancyLCL/article/details/127793105
查看评论