Zabbix监控基础模板优化

2023年 7月 15日 74.9k 0

zabbix 优化基础监控系统资源,如:CPU,内存,网络,磁盘IO,tcp链接等,在这里有些容易被忽视的监控如防火墙,还有一些文件等

CPU load优化

1,linux修改CPU监控

通常我们使用top查看CPU负载,在zabbix中,你看到的system.cpu.load[percpu,avg1]是单个核数的负载(The processor load is calculated as system CPU load divided by number of CPU cores.),那么在基础监控中,我们要修改报警阈值(Triggers),默认5,这里需要修改,修改如下:

网上有很多假设,假设1核心的cpu运行在0.7以下为正常,运行超过0.7甚至更高为负载较高,性能会降低,默认是5参考:https://www.zabbix.com/documentation/3.2/pt/manual/config/items/itemtypes/zabbix_agent?s%5B%5D=zabbix&s%5B%5D=boottime#chaves_suportadas修改如下:

平均cpu load已超过3已持续5分钟    {Template OS Linux:system.cpu.load[percpu,avg15].avg(5m)}>3
平均cpu load已超过1已持续5分钟    {Template OS Linux:system.cpu.load[percpu,avg15].avg(5m)}>1

当然有必要有一个可以显示CPU Load Average的图,那就添加一个CPU的监控TOP可观察的样子,这里我们可以计算上面说的0.7load和超过0.7的load,当然,我们以15分钟时间段来做这个是原本的percpu

Processor load (15 min average per core)         system.cpu.load[percpu,avg15]  

克隆修改成如下:

CPU Load Average (15 min average per core)         system.cpu.load[all,avg15]

我们还需要拿出CPU的内核来计算:cpu核心*0.7 < CPU Load Average到此,还是不够直观,在添加核数 system.cpu.num,这是一个内置的key,直接添加并且添加到图中

CPU number                        system.cpu.num

Triggers

{HOST.NAME} 15分钟持续CPU负载较高        ({Template OS Linux:system.cpu.num.last()}*0.7)<{Template OS Linux:system.cpu.load[all,avg15].last()}
{HOST.NAME} 15分钟持续负载超过核心数    ({Template OS Linux:system.cpu.num.last()}*1)<{Template OS Linux:system.cpu.load[all,avg15].last()}

2,windows基础监控修改

Window:

CPU使用的百分比情况,添加key如下
perf_counter["Processor(_Total)% User Time"]        系统CPU使用时间百分比情况
perf_counter["Processor(_Total)% Processor Time"]    系统CPU使用负载百分比情况
system.cpu.util[,,avg1]                                系统CPU平均1min的利用百分比

I/O读写加入到图中,这些是存在的,只需要找到Screenshot.png

File write bytes per second         perf_counter[218]      磁盘写入量 (bytes)
File read bytes per second         perf_counter[216]   磁盘读取量 (bytes)
Average disk write queue length         perf_counter[234(_Total)1404]        磁盘写入队列数
Average disk read queue length         perf_counter[234(_Total)1402]        磁盘读取队列数

Trigger:

CPU使用负载百分比情况做一个监控项,但达到85%就告警perf_counter["Processor(_Total)% Processor Time"]如下:

{HOST.NAME} 5分钟内CPU持续占用率超过85%    {Template OS Windows:perf_counter["Processor(_Total)% Processor Time"].avg(5m)}>85    

另外修改windows的Processor load (15 min average)的阈值

{HOST.NAME} 平均CPU load 15分钟超过7    {Template OS Windows:system.cpu.load[percpu,avg15].avg(5m)}>7    
{HOST.NAME} 平均CPU load 15分钟超过4    {Template OS Windows:system.cpu.load[percpu,avg15].avg(5m)}>4    
{HOST.NAME} 平均CPU load 15分钟超过2    {Template OS Windows:system.cpu.load[percpu,avg15].avg(5m)}>2

在奉上windows的安装包点击下载

3,iptables监控

除去本身的用户密码文件监控很有必要监控iptables和authorized_keys,以及配置文件监控假设你就安装在默认路径下。需要sudo的权限,注释Defaults requiretty,并且重启

echo "UserParameter=iptables_lins,/usr/bin/sudo iptables -S |md5sum|awk '{print $1}'" >> /etc/zabbix/zabbix_agentd.conf 
echo 'zabbix ALL=(root)NOPASSWD:/usr/sbin/iptables,/usr/bin/cksum /etc/sysconfig/iptables' >>/etc/sudoers 
echo 'UserParameter=iptables_file,/usr/bin/sudo /usr/bin/cksum /etc/sysconfig/iptables'|awk '{print $1}'  >>/etc/zabbix/zabbix_agentd.conf 
sed -i 's/Defaults    requiretty/#Defaults    requiretty/g' /etc/sudoers && cat /etc/sudoers|grep Defaults 
systemctl restart zabbix-agent

items

iptables临时插入监控        iptables_lins
iptables配置文件发生改变    iptables_file

Triggers

iptables临时表发生变化    {Templates IPtables:iptables_lins.diff(0)}>0    
iptables配置文件发生改变    {Templates IPtables:iptables_file.diff(0)}>0    

3,authorized_keys

authorized_keys也需要做一些有必要的监控,并且加锁

echo 'zabbix ALL=(root)NOPASSWD:/usr/bin/cksum /root/.ssh/authorized_keys' >>/etc/sudoers
echo "UserParameter=authorized_keys,sudo /usr/bin/cksum /root/.ssh/authorized_keys|awk '{print $1}'" >> /etc/zabbix/zabbix_agentd.conf
systemctl restart zabbix-agent.service

加锁

chattr -R +i /root/.ssh/   锁定
chattr -R -i /root/.ssh/   去锁

items

Checksum of authorized_keys        authorized_keys

Triggers

/root/.ssh/authorized_keys has been changed on {HOST.NAME}    {Templates_authorized_keys:authorized_keys.diff(0)}>0    

4,zabbix配置文件监控

Checksum of /etc/zabbix/zabbix_agentd.conf    vfs.file.cksum[/etc/zabbix/zabbix_agentd.conf]

zabbix配置文件不需要sudo权限,直接添加key

Triggers

/etc/zabbix/zabbix_agentd.conf has been changed on {HOST.NAME}    {Template OS Linux:vfs.file.cksum[/etc/zabbix/zabbix_agentd.conf].diff(0)}>0

加锁

chattr -R +i /etc/zabbix/zabbix_agentd.conf   锁定
chattr -R -i /etc/zabbix/zabbix_agentd.conf   去锁

这里有个前提是你需要将UserParameter写到这个文件,否则就锁定目录关于CPU负载,这里有篇文章描述的很到位,点击查看

相关文章

对接alertmanager创建钉钉卡片(1)
手把手教你搭建OpenFalcon监控系统
无需任何魔法即可使用 Ansible 的神奇变量“hostvars”
openobseve HA本地单集群模式
基于k8s上loggie/vector/openobserve日志收集
openobseve单节点和查询语法

发布评论