1. zabbix自定义监控项【配置】
目前有主机zabbix-server: 10.0.0.10 zabbix-slave: 10.0.0.11
zabbix监控的内容,想平滑转移到10.0.0.11上,因为每台主机上的服务不同,直接覆盖/etc/zabbix/zabbix_agentd.conf不可取。所以可以只用Include=/etc/zabbix/zabbix_agentd.d/*.conf,把需要的配置和脚本转移过去,重启zabbix-agent即可
# 1. 查看10.0.0.11上面的/etc/zabbix/zabbix_agentd.conf配置进行转移到/etc/zabbix/zabbix_agentd.d/*.conf,先注释zabbix_agentd.conf监控内容
[root@localhost scripts]# grep -Ev '^$|#' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.10
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf
#UserParameter=tps,iostat|awk '$1~/sda/{print $2}'
#UserParameter=nginx_status,/server/scripts/ngx_check.sh
# 2. 转移后的配置
[root@localhost zabbix_agentd.d]# pwd
/etc/zabbix/zabbix_agentd.d
[root@localhost zabbix_agentd.d]# ls
disk.conf nginx.conf userparameter_mysql.conf
# 3. 重启zabbix-agent服务
[root@localhost zabbix_agentd.d]# systemctl restart zabbix-agent
# 4. 把相同的配置文件和监控脚本复制到新的主机上,然后再web界面上复制监控项
复制监控项
2. zabbix自定义监控项【传参】
# 1. 添加新硬盘,识别硬盘方法
[root@localhost ~]# echo '- - -' >/sys/class/scsi_host/host0/scan
[root@localhost ~]# echo '- - -' >/sys/class/scsi_host/host1/scan
[root@localhost ~]# echo '- - -' >/sys/class/scsi_host/host2/scan
[root@localhost ~]# dfisk -l
[root@localhost ~]# lsblk
# 2. 传参的监控项
UserParameter=tps[*],iostat|grep $1|awk '{print $$2}'
tps[sda] 只传$1
system.cpu.util[,idle] $1为空,只传$2
vfs.fs.inode[/,pfree] $1为/,$2为pfree
开始监控
# 1. 不同硬盘每秒传输次数
[root@localhost zabbix_agentd.d]# cat disk.conf
#UserParameter=tps,iostat|awk '$1~/sda/{print $2}'
UserParameter=tps[*],iostat|grep $1|awk '{print $$2}'
# 2. 重启zabbix-agent
[root@localhost zabbix_agentd.d]# systemctl restart zabbix-agent
# 3. 在zabbix-server上使用zabbix-get测试取值
[root@localhost nginx]# zabbix_get -s 10.0.0.11 -k tps[sda]
0.33
[root@localhost nginx]# zabbix_get -s 10.0.0.11 -k tps[sdb]
0.00
# 4. 再web界面进行配置,如下图所示
3. zabbix自定义触发器
自定义监控项,采集数据
触发器,触发报警
{10.0.0.100:kernel.maxfiles.last(0)}<1024
kernel.maxfiles
{监控主机的名称:监控项key.函数方法()}
diff() 比较两次取到的值 {10.0.0.100:vfs.file.cksum[/etc/passwd].diff(0)}>0
last() 最新值 {10.0.0.100:vm.memory.size[available].last(0)}<20M
avg(5m) 平均5分钟,改值都大于>1 网卡流量 适用于频繁波动的监控项
max(5m) 最大值
min(5m) 最小值
nodate(5m) 没有收到数据报警 监控主机存活
监控nginx服务的状态,适合用最新值
nginx_staus 结果 1 up 0 down
{10.0.0.100:nginx_staus.last()}=0
每一个监控项,都是有取值间隔30s
nginx已经触发报警,修复故障,需要等待下一次监控项取值
一般不用声音告警,一般使用企业微信或者邮件告警
4. zabbix邮件告警
# 设置邮件报警分为三个步骤
1. 配置发件人
2. 收件人
3. 启动发邮件的动作
创建DK用户:并将用户添加邮件告警