Zabbix实战-简易教程--进程类

作者:@skyflask
转载本文请注明出处:https://www.cnblogs.com/skyflask/articles/8007162.html


目录

一、获取LLD的json对象(游戏进程)
二、测试和自定义key
三、制作模板
四、效果图
六、参考文献

一、获取LLD的json对象(游戏进程)

通过脚本获取游戏进程:

复制代码
#!/bin/bash

gameprocess=(`ps xua|grep -E "server_global|server_ps|server_log|server_name|server_rank|server_db|server_gc|server_chat|server_th|server_zone|server_gs*|server_login"|grep -v grep|awk -F[/] '{print $2}'|awk '{print $1}'   2>/dev/null`)

length1=${#gameprocess[@]}
printf "{\n"
printf  '\t'"\"data\":["
for ((i=0;i<$length1;i++))
do
        printf '\n\t\t{'
        printf "\"{#GAMEPROCESS}\":\"${gameprocess[$i]}\"}"
        if [ $i -lt $[$length1-1] ];then
                printf ','
        fi
done
printf  "\n\t]\n"
printf "}\n"
EOF
复制代码

 执行结果如下:

脚本已经上传至github:https://github.com/loveqx/zabbix-doc/blob/master/zabbix-scripts/zabbix-template-gameprocess/gameprocess.sh

 

二、测试和自定义key

通过上面方法获取需要监控的进程后,就可以对进程的各项资源进行监控了。其中资源包括:cup使用大小和占用百分比、内存使用大小和占用百分比以及进程数量。

复制代码

# discovery game process
UserParameter=custom.process.discovery,/bin/sh /etc/zabbix/externalscripts/gameprocess.sh
UserParameter=custom.game.process.num[*],/bin/bash /etc/zabbix/externalscripts/game_process_number.sh $1
UserParameter=custom.game.process.cpu[*],sudo top -c -b -n1|grep -v grep |grep -w `ps xua|grep "\.\/$1$$"|grep -v grep|grep -v sh|awk '{print $$2}'`|awk '{print $$9}'
UserParameter=custom.game.process.mem[*],ps xua|grep -w "\.\/$1"|grep -v grep|grep -v sh |grep -v python|awk '{print $$4}'
UserParameter=custom.game.process.vsz.mem[*],ps xua|grep -w "\.\/$1"|grep -v grep|grep -v sh |grep -v python|awk '{print $$5}'
UserParameter=custom.game.process.rss.mem[*],ps xua|grep -w "\.\/$1"|grep -v grep|grep -v sh |grep -v python|awk '{print $$6}'

复制代码

 

注意:

1、其中cpu由于研发要求查看瞬时值,所以采用top方式进行采集。采集方式是通过pid来进行过滤。

2、更加值得注意的是:在centos7上,由于top出来的结果会显示不全。在本机执行没有问题,而通过远程执行的时候,结果会显示不全。

三、制作模板

模板已上传至github:https://github.com/loveqx/zabbix-doc/tree/master/zabbix-scripts/zabbix-template-gameprocess

四、效果图

1、CPU百分比

2、内存百分比

 

3、进程数量

4、内存大小

 

 

 

六、参考文献

 脚本地址:https://github.com/loveqx/zabbix-doc/tree/master/zabbix-scripts/zabbix-template-gameprocess

 

posted @   skyflask  阅读(557)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示