nagios 监控xenserver memery

cat check_xen_mem.sh
#!/bin/sh

function usage()
{
        msg="$0 : use to check xenserver memery usage for nagios"
        echo "****************************************************"
        echo -e "\033[1;94m${msg}\033[0m"
        echo -e "Usage:"
        echo -e "       $0 [-w warning -c critical]"
        echo -e "       $0 -w 80 -c 90 "
        echo "****************************************************"
}

if [ $# -eq 0 ];then
        warning=0.85
        critical=0.95
elif [ "$1" = "-w" ];then
        warning=`echo $2`
        shift
        shift
        if [ "$1" != "-c" ];then
                usage
                exit 1
        fi
        critical=`echo $2`
        shift
        shift
else
	usage 
	exit 1
fi

STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3

uuid_list=`xe host-list | grep uuid | awk ‘{print $5}‘`
i=1
for uuid in $uuid_list
do
	each_mem_total[$i]=`xe host-param-get param-name=memory-total uuid=$uuid`
	each_mem_free[$i]=`xe host-param-get param-name=memory-free uuid=$uuid`
	let i=i+1
done

mem_total=`echo ${each_mem_total[@]} | awk ‘{for(i=0;i<NF;i++) total+=$i; print total/1024/1024/1024}‘`
mem_free=`echo ${each_mem_free[@]} | awk ‘{for(i=0;i<NF;i++) free+=$i;print free/1024/1024/1024}‘`
#mem_usage=$(((mem_total-mem_free)/mem_total))
mem_usage=`awk -v a=$mem_total -v b=$mem_free ‘BEGIN{printf "%.2f",(a-b)/a }‘`
host_num=${#each_mem_total[@]}

performance="$host_num host; usage: $mem_usage; free: $mem_free | mem_usage=$mem_usage;$warning;$critical;0;100;mem_free=$mem_free;;;;;"

function cmp_data(){
	if [ $1 \< $2 ];then
		echo "OK $performance"
		exit_code=$STATE_OK
	elif [ $1 \> $3 ];then
		echo "CRITICAL $performance"
		exit_code=$STATE_CRITICAL
	else
		echo "WARNING $performance"
		exit_code=$STATE_WARNING
	fi
}

cmp_data $mem_usage $warning $critical
exit $exit_code
时间: 2024-08-08 22:08:29

nagios 监控xenserver memery的相关文章

nagios 监控xenserver 流量

cat check_xen_pif.sh #!/bin/sh count=0 uuid_list=`xe bond-list | grep master | awk '{print $4}'` #get io_read_kbs param for uuid in $uuid_list do io_read[$count]=`xe pif-param-get param-name=io_read_kbs uuid=$uuid` # echo ${io_read[$count]}         l

通过collectd工具获取虚拟机的nagios监控脚本简单例子

在宿主机上安装collectd工具后,可以通过collectd工具来获取宿主机上的虚拟机的cpu,memery,if-traffic等数据.可以通过nagios监控脚本来实现对这些数据监控. 以下是一个简单的监控虚拟机内存脚本: #!/bin/bash #Desc:to check memory about vm instance STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 STATE_UNKNOWN=3 COLLECTD_HOME=/usr/loca

Nagios监控Windows的网卡流量

Nagios监控Windows的网卡流量 使用/usr/local/nagios/libexec/中的check_traffic.sh,不但可以监控Linux的网卡流量,也可以监控Windows服务器的流量. 1 Check_traffic.sh用法用法 [[email protected] libexec]#/usr/local/nagios/libexec/check_traffic.sh -h Usage: ./check_traffic.sh [ -v ] [ -6 ] [ -r ] -

Nagios监控系统

一.Nagios监控系统简介 1.Nagios工作原理 Nagios本身不包括监控主机和服务的功能.所有的监控.监测功能都是通过各种插件来完成的.安装完nagios之后,在nagios主目录下的/libexex里面放有nagios自带的插件,如:check_disk是检查磁盘空间的插件,check_load是检查cpu负载的插件,每一个插件可以通过运行./check_xxx -h命令来检查其使用方法和功能. 1.Nagios的四种监控状态 Nagios可以识别四种状态返回信息.0(OK)表示状态

Nagios监控远程主机

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; line-height: 150%; font-size: 13.5pt; font-family: "Calibri", "sans-serif" } h1 { margin-top: 17.0pt; margin-right: 0cm; margin-bottom: 16.5pt; margin-left:

Nagios监控系统主机与服务配置

配置环境: 监控服务器 :192.168.189.132 被监控客户端:192.168.189.131(linux) 192.168.1.152(windows) Nagios相关配置文件概述: # cd /usr/local/nagios/etc/   相关文件用途如下表: 文件名或目录名 用途 cgi.cfg 控制CGI访问的配置文件 nagios.cfg Nagios 主配置文件 resource.cfg 变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,如$USE

nagios监控详解(中小企业必备的监控设备) &lt;上&gt;

cacti和nagios 都是中小企业必备的监控软件,首先来一个回顾 cacti监控优缺点:主要是监控图形流量,通过web界面监控流量,(主要监控cpu内存硬盘,流量) 基于snmp(抓取数据)和rrdtool(rrdtool主要是将抓取的数据 绘制图像) nagios监控系统服务的,也能监控window,linux,unix的主机状态,不过主要还是监控系统服务. nagios监控客户端需要借助插件以及NRPE软件 [把之前写的一个关于cacti的博客地址也不要碧莲的贴出来]http://www

Nagios 监控系统架设全攻略

Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows .Linux.VMware 和 Unix 主机状态,交换机.路由器等网络设置等.一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在状态恢复后发出正常的邮件或短信通知.Nagios 结构简单,可维护性强,越来越受中小企业青睐,以及运维和管理人

nagios监控内出错NRPE: Unable to read output 解决!

 nagios监控内出错NRPE: Unable to read output 解决! 由于编写check_mem监控脚本,在监控机报警:NRPE: Unable to read output,其他监控项目正常 初步认定是nagios没有权限去实行check_mem脚本: 1.在监控主机监控客户机内存,遇到NRPE: Unable to read output # /usr/local/nagios/libexec/check_nrpe -H 1192.168.1.10 -c check_mem