zabbix进阶
邮件报警
设置个人邮箱
点击跟新
此时主机出现问题时,会发送邮件给指定的用户
聚合图形
全网监控服务器
如何利用zabbix去监控我们整个的web集群,假如我们有50台,100台机器,该怎么去监控,手动的挨个添加?肯定不行。
监控方案
问题:如何快速添加100太机器
思路:
1. 克隆监控模板
2. 自动注册和自动发现
3. 使用zabbix和api接口,利用curl,或者python进行开发自己的运维监控平台
接口指的就是,好比笔记本提供的一个USB接口,我们无论使用金士顿的U盘,还是其他厂家的U盘,只要是符合这个接口的U盘规格,都可以插入且使用U盘,读写U盘或者笔记本里的数据。 我们所使用的各种软件也是一样,也提供了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://10.0.1.50/zabbix/api_jsonrpc.php" HTTP/1.1 200 OK Date: Wed, 12 Aug 2020 01:29:46 GMT Server: Apache/2.4.6 (CentOS) X-Powered-By: PHP/7.2.24 Access-Control-Allow-Origin: * Access-Control-Allow-Headers: Content-Type Access-Control-Allow-Methods: POST Access-Control-Max-Age: 1000 Transfer-Encoding: chunked Content-Type: application/json {"jsonrpc":"2.0","result":"43fb04aa42fb8c9f7cf2248fbeb77498","id":0}
监控方案实施
zabbix自带的模板,已经包含主要的监控项
应用服务器监控
1.rsync备份服务器监控,监控rsync端口
[root@zabbix ~]# zabbix_get -s 192.168.207.150 -p 10050 -k "net.tcp.port[,873]"
1.监控873端口存活 net.tcp.port[,873] 2.模拟推拉文件,查看结果
2.监控NFS服务器
1.监控端口111的存活, net.tcp.port[,111] 2.通过nfs命令查看,showmount -e ip|wc -l
3.监控mysql服务器
1.监控3306端口, net.tcp.port[,3006] 2.进行登录测试,mysql -uroot -p -h 3.zabbix-agent自定义的模板
4.监控web服务器
1.监控80端口,net.tcp.port[,80] 2.通过状态码查看,如zabbix自带的web监控
5.通过url地址监控
zabbix自带web检测
6.监控代理服务器
检测nginx代理端口
监控服务通用方法
1. 端口监控
使用netstat ss lsof 等命令 结合grep查看是否有结果
2. 进程监控
通过ps命令结合grep查看
3. 模拟客户端连接
web服务,通过curl命令访问 mysql,SQL语句验证 memcached,set写入,get获取,查看结果
自动发现/自动注册
自动发现:
zabbix Server主动发现所有客户端,然后将客户端登记自己的小本本上,缺点zabbix server压力山大(网段大,客户端多),时间消耗多。
自动注册:
zabbix agent主动到zabbix Server上报到,登记;缺点agent有可能找不到Server(配置出错)
两种模式
被动模式:默认 agent被server抓取数据 (都是在agent的立场上说) 主动模式:agent主动将数据发到server端 (都是在agent的立场上说)
环境准备
添加host解析
客户端,服务端都给准备好
cat /etc/hosts 10.0.1.50 zabbix-server01 10.0.1.51 zbz-agent01 10.0.1.63 vpn_server
自动发现配置
注意,提前启动好zabbix服务端
创建自动发现动作
动作设置
操作设置
等待客户端自动出现即可
自动注册配置
1.配置安装好zabbix-server
2.安装配置好zabbix-agent2,还得添加额外的配置
1.在准备一台linux机器,安装配置zabbix-agent2 2.修改相关配置如下 [root@jumpserver opt 11:02:43]$grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf PidFile=/var/run/zabbix/zabbix_agent2.pid LogFile=/var/log/zabbix/zabbix_agent2.log LogFileSize=0 Server=10.0.1.50 ServerActive=10.0.1.50 Hostname=jumpserver HostnameItem=system.hostname # 比之前多了一行这个配置 Include=/etc/zabbix/zabbix_agent2.d/*.conf ControlSocket=/tmp/agent.sock 3.启动 systemctl start zabbix-agent2 4.去服务端验证 [root@zabbix-server01 ~]# zabbix_get -s 10.0.1.69 -p 10050 -k 'agent.ping' 1
在zabbix服务端上配置
创建动作
添加动作条件
添加操作
最后等待客户端,自动被添加即可