目录
一、聚合图形创建
二、全网监控方案
# 如何自动添加主机监控 监控100台机器,难道手动监控
思路
# 1、克隆监控模板
# 2、自动注册和自动发现
# 3、使用zabbix的API接口,利用curl语言或者python自己编写的脚本
# API接口 类似于笔记本接口
我们日常使用的各种软件,都是提供API接口,给开发人员进行修改以及获取数据的。
[root@zabbix-server01 ~]# 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.15.17/zabbix/api_jsonrpc.php"
1.监控实施方案
# rsync 服务监控
监控服务器873端口是否存活的
有关端口的监控,使用zabbix自带的key net.tcp.port[,873]
进行数据推拉,检测效果
# nfs服务监控
监控服务器111端口是否存活的
有关端口的监控,使用zabbix自带的key net.tcp.port[,111]
showmount -e ip |wc -l
# mysql服务监控
监控服务器3306端口是否存活的
有关端口的监控,使用zabbix自带的key net.tcp.port[,3306]
mysql -uroot -p
zabbix自动了mysql监控模板,直接添加主机模板和mysql的关联主机即可
# web服务器监控
监控服务器3380端口是否存活的
net.tcp.port[,80]
zabbix自动了web监控模板
2.监控服务的具体方法
# 端口检测的命令
netstat -lntp
lsof
ss
# 在服务端
[root@zabbix ~]# zabbix_get -s '192.168.15.16' -p 10050 -k 'net.tcp.port[,10050]'
1
# 查询进程信息
ps
#通过客户端连接
web服务器 用curl查询
mysql 用sql语句连接验证
缓存数据库服务,数据读写验证
3.zabbix自动发现,自动注册
# 1、准备好一台客户端机器
[root@zabbix1 ~]# systemctl is-active zabbix-agent2.service #检查agent2是否运行
active
# 2、验证是否存放
[root@zabbix ~]# zabbix_get -s '192.168.15.16' -p 10050 -k 'agent.ping'
1
4.什么是自动发现,自动注册
# 自动发现(agent2是被动模式)
zabbix server主动去发现所有的客户端,然后将客户端的信息,登记在服务器的机器上
# 缺点
zabbix sevrer压力会较大
如果定义了一个网段,100-200网段,zabbix server会自动发现这个网段的所有ip数据,耗时比较久,而且压力比较大
# 自动注册(agent2是主动模式)
zabbix agent2主动去发现自己的信息,发给zabbix sever
#缺点
zabbix agent2可能找不到server(配置文件写错了,网络不通)
5.被动、主动模式区别(站在agent2立场)
被动模式,对于agent2来说,就是server来找agent2拿数据 # 选择/配置/动作里面 Discovery actions
主动模式,agent2主动把数据发给server # 选择/配置/动作里面 Autoregistration actions
三、实现自动发现、自动注册
1.配置hosts解析
[root@web ~]# cat /etc/hosts #服务端都配置
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.15.16 web
192.168.15.18 web02
2.自动发现
[root@web02 ~]# tail -f /var/log/zabbix/zabbix_agent2.log #查看日志
3.自动注册
#1.自动发现必须是禁用的状态
#2.、修改配置文件
[root@web02 ~]# vim /etc/zabbix/zabbix_agent2.conf
[root@web02 ~]# egrep -v '^$|^#' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.15.17 #写入服务端配置
ServerActive=192.168.15.17 #写入服务端地址
Hostname=web02 #agent2主机名
HostnameItem=system.hostname #把这行开启
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
#3.重启
[root@web02 ~]# systemctl restart zabbix-agent2
#4.服务端验证通信
[root@zabbix ~]# zabbix_get -s '192.168.15.18' -p 10050 -k 'agent.ping'
1