赞
踩
从网上查了很多资料,有人说用监控模版中的proc.mem或者proc.num或者proc_info,我们先看看这几个监控项:
1、proc.mem[<name>,<user>,<mode>,<cmdline>]
解释:用户进程消耗的内存
单位:字节
说明:name - 进程名 (默认值 “all processes”)
user - 用户名 (默认值“all users”)
mode - 可选值: avg, max, min, sum (默认)
cmdline - 命令行过滤(正则表达时)
示例keys:
proc.mem[,root] - root的进程消耗了多少内存
proc.mem[zabbix_server,zabbix] - zabbix用户运行的zabbix_server使用了多少内存
proc.mem[,oracle,max,oracleZABBIX] - memory used by the most memory-hungry process running under oracle having oracleZABBIX in its command line
此监控项不支持windows!
2、proc.num[<name>,<user>,<state>,<cmdline>] -------
--网上一些人用这个监控项实现监控,我试过没成功,大家可以尝试下。
proc.num[]只是监控系统所有进程个数,不能监控到具体的某个进程运行状态。
解释:某用户某些状态的进程的数量
单位:进程数量
说明:name - 进程名称 (默认“all processes”)
user - 用户名 (默认 “all users”)
state - 可用值: all (默认), run,sleep, zomb
cmdline - 命令行过滤(正则表达时)
示例keys:
proc.num[,mysql] - MySQL用户运行的进程数量
proc.num[apache2,www-data] - www-data运行了多少个apache2进程
proc.num[,oracle,sleep,oracleZABBIX] - number of processes in sleep state running under oracle having oracleZABBIX in its command line
备注:Windows系统只支持name和user两个参数
这里的进程状态默认是ALL,不是RUN,windows不支持状态参数。
2、在zabbix的配置文件zabbix_agentd.conf中最后添加计数器:
PerfCounter=cmd_mem,"\Process(cmd)\Working Set",3
同理添加rman.exe和ftp.exe进程监控项
PerfCounter=rman_mem,"\Process(rman)\Working Set",3
PerfCounter=ftp_mem,"\Process(ftp)\Working Set",3
以上为固定格式。
一般有两个参数 perf_counter 和 PerfCounter 用来设置,当前使用的是PerfCounter 。
cmd_mem:自定义别名,监控项中的键值就是这个名字
"\Process(cmd)\Working Set":性能计数器对象
3:间隔3秒发送数据
当然,还有其他写法,计数器用数字来表示,可查看注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
客户端添加完成这些参数后,重启客户端代理!
现在回到zabbix服务器,进入zabbix 的bin目录:/usr/local/zabbix/bin
执行以下命令(-s 指定客户端地址,-k 指定性能计数器),若返回数值,则表示成功!
./zabbix_get -s 192.168.X.X -k cmd_mem
三、在zabbix的web画面添加监控项
最终效果图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。