官方网站的必要性,做音乐网站要注意什么,网站建设东莞老铁博客,wordpress图片分组zabbix监控进程占cpu、内存、磁盘RAID情况
1、cpu达到90%时报警
名称: cpu user percent gt 90%
表达式#xff1a;{Template OS Linux:system.cpu.util[,idle].avg(1m)}10 2、内存达到80%时报警
配置—主机(选择监控主机)—监控项—创建监控项
1、创建监控项
名称{Template OS Linux:system.cpu.util[,idle].avg(1m)}10 2、内存达到80%时报警
配置—主机(选择监控主机)—监控项—创建监控项
1、创建监控项
名称内存使用率
类型可计算的
键值vm.memory.size[usedpercent]
公式
100*(last(vm.memory.size[total])-last(vm.memory.size[available]))/last(vm.memory.size[total])
信息类型数字无正负
更新间隔5s 2、创建触发器
配置—主机(选择监控主机)—触发器—创建触发器
名称: Memory used percent more than 80%
表达式: {192.168.88.16:vm.memory.size[usedpercent].avg(1,60)}80 3、创建图形 3、内存达到80%时报警
1、增加硬盘使用量的监控项
名称监控/磁盘空间
键值vfs.fs.size[/,pfree] 2、增加硬盘使用量的触发器
名称: 空闲硬盘大小 小于20%
表达式{192.168.88.16:vfs.fs.size[/,pfree].last(0)}20 4、监控进程占cpu、内存情况
mkdir -p /usr/local/zabbix/scripts
cd /usr/local/zabbix/scripts
vi top.sh
#!/bin/sh
top -b -n 1 -d 1 /tmp/top.txt chmod x top.sh
./top.sh
chown zabbix /tmp/top.txt
crontab -e
*/1 * * * * /usr/local/zabbix/scripts/top.sh /dev/null 21 vi discovery_process.sh
#!/bin/bash
#获取占用高的10个进程
#system process discovery script
proc_array(tail -n 8 /tmp/top.txt | awk {a[$NF]$10}END{for(k in a)print a[k],k}|sort -gr|head -10|cut -d -f2)
length${#proc_array[]} printf {\n
printf \t\data\:[
for ((i0;i$length;i))
do printf \n\t\t{ printf \{#PROCESS_NAME}\:\${proc_array[$i]}\} if [ $i -lt $[$length-1] ];then printf , fi
done printf \n\t]\n
printf }\n chmod x discovery_process.sh
测试获取的10个进程名
./discovery_process.sh json格式 vi process_check.sh
#!/bin/bash
#system process CPUMEM use information
mode$1
name$2
process$3
mem_total$(cat /proc/meminfo | grep MemTotal | awk {printf %.f,$2/1024})
cpu_total$(( $(cat /proc/cpuinfo | grep processor | wc -l) * 100 )) function mempre { mem_pretail -n 7 /tmp/top.txt | awk {a[$NF]$10}END{for(k in a)print a[k],k} | grep \b${process}\b | cut -d -f1 echo $mem_pre
} function memuse { mem_usetail -n 7 /tmp/top.txt | awk {a[$NF]$10}END{for(k in a)print a[k]/100*${mem_total},k} | grep \b${process}\b | cut -d -f1 echo $mem_use | awk {printf %.f,$1*1024*1024}
} function cpuuse { cpu_usetail -n 7 /tmp/top.txt | awk {a[$NF]$9}END{for(k in a)print a[k],k} | grep \b${process}\b | cut -d -f1 echo $cpu_use
} function cpupre { cpu_pretail -n 7 /tmp/top.txt|awk {a[$NF]$9}END{for(k in a)print a[k],k}|grep ${process}|cut -d -f1 if [ $cpu_pre ] then echo 0.0 else echo $cpu_pre.0
fi
} case $name in mem) if [ $mode pre ];then mempre elif [ $mode avg ];then memuse fi ;; cpu) if [ $mode pre ];then cpupre elif [ $mode avg ];then cpuuse fi ;; *) echo -e Usage: $0 [mode : pre|avg] [mem|cpu] [process]
esac chmod x process_check.sh zabbix agentd配置收集数据:
cat zabbix_agentd.conf
#monitor process
UserParameterdiscovery.process,/usr/local/zabbix/scripts/discovery_process.sh
UserParameterprocess.check[*],/usr/local/zabbix/scripts/process_check.sh $1 $2 $3 systemctl restart zabbix_agentd 在web界面导入模板discovery-cpumemory.xml 在主机添加整合图形
内存使用率 内存使用大小 cpu使用率 图形效果图
内存使用率 内存使用大小 5、监控磁盘RAID的discover模板
通常我们对硬盘当前的状态不太好确定一般通过机房人员巡检来完成有没有通过软件的方式来检查确定这个问题呢。MegaCli就可以做到一般通过 MegaCli 的“Media Error Count”和“Other Error Count”这两个数值来确定阵列中磁盘是否有问题。
Medai Error Count 表示磁盘可能错误可能是磁盘有坏道这个值不为0值得注意数值越大危险系数越高
Other Error Count 表示磁盘可能存在松动可能需要重新再插入
发现脚本
#!/bin/bash
###raid_id_discover.sh
###wuhf###
num0
RAID_stats(){
DISK($(sudo /usr/local/MegaCli/MegaCli64 -pdlist -aALL |grepSlot Number|awk -F:{print $2}))
printf{\n\tdata:[\n
for key in${DISK[]};do if[[${#DISK[]} -gt $num$num -ne $((${#DISK[]}-1))]];then printf\t\t{\{#RAID_ID}\:\$key\},\n letnum elif[[$((${#DISK[]}-1)) -eq $num]];then printf\t\t{\{#RAID_ID}\:\$key\}\n fi
done
printf\t]\n}\n
}
RAID_stats
键值设置
#raid.conf
UserParameterraid_discover,bash /usr/local/zabbix/libexec/raid_id_discover.sh
UserParameterraid_degraded,sudo /usr/local/MegaCli/MegaCli64 -AdpAllInfo -aALL -NoLog |grepDegraded|awk{print $NF}
UserParameterraid_failed_disks,sudo /usr/local/MegaCli/MegaCli64 -AdpAllInfo -aALL -NoLog |grepFailed Disks|awk{print $NF}
UserParameterraid_MEC[*],sudo /usr/local/MegaCli/MegaCli64 -PDList -aAll -NoLog |grep -A 8 Slot Number: $1|grepMedia Error Count|awk{print $NF}
UserParameterraid_OEC[*],sudo /usr/local/MegaCli/MegaCli64 -PDList -aAll -NoLog |grep -A 8 Slot Number: $1|grepOther Error Count|awk{print $NF}
权限设置
chmod 755 /usr/local/zabbix/libexec/raid_id_discover.sh
chown zabbix.zabbix /usr/local/zabbix/libexec/raid_id_discover.sh
chown zabbix.zabbix /usr/local/zabbix/etc/zabbix_agentd.conf.d/raid.conf
echozabbix ALL(root) NOPASSWD:ALL /etc/sudoers
sed -i s/^Defaults.*.requiretty/#Defaults requiretty/ /etc/sudoers
模板导入 说明
要理解模板首先要了解MegaCLI命令的详情这个百度教程有很多我提供的模板是在zabbix-3.0的环境上运行的低版本可能不兼容只要理解了键值的意义自己可以自定义模板