mysql监控内存cpu使用率_zabbix自动发现与监控内存和CPU使用率最高的进程

监控需求

某项目的应用服务器CPU和内存使用率的监控,通过zabbix系统监控记录应用服务器上进程的CPU和内存的使用情况,并以图表的形式实时展现,以便于我们分析服务器的性能瓶颈。

监控方式

利用zabbix监控系统的自动发现功能,首先编写shell脚本获取服务器的CPU和内存资源使用率最大的进程,以json的格式输出,然后对这些进程的CPU和内存资源使用情况进行监控。(本文监控的进程为Linux服务器中资源使用率最高的10个进程。)

缺点

不适用于监控固定的进程

首先使用top命令查看进程状态,再取出进程的%CPU(该值表示单个CPU的进程从上次更新到现在的CPU时间占用百分比) 和%MEM值。

1

2

3

4

5

6

7

8

9

10

11

12

13

14hmracdb2:~ # top

top - 13:57:01 up 32 days,  5:21,  2 users,  load average: 0.14, 0.26, 0.34

Tasks: 206 total,   1 running, 205 sleeping,   0 stopped,   0 zombie

Cpu(s):  3.7%us,  2.7%sy,  0.0%ni, 87.2%id,  6.3%wa,  0.0%hi,  0.1%si,  0.0%st

Mem:   3926096k total,  3651612k used,   274484k free,   788120k buffers

Swap:  4193276k total,  1369968k used,  2823308k free,  1443884k cached

PID USER      PR  NI  VIRT  RES  SHR S   %CPU %MEM    TIME+  COMMAND

2365 root      20   0  854m 315m  12m S      3  8.2   1252:49 ohasd.bin

5307 oracle    20   0 1783m  22m  22m S      3  0.6   1106:03 oracle

4532 root      20   0  676m  31m  13m S      2  0.8 853:35.32 crsd.bin

4272 grid      RT   0  437m 282m  52m S      2  7.4   1006:47 ocssd.bin

5279 oracle    20   0 1771m  60m  48m S      2  1.6 477:11.19 oracle

5122 oracle    20   0  654m  15m  12m S      1  0.4 537:40.85 oraagent.bin

由于top是交互的命令,我们把top命令的结果输出到一个文件上

hmracdb2:~ # top -b -n 1 > /tmp/.top.txt

第一个脚本,获取监控进程内存资源占有率前10的进程,输出格式为json格式,用于zabbix自动发现进程

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19# cat discovery_process.sh

#!/bin/bash

#system process discovery script

top -b -n 1 > /tmp/.top.txt && chown zabbix. /tmp/.top.txt

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 ((i=0;i

do

printf "\n\t\t{"

printf "\"{#PROCESS_NAME}\":\"${proc_array[$i]}\"}"

if [ $i -lt $[$length-1] ];then

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值