zabbix-数据采集【zabbix_agentd、zabbix_get】

1、基础知识

1.1、数据采集

zabbix server的数据采集从组成方式上来说,主要靠两种采集方式:
1、本机采集: zabbix_agentd 
2、跨主机组合采集: zabbix_get + zabbix_agentd

1.2、zabbix-agent软件简介

1.2.1、zabbix_agentd

zabbix_agentd 是一个专门用于在客户端节点主机上查看默认的有效监控条目信息,它本质上是一个Zabbix守护程序,用于监视各种服务器参数。
这些数据都会在zabbix server的最新数据界面中体现

1.2.2、zabbix_get

Zabbix-Get是Zabbix中的一个程序,用于Zabbix-Server到Zabbix-Agent的数据获取,通常可以用来检测验证Agent的配置是否正确。可以在启动agent之前定位错误原因。

2、zabbix-get-软件安装

2.1、安装软件

apt info zabbix-agent
apt install zabbix-get -y

2.2、查看配置文件位置

2.2.1、zabbix-get

# dpkg -L zabbix-get    
/.
/usr
/usr/bin
/usr/bin/zabbix_get
/usr/share
/usr/share/doc
/usr/share/doc/zabbix-get
/usr/share/doc/zabbix-get/changelog.Debian.gz
/usr/share/doc/zabbix-get/copyright
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/zabbix_get.1.gz

2.2.2、zabbix_agentd 

# dpkg -L zabbix-agent
/.
/etc
/etc/init.d
/etc/init.d/zabbix-agent
/etc/logrotate.d
/etc/logrotate.d/zabbix-agent
/etc/zabbix
/etc/zabbix/zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.d
/lib
/lib/systemd
/lib/systemd/system
/lib/systemd/system/zabbix-agent.service
/usr
/usr/bin
/usr/lib
/usr/lib/tmpfiles.d
/usr/lib/tmpfiles.d/zabbix-agent.conf
/usr/sbin
/usr/sbin/zabbix_agentd
/usr/share
/usr/share/doc
/usr/share/doc/zabbix-agent
/usr/share/doc/zabbix-agent/changelog.Debian.gz
/usr/share/doc/zabbix-agent/copyright
/usr/share/doc/zabbix-agent/userparameter_mysql.conf
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/zabbix_agentd.8.gz
/var
/var/log
/var/log/zabbix

3、命令解析

3.1、zabbix_agentd解析

3.1.1、命令介绍

# 查看帮助
zabbix_agentd -h

# 命令格式
zabbix_agentd [-c config-file] -p| -t item-key

# 属性解析
-c 指定zabbix的客户端配置文件,不写表示使用默认的配置文件
-p 打印所有的有效监控条目
-t 测试指定监控条目的数据获取效果

3.1.2、获取当前所有有效监控条目

zabbix_agentd -p
...
system.swap.size[all,free]                    [u|1961881600]
system.swap.in[all]                           [u|0]
system.swap.out[all]                          [u|0]
system.uptime                                 [u|14403]

结果显示:
 所有的item名称都是 "字母.字母"的样式出现的,还有一些是以[xxx,xxx,...]样式存在的。
 []格式的意思就是,给指定的item监控项,传递参数,参数彼此间使用逗号隔开。

3.1.3、测试获取指定监控节点的有效条目

# zabbix_agentd -t agent.hostname
agent.hostname                                [s|Zabbix server]

# zabbix_agentd -t system.swap.size
system.swap.size                              [u|1961881600]

结果显示:
每个item监控项都是以键值对的形式存在,键名是我们定制的,值是自动获取的。
这些值都是在zabbix的最新数据中进行使用

3.2、zabbix_get解析

3.2.1、命令介绍

# 查看帮助
zabbix_get --help

# 命令格式
zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address] -k item-key

# 属性解析
-s: 远程Zabbix-Agent配置文件中设置的IP地址或者是主机名。如果指定的ip不存在则发生报错
-p: 远程Zabbix-Agent的端口。
-l: 本机出去的IP地址,用于一台机器中又多个网卡的情况。
-k: 获取远程Zabbix-Agent数据所使用的Key(监控条目关键字,可以通过zabbit_agentd命令获取)。

# 用zabbix_get命令可以很方便地知道key是否能正常获取到数据,这在测试自定义监控的时候特别有用

3.2.2、测试指定主机的指定监控条目

# 收集zabbix 客户端主机的名称
# zabbix_get -s 127.0.0.1 -p 10050 -k "agent.hostname"
Zabbix server

# 测试客户端主机状态是否正常
# zabbix_get -s 127.0.0.1 -p 10050 -k "agent.ping"
1

# 测试不存在的主机
# zabbix_get -s 192.168.10.20 -p 10050 -k "agent.ping"         
zabbix_get [23983]: Get value error: cannot connect to [[192.168.10.20]:10050]: [113] No route to host

3.3、zabbix主机配置

3.3.1、测试当前的主机ip

# zabbix_get -s 192.168.10.21 -p 10050 -k "agent.ping"
zabbix_get [23997]: Check access restrictions in Zabbix agent configuration

结果显示:在zabbix的配置中没有该地址,那么我们添加一下

3.3.2、修改客户端节点配置文件【zabbix_agentd.conf】

# 修改配置文件
# vim /etc/zabbix/zabbix_agentd.conf 
Server=127.0.0.1,192.168.10.21

# 重启服务
systemctl restart zabbix-agent

# 测试看看
# zabbix_get -s 192.168.10.21 -p 10050 -k "agent.ping"
1

4、总结

zabbix_agentd 收集客户端本地所有信息,守护进程
zabbix_get    收集远程客户端节点的指定的监控条目,检测环境

 

posted @ 2023-05-25 14:28  小粉优化大师  阅读(334)  评论(0编辑  收藏  举报