zabbix使用自定义脚本监控内存

我这里的脚本是监控centos7系统的内存。centos7系统的内存如何查看我之前的博客都是有的。这里直接写了监控步骤

1、首先是编写脚本。

#!/bin/bash
mem_total(){
    TOTAL=`free |grep -i mem |awk ‘{print $2}‘`
    echo ${TOTAL}
}
mem_use(){
    USE=`free  |grep -i mem | awk ‘{print $3}‘`
    echo ${USE}
}
mem_free(){
    FREE=`free  |grep -i mem |awk ‘{print $4}‘`
    echo ${FREE}
}
mem_available(){
    USAGE=`free  |grep -i mem | awk ‘{print  $7}‘`
    echo ${USAGE}
}

main(){
    case $1 in
        mem_total)
           mem_total;
           ;;
        mem_use)
            mem_use;
            ;;
        mem_free)
            mem_free;
            ;;
        mem_available)
            mem_available;
            ;;
    esac
}
main $1

2、在配置文件中进行配置

3、在server端使用zabbix_get进行测试

4、在zabbix界面开始添加监控项

首先添加第一项:

然后添加第二项

然后添加第三项

最后添加第四项

5、添加完成后,返回到items的界面,查看一下是否真的可用

看来成功了。

6、最后我们添加graph

首先是新建graph,接下来开始填写数据

这样就行了。

7、现在我们查看一下监控结果如何。

看来监控的还不错。

8、最后总结一个问题:

单位问题:items里面的监控项都是带单位的,如果带B或bps单位的话,zabbix内部会进行自动转换,即除以1024。否则超过1000的值除以1000,然后带上K,这样子你会发现zabbix展示的值往往过大。所以对于监控磁盘IO,网络或者内存,最好让zabbix内部数值转换除以1024是最好了。

原文地址:https://www.cnblogs.com/FengGeBlog/p/10369519.html

时间: 2024-10-29 19:11:21

zabbix使用自定义脚本监控内存的相关文章

zabbix通过自定义脚本监控nginx,php-fpm和mysql占用内存数和进程的个数

首先,在zabbix脚本目录下添加一个脚本,写入如下代码 #!/bin/bash #license:GPL #mail:[email protected] #date:2015.04.16 top -bn1>/usr/local/zabbix-2.4.4/scripts/process.log LOG=/usr/local/zabbix-2.4.4/scripts/process.log php_fpm(){ grep "php-fpm" $LOG |awk '{sum+=$6}

zabbix 自定义脚本监控配置之网卡

注:要添加自定义脚本监控,必须升级zabbix agent版本至2.0.0以上, 一:配置步骤 1. 完成自定义监控脚本的编写(windows或linux脚本) 脚本要求: (1)既然是监控,那必然要有输出结果值(字符串,数字皆可) (2)必须要求zabbix用户有执行权限,当然可以直接设置所有用户都有执行权限(chmod 777 脚本文件) (3)若脚本需要传入参数,按照参数传入的顺序,在脚本中可用$1-$9来引用传入的参数 2 找到zabbix agent的配置文件zabbix_agentd

zabbix自定义脚本监控pps(Packets per Second,包转发率)

一:介绍 网络的性能通常用吞吐率(throughput)这个指标来衡量.常用的网络吞吐率的单位有:PPS(即每秒发送多少个分组数据包).BPS(Bytes Per Second;即每秒发送多少字节).bPS (bits Per Second;即每秒发送多少比特).TPS(TransactionsPer Second;即每秒完成多少次发送过程). pps:(包每秒)包转发率标志了交换机转发数据包能力的大小.一般交换机的包转发率在几十Kpps到几百Mpps.包转发速率是指交换机每秒可以转发多少百万个

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

监控需求 某项目的应用服务器CPU和内存使用率的监控,通过zabbix系统监控记录应用服务器上进程的CPU和内存的使用情况,并以图表的形式实时展现,以便于我们分析服务器的性能瓶颈. 监控方式 利用zabbix监控系统的自动发现功能,首先编写shell脚本获取服务器的CPU和内存资源使用率最大的进程,以json的格式输出,然后对这些进程的CPU和内存资源使用情况进行监控.(本文监控的进程为Linux服务器中资源使用率最高的10个进程.) 缺点 不适用于监控固定的进程 首先使用top命令查看进程状态

[Zabbix问题解决]自定义脚本获取key失败怎么办?

之前在http://chenx1242.blog.51cto.com/10430133/1839829 这篇文章里写了如何创建一个自定义的key来让zabbix进行实时的监控.但是也会有这样一种情况,那就是脚本在客户端上是可以跑通而且可以得到结果,但是在zabbix_get却死活无法正确的得到脚本结果,得到的是空值.如下图: 注意一下,ZBX_NOTSUPPORTED是key不对的意思,而下面那个就是得到空值的意思. 一般来说这种情况非常蛋疼,zabbix就是这么一个缺点:出问题不表现出来,但是

zabbix3.4上使用自定义脚本监控公网tcp端口时延情况

我们搭建了***,主要是利用公网地址上tcp端口映射进行连接,从而达到访问的目的.但是有时候,网络不稳定,或者是公网地址震荡异常,导致***连接异常,所以我们很有必要监控tcp端口的连接的时延情况,当时延大于1000ms时,会严重的影响到使用体验,这时就要排查网络原因了. 如果能利用zabbix监控tcp端口的情况,并统计,当达到一定阈值的时候就告警,方便及时排查. 一.思路     1.linux上,可以使用nmap程序扫描端口之外,还可以统计大致的扫描结果,可以利用每次扫描端口的耗时来衡量网

zabbix通过orabbix和自定义脚本监控oracle数据库

由于公司要上oracle数据库,需要对这个东西惊醒监控,于是去网上淘资料,发现有一个套件orabbix监控oracle的效果还不错,于是拿来试验了一下.orabbix是由JAVA写的一个套件,需要在oracle服务器上面安装JAVA环境才能运行.这里为了简便,可以使用yum -y install java来安装JAVA环境. 安装完java环境之后可以通过下面命令来检测是否安装成功: [[email protected] ~]# java -version java version "1.7.0

zabbix自定义脚本监控pps(Packets per Second,包转发率)_下

接上篇,Linux的做完了,再搞windows的. 首先查了下windows的在哪里获取,在windows的性能计数器中可以获取,叫做Packets Received/sec(获取出来的值就可以直接使用,不像Linux还得需要求差) 那如何获取呢: 1,新建个ITEM,使用这个KEY,perf_counter[]来实现,这个key直接获取性能计数器的数值. 那么只需要找到需要监控的网卡的包转发率的名称 2,获取windows性能计数器上的值 方法一:在win 的 命令cmd窗口下,运行  typ

zabbix如何自定义一个监控项对web网站进行存活监控和报警?

1.自定义key[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.d/zabbix-nginx.confUserParameter=webcheck, curl --connect-timeout 3 -sL -w "%{http_code}\n" http://oa.test.com:88 -o /dev/nullwebcheck 是key的名称 4.重启agentd[[email protected] ~]# systemct