自定义监控项
在配置文件中加入
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/src/zabbix-6.0.5/conf/zabbix_agentd/*.conf
[root@localhost ~]# vim /usr/src/zabbix-6.0.5/conf/zabbix_agentd/userparameter_free.conf
UserParameter=memory_used, free -m |awk 'NR==2 {print $3}'
重启zabbix_agentd
删除其内容
[root@localhost ~]# rm -rf /usr/src/zabbix-6.0.5/conf/zabbix_agentd/userparameter_examples.conf
[root@localhost ~]# yum -y install psmisc
[root@localhost ~]# killall -9 zabbix_agentd
[root@localhost ~]# /usr/local/zabbix/sbin/zabbix_agentd
查看其监控项键值
[root@localhost ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.43.254 -k memory_used
使用web界面添加此监控项
创建模板:步骤点击配置-->模板-->创建模板
创建模板名称-->群组-->添加
给模板设置监控项-->触发器-->图形
监控项
触发器
图形
把自定义的模板加入主机
查看检测信息
邮件报警
生成授权码
QQ邮箱
设置-->账户-->往下翻
网易邮箱
[root@localhost ~]# yum -y install mailx dos2unix
[root@localhost ~]# vim /etc/mail.rc
QQ邮箱配置方式
set from=3439555351@qq.com smtp=smtp.qq.com
set smtp-auth-user=3439555351@qq.com smtp-auth-password=jzpmtqhgivvwcjfj ##授权生成码
set smtp-auth=login
网易邮箱配置方式
set from=17801797215@163.com smtp=smtp.163.com
set smtp-auth-user=17801797215 smtp-auth-password=CJANENPOSWNRNLXW ##授权生成码
set smtp-auth=login
测试是否可以发送邮件
[root@localhost ~]# echo "测试内容" |mail -s "测试标题" 17801797215@163.com
编写报警邮件
[root@localhost ~]# vim /usr/local/zabbix/share/zabbix/alertscripts/1.sh
#!/bin/bash
#export.UTF-8
sendto=$1 #发送给谁
title=$2 #邮件标题
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
/usr/bin/dos2unix -k $FILE
/bin/mail -s "$title" "$sendto" <$FILE
在server配置文件加入脚本存放位置
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
[root@localhost ~]# chmod 777 /usr/local/zabbix/share/zabbix/alertscripts/1.sh
[root@localhost ~]# chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/1.sh
[root@localhost ~]# touch /tmp/mailtmp.txt
[root@localhost ~]# chmod 777 /tmp/mailtmp.txt
[root@localhost ~]# chown zabbix:zabbix /tmp/mailtmp.txt
使用脚本测试
[root@localhost ~]# /usr/local/zabbix/share/zabbix/alertscripts/1.sh 17801797215@163.com "测试标题" "测试内容"
配置zabbix web网站进行监控项的邮件报警大体步骤分为监控--创建报警媒介类型--更新用户使用的报警媒介类型--创建动作(根据触发器触发)--验证;
创建报警媒介类型:
步骤:管理-->报警媒介类型-->创建媒体类型
脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
主题:
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
消息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
创建动作
配置-->动作-->Trigger actions-->创建动作
输入动作名,动作名最好为英文,可以选择触发这个动作的条件(可以选择触发器=触发器的名称或者选择触发器似触发器名称),作为条件,如若如图不选择触发器的条件,那么任何消息都会提示到邮箱;
选择操作
添加恢复操作(指故障恢复之后发送邮件的动作),具体步骤和添加操作相同;
把内存加到1个G测试是否可以报警
[root@localhost ~]# dd if=/dev/zero of=/opt/1.txt bs=1G count=5
故障修复后也会发来信息
主机中增加web场景
步骤:配置-->主机-->web检测-->创建web场景
在监测-->web监测中查看-->nginx检测
解决mysql图形没有数据
在MySQL数据库中创建监控账号并授权
mysql> CREATE USER 'zabbix'@'%'IDENTIFIED BY 'ABc123...';
mysql> GRANT all ON *.* TO 'zabbix'@'%';
mysql> flush privileges;
创建.my.cnf文件,并写入相关信息
#创建目录
[root@localhost ~]# mkdir -p /var/lib/zabbix
[root@localhost ~]# vim /var/lib/zabbix/.my.cnf
[client]
user=zabbix
password=ABc123...
socket=/var/lib/mysql/mysql.sock
[mysql]
user=zabbix
password=ABc123...
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
user=zabbix
password=ABc123...
socket=/var/lib/mysql/mysql.sock
[root@localhost ~]# chown zabbix:zabbix /var/lib/zabbix -R
[root@localhost ~]# vim /usr/src/zabbix-6.0.5/conf/zabbix_agentd/userparameter_mysql.conf
修改 userparameter_mysql.conf内容(其实每行只多了一个 HOME=/var/lib/zabbix )
修改zabbix_agentd.cof,打开一个Include
[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/src/zabbix-6.0.5/conf/zabbix_agentd/*.conf
[root@localhost ~]# rm -rf /root/zabbix-6.0.5/conf/zabbix_agentd/userparameter_examples.conf
[root@localhost ~]# killall -9 zabbix_agentd
[root@localhost ~]# /usr/local/zabbix/sbin/zabbix_agentd
监控服务器上TCP连接数的值
编写脚本
[root@localhost ~]# vim /usr/local/zabbix/etc/tcp_status.sh
[root@localhost ~]# chmod a+x /usr/local/zabbix/etc/tcp_status.sh
[root@localhost ~]# vim /usr/src/zabbix-6.0.5/conf/zabbix_agentd/userparameter_tcp_status.conf
UserParameter=tcp.status[*], /usr/local/zabbix/etc/tcp_status.sh $1
[root@localhost ~]# killall -9 zabbix_agentd
[root@localhost ~]# /usr/local/zabbix/sbin/zabbix_agentd
创建模板,监控项,图形
创建模板步骤:配置-->模板-->创建模板
创建监控项步骤:找到刚刚创建的模板-->创建监控项
创建图形步骤:找到刚刚创建的模板-->创建图形
把tcp_stats模板加入主机
查看tcp_status图形
zabbix监控网络设备
用zabbix监控交换机
1. 在交换机上开启snmp协议
连接交换机,运行enable进入用户模式。
Switch>enable
Switch#
运行sh snmp查看SNMP协议是否开启
Switch#sh snmp
2、运行config t进入全局配置模式
Switch#config t
sw1(config)#int vlan 1
sw1(config-if)#ip address192.168.100.100 255.255.255.0
sw1(config-if)#no shutdown
设置只读字符串,public为团体名称,ro为只读
Switch<config>#snmp-server community public ro
启用snmp陷井,允许交换机将所有类型SNMP Trap发送出去
Switch<config>#snmp-server enable traps snmp
SNMP采用版本2,public作为团体名称,192.168.100.100为zabbix-server地址
Switch<config>#snmp-server host 192.168.100.100 version 2c public
指定SNMP Trap的接收者为192.168.100.100(zabbix-server地址),发送Trap时采用public作为团体名称
Switch<config>#snmp-server host 192.168.100.100 traps public
设置vlan1虚接口IP地址做为snmp trap信息的发布地址
Switch<config>#snmp-servertrap-source vlan 1
配置-----》主机---》创建主机
点击宏按钮添加主机宏
宏 {$SNMP_COMMUNITY} 值 public
创建图形,监控交换机开启时间