文章目录
展开自定义zabbix监控
## 监控项添加流程
1.创建一个自定义模板
2.给模板添加监控项
3.给监控项添加画图
4.给监控项添加触发器
5.给监控项的触发器添加告警动作
- 可以使用邮件发送告警
- 可以使用微信发送告警
- 可以使用钉钉发送告警
## 模版各项
模板:存放所有的监控项、图形、触发器、web检测、聚合图形、自动发现、应用集、主机
主机:关联了该模板的主机
应用集:给监控项分组
监控项:要监控主机的内容
图形:图形是要给监控项出图
触发器:给监控项触发某些动作
- 告警
- 邮件告警
- 微信告警
- 自愈
- 使用命令
- 使用脚本
聚合图形:将指定图形汇总
web检测:检测一个网站是否可以正常访问
监控一台主机
被监控的机器需要安装zabbix-agent,agent跟server保持版本一致
# 安装zabbix-agent
[root@web01 ~]# yum install -y zabbix-agent
# 修改配置文件
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.71
Hostname=web01
# 启动并加入开机自启
[root@web01 ~]# systemctl start zabbix-agent
[root@web01 ~]# systemctl enable zabbix-agent
# 监控群组:
- 按项目分
- 按应用分
# 接口
客户端:所有基本监控,自定义监控,都可以用客户端形式
SNMP:监控网络设备,交换机、路由器 Console口
JMX:专门监控Java内存,堆栈信息(老年代,新生代,永久代,full-gc)垃圾回收机制
IPMI:监控硬件协议
排错工具
## zabbix-get包(清华源)
[root@zabbix-server ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-get-5.0.36-1.el7.x86_64.rpm
[root@zabbix-server ~]# zabbix_get -s 172.16.1.7 -k user.count
zabbix5.0
添加主机集群
添加模板
添加主机关联模板
- 客户端接口变绿色则连接成功红色则失败
监控服务器用户登录数量
## 监控项格式
Format: UserParameter=<key>,<shell command>
## 写脚本或者命令,取出想要监控的值
uptime|grep -Po '\d+(?= user)'
## 修改配置文件
方法一:直接在配置文件中添加(能用但不建议)
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=user.count,uptime|grep -Po '\d+(?= user)' //删除注释
方法二:配置文件中有Include=/etc/zabbix/zabbix_agentd.d/*.conf所以在/etc/zabbix/zabbix_agentd.d/下创建.conf文件,把UserParameter=直接加在.conf文件中
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/user.conf
UserParameter=user.count,uptime|grep -Po '\d+(?= user)'
## 重启
[root@web01 ~]# systemctl restart zabbix-agent.service
## 页面添加监控
添加模板监控项
- 多登几个用户查看
添加触发器
- 在仪表板中可以查看到报警
- 提示框开启
添加图形
zabbix3.0
# 安装zabbix-agent
[root@web02 ~]# yum install -y zabbix-agent
## 修改配置文件
方法一:直接在配置文件中添加(能用但不建议)
[root@web02 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.72
Hostname=web02
UserParameter=user.count,uptime|grep -Po '\d+(?= user)' //删除注释
方法二:配置文件中有Include=/etc/zabbix/zabbix_agentd.d/*.conf所以在/etc/zabbix/zabbix_agentd.d/下创建.conf文件,把UserParameter=直接加在.conf文件中
[root@web02 ~]# vim /etc/zabbix/zabbix_agentd.d/user.conf
UserParameter=user.count,uptime|grep -Po '\d+(?= user)'
# 启动并加入开机自启
[root@web02 ~]# systemctl start zabbix-agent
[root@web02 ~]# systemctl enable zabbix-agent
添加模板
添加主机
- 主机关联模板
添加监控项
添加触发器
自定义变量监控
监控进程
## 写命令测试
[root@web01 ~]# ps -ef | grep -v grep | grep -c nginx
2
## 把命令改成变量
process.status[*],ps -ef|grep -v grep|grep -c $1
## 修改配置文件
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/process.conf
UserParameter=process.status[*],ps -ef|grep -v grep|grep -c $1
## 重启
[root@web01 ~]# systemctl restart zabbix-agent.service
- 模板中添加监控项
- 起的慢可以验证是否有报错
[root@zabbix ~]# zabbix_get -s 172.16.1.7 -k process.status[nginx]
2
监控端口
net.tcp.listen[3306]
net.tcp.listen[80]
zabbix监控TCP
- 监控TCP11种状态
- 监控项
- 图形
- 触发器 TIME_WAIT 数量 超过100个 就告警
- 邮件告警
# 获取监控值 ($1是传入的值)
netstat -ant|grep -ic $1
# 修改配置文件 (在监控项名里传入值 就会被后面的命令调用)
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/tcp.conf
UserParameter=tcp.status[*],netstat -ant|grep -ic $1
# 重启zabbix客户端
[root@web01 ~]# systemctl restart zabbix-agent
# 测试
[root@zabbix ~]# zabbix_get -s 172.16.1.7 -k tcp.status[listen]
8
[root@zabbix ~]# zabbix_get -s 172.16.1.7 -k tcp.status[time_wait]
55
其他状态同理依次类推
zabbix出图结合grafana
Grafana官方文档
https://grafana.com/docs/grafana/latest/
# 下载rpm包
[root@zabbix ~]# wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/Packages/grafana-10.0.0-1.x86_64.rpm --no-check-certificate
# 安装
[root@zabbix ~]# yum localinstall grafana-10.0.0-1.x86_64.rpm -y
# 启动并设开机自启
[root@zabbix ~]# systemctl start grafana-server.service
[root@zabbix ~]# systemctl enable grafana-server.service
# 查看端口3000起了没有
[root@zabbix ~]# netstat -lntup
tcp6 0 0 :::3000 :::* LISTEN 63184/grafana
# 安装zabbix插件
[root@zabbix ~]# grafana-cli plugins install alexanderzobnin-zabbix-app
✔ Downloaded and extracted alexanderzobnin-zabbix-app v4.3.1 zip successfully to /var/lib/grafana/plugins/alexanderzobnin-zabbix-app
Please restart Grafana after installing or removing plugins. Refer to Grafana documentation for instructions if necessary.
#### zabbix5.0用ip访问(修改端口为90,取消域名)
[root@zabbix ~]# vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
server {
listen 90;
server_name _;
....
# 重启服务
[root@zabbix ~]# systemctl restart grafana-server rh-nginx116-nginx
刷新页面zabbix插件就可以用了
# 浏览器访问10.0.0.71:3000 (grafana)
10.0.0.71:90 (zabbix)
Comments | NOTHING