如何自动添加主机监控
-
克隆监控模板
-
自动注册和自动发现
-
使用zabbix的api接口,利用curl语言,或者开发自己的编程脚本如python
日常使用的各种软件,都是提供了API接口,给开发人员进行修改以及获取数据的。
接口的定义:
curl -i -X POST -H 'Content-Type:application/json' -d'{"jsonrpc":"2.0","method":"user.login","params":{"user":"Admin","password":"zabbix"},"auth":null,"id":0}' "http://192.168.200.136/zabbix/api_jsonrpc.php" \\命令行形式登录
监控实施方案
1.硬件监控
Zabbix本身自带的模板已经包含了硬件的监控。
2.应用服务监控——互联网上有大量的开源模板可以使用
rsync服务监控
-
监控服务器的873端口是存活的。
-
有关端口的监控,使用zabbix自带的key net.tcp.port[,873]
-
进行数据推拉,检测效果
监控NFS服务是否正常
-
通过key检测111端口 net.tcp.port[,111]
-
showmount -e ip | wc -l
监控mysql数据库是否正常
-
通过端口 net.tcp.port[,3306]
-
mysql -uroot -p
-
zabbix自带了mysql的监控模板,直接添加模板和mysql的主机关联即可
Web服务监控
-
net.tcp.port[,80]
-
zabbix也提供了对web服务器的监控模板
3.监控服务的具体方法
检测端口的命令
-
netstat
-
ss
-
lsof
-
结合grep查看端口是否存活
在服务端进行数据采集
zabbix_get -s '192.168.200.137' -p 10050 -k 'net.tcp.port[,80]' 1 \\即存活
查询进程信息 ps
通过客户端连接
-
web服务器 用curl查询
-
mysql 用sql语句连接验证
-
缓存数据库服务 数据读写验证
自动发现,被动模式
什么是自动发现,自动注册
自动发现(agent2是被动模式)
Zabbix Server主动的去发现所有的客户端,然后将客户端的信息登记在服务端的机器上。
缺点:Zabbix-server压力较大。假设定义100-200网段,耗时较久且压力大。
自动注册(agent2是主动模式)
Zabbix agent2主动上报自己的信息发给Zabbix-server、
缺点:agent2可能找不到Server(配置文件写错了,或网络不通)
被动模式,主动模式的区别(agent2立场)
被动模式:对于agent2来说,就是server来找agent2拿数据
主动模式:agent2主动把数据发给server。
准备
1.准备好一台客户端机器——用于自动发现
在客户端上输入
systemctl is-active zabbix-agent2 active \\显示acitve说明处于激活状态
2.服务端确保客户端存活
zabbix_get -s '192.168.200.137' -p 10050 -k 'agent.ping' 1
配置hosts解析
192.168.200.136 zbx-server 192.168.200.137 zbx-agent01
编辑hosts文件内容(同时在服务端和客户端配置)
vim /etc/hosts 192.168.200.136 zbx-server 192.168.200.137 zbx-agent01
自动发现配置
1.zabbix web页面找到配置—>自动发现—>右上角新增—>输入自定义的名称和正确的IP地址范围,最后点击已启用。
2.找到配置—>动作—>左上角的trigger actions改成Discovery actions—>将默认的启用。
P.S可以在服务器 tail -f /var/log/zabbix/zabbix_server.log看到服务器自动发现的过程。
自动注册,主动模式
准备
zbx-server agent01
1.编辑/etc/zabbix/zabbix_agent2.conf
#grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf PidFile=/var/run/zabbix/zabbix_agent2.pid LogFile=/var/log/zabbix/zabbix_agent2.log LogFileSize=0 Server=192.168.200.136 \\ServerIP ServerActive=192.168.200.136 \\同上 Hostname=zbx-agent01 \\ HostnameItem=system.hostname \\主要是将该行前面的井号去掉。 Include=/etc/zabbix/zabbix_agent2.d/*.conf ControlSocket=/tmp/agent.sock
2.重启
systemctl restart zabbix-agent2
3.验证通信结果
zabbix_get -s '192.168.200.137' -p 10050 -k 'agent.ping' 1
4.Web页面
配置—>动作—>左上角选择自动注册动作—>右上角新增—>条件可以选主机名称,输入对应主机名—>操作先是 添加主机、添加到主机群组:Linux servers、链接到模板:Template OS Linux by Zabbix agent—>最后完成。