nagios load 百分比 监控报警插件

nagios 自带的监控load 的由于不同型号的机器需要区别设置参数,很不方便,使用使用百分比可以不用考虑机器的cpu核数

#!/bin/bash
##########################################################
#[email protected] load_info                                #
#[email protected]                                                 #
##########################################################
#set -o nounset
set -o errexit
if [ $# -ne 4 ];then
   echo "sh `basename $0`  -w[args]  -c[args]"
   exit 2
fi
while getopts :w:c: opt
do
        case $opt in
        w)
        Warng_threshold=$OPTARG
        ;;  
        c)
        Critical_threshold=$OPTARG
        ;;
        h)
        echo "Usage:sh $0 -w 80 -c 100"  
        exit 3
        ;;   
        :)
        echo "Option -$OPTARG requires an argument." >&2
        exit 3
        ;; 
        \?)   
        echo "sh `basename $0`  -w[args]  -c[args]"  
        exit 3
        ;;  
        esac  
done
if [ -z "$Warng_threshold" ] || [ -z "$Critical_threshold" ];then
#   echo "sh `basename $0`  -w[args]  -c[args]"
   exit 2
fi
int_War_threshold=$(echo $Warng_threshold|awk ‘{print $1*100}‘)
int_Cri_threshold=$(echo $Critical_threshold|awk ‘{print $1*100}‘)
load_OK=0
load_WARNING=1
load_CRITICAL=2
load_UNKNOWN=3

_load_1min=$(cat /proc/loadavg |awk ‘{print $1}‘)
_load_5min=$(cat /proc/loadavg |awk ‘{print $2}‘)
_load_15min=$(cat /proc/loadavg |awk ‘{print $3}‘)
_cpu_core=$(cat /proc/cpuinfo |grep processor|wc  -l)

function get_percent()
{
   local load_value=$1
   #local  temp_value=$(echo "scale=4;${load_value}/${_cpu_core}"|bc)
   #_value=$(echo "$temp_value*100"|bc|awk ‘{printf "%2.2f\n",$0}‘)
   local _value=$(echo "$load_value"|awk ‘{printf "%2.2f\n",$1/_cpu_core*100}‘ _cpu_core=${_cpu_core})
   printf ${_value}

}

min1_load=$(get_percent  ${_load_1min})
min5_load=$(get_percent  ${_load_5min})
min15_load=$(get_percent  ${_load_15min})
#echo "$min1_load,$min5_load,$min15_load"
int_min1_load=$(echo $min1_load|awk ‘{print $1*100}‘)
int_min5_load=$(echo $min5_load|awk ‘{print $1*100}‘)
int_min15_load=$(echo $min15_load|awk ‘{print $1*100}‘)

if [ $int_min1_load -lt $int_War_threshold ] && [ $int_min5_load -lt $int_War_threshold ] && [ $int_min15_load -lt $int_War_threshold ];then
   echo "OK"
   exit $load_OK
elif [ $int_min1_load -gt $int_Cri_threshold ] || [ $int_min5_load -gt $int_Cri_threshold ] || [ $int_min15_load -gt $int_Cri_threshold ];then
   echo "CRITICAL: min1_load:${min1_load},min5_load:${min5_load},min15_load:${min15_load}"
   exit $load_CRITICAL
else
   echo "WARNING: min1_load:${min1_load},min5_load:${min5_load},min15_load:${min15_load}"
   exit $load_WARNING
fi
时间: 2024-10-13 21:29:35

nagios load 百分比 监控报警插件的相关文章

Kibana 可视化监控报警插件 KAAE 的介绍与使用

https://blog.csdn.net/phachon/article/details/53424631 https://blog.csdn.net/Dragon714/article/details/80625386 https://blog.csdn.net/whg18526080015/article/details/73812400 原文地址:https://www.cnblogs.com/diyunpeng/p/9194277.html

合nagios+cacti+微信、飞信实现网络监控报警

系统环境:rhel6.3         selinux disabled  和 iptables     整合cacti和nagios是利用了cacti的一个插件nagiosfor cacti,它的原理是将nagios的数据通过ndo2db导入到mysql数据库(cacti的库中),然后cacti读取数据库信息将nagios的结果展示出来. 一.nagios监控本地主机 注释掉localhost.cfg,新增加hosts.cfg,services.cfg [[email protected]

nagios监控报警一般搭建过程及常见问题

l Nagios是什么 l Nagios安装步骤 l Nagios-plugins插件安装步骤 l Nagios安装完成后启动 l Nagios web访问 l 常见问题 l 参考资料 Nagios是什么 上个星期,自己搭建了下nagios服务器,这里记录下我自己的方法心得,给新手一个指导. Nagios是什么呢? 官网是这样定义的: Nagios is a host/service/network monitoring program written in C and released und

Nagios设置只监控不报警

设置全部监控项都开启邮件报警: vim /usr/local/nagios/etc/nagios.cfg 设置 enable_notifications=1    1为开启,0为关闭 如个别监控项只监控不报警: 例如负载load只监控不报警 vim /usr/local/nagios/etc/objects/services.cfg define service{ use                             local-service-15x7,services-pnp ho

nagios自定义监控API插件

监控思路:通过url访问某一接口文件的具体返回内容,正则匹配某一接口存活必定含有的字符,若有则证明接口存活,若无则接口有问题. 废话不多说,上插件: #!/usr/bin/env python # -*- coding: utf-8 -*- import re import urllib import sys import getopt def usage():     print """Usage: check_api [-h|--help] [-u|--url url] 

Nagios利用NRPE监控Linux主机(3)

一.利用NRPE监控远程Linux的"本地信息" 上面已经对远程Linux 主机是否存活做了监控,而判断远程机器是否存活,我们可以使用ping 工具对其监测.还有一些远程主机服务,例如ftp.ssh.http,都是对外开放的服务,即使不用Nagios,我们也可以试的出来,随便找一台机器看能不能访问这些服务就行了.但是对于像磁盘容量,cpu负载这样的"本地信息",Nagios只能监测自己所在的主机,而对其他的机器则显得有点无能为力.毕竟没得到被控主机的适当权限是不可能

Ganglia与Centreon整合构建智能化监控报警平台

一.智能运维监控报警平台的组成 随着大数据时代的来临,运维工作的难度越来越大,每个运维人员都要面临不计其数的服务器和海量的数据,如何保证众多服务器和业务系统稳定高效地运行并尽量减少死机时间,成为考核运维工作的重要指标,而要实现大规模的运维,必须要有一套行之有效的智能运维监控管理系统,本章就详细介绍下如何构建一套完善的运维监控报警平台. 运维的核心工作可以分为运行监控和故障处理两个方面,对业务系统进行精确.完善的监控,保证能够在第一时间发现故障并迅速通知运维人员处理故障是运维监控系统要实现的基础功

Nagios利用NSClient++监控Windows主机(4)

在Nagios的libexec下有check_nt这个插件,它就是用来检查windows机器的服务的.其功能类似于check_nrpe.不过还需要搭配另外一个软件NSClient++,它则类似于NRPE.我们需要下载NSClient合适的版本,然后安装在被监控的windows主机上. Overview of NRPE NSClient++的原理如下图: 可以看到NSClient与nrpe最大的区别就是: NRPE: 被监控机上安装有nrpe,并且还有插件,最终的监控是由这些插件来进行的.当监控主

监控利器Nagios之一:监控本地NFS和外部HTTP、MySQL服务

监控利器Nagios之一:监控本地NFS和外部HTTP.MySQL服务 Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios的特点: 1.监控服务http.MySQL.nfs.tcp.ping等 2.监控主机资源cpu.负载.I/O.虚拟及内存磁盘利用率等 3.支持邮件微信等报警通信. 4.可选we