监控系统主脚本

main.sh 作为主脚本,作为整个脚本的入口,也就是说,当我们执行监控系统的时候,最开始执行的就是 main.sh,如果想去执行 shares 下的监控脚本,直接在 main.sh 去调用就可以了

[[email protected] ~]# cat mon/bin/main.sh
#!/bin/bash

# 是否发邮件的开关
export send=1
export addr=`/sbin/ifconfig |grep -A1 ‘eth0‘ |grep addr: |awk ‘{print $2}‘|awk -F: ‘{print $2}‘`

# 判断是否在主程序(bin)目录来执行主脚本
dir=`pwd`
last_dir=`echo $dir|awk -F‘/‘ ‘{print $NF}‘`
if [ $last_dir == "bin" ] || [ $last_dir == "bin/" ]; then
    conf_file="../conf/mon.conf"
else
    echo "you shoud cd bin dir"
    exit
fi
exec 1>>../log/mon.log 2>>../log/err.log

# 监控系统负载(每台机器都要监控负载)
echo "`date +"%F %T"` load average"
/bin/bash ../shares/load.sh

# 根据配置文件来决定是否监控 502
if grep -q ‘to_mon_502=1‘ $conf_file; then
    export log=`grep ‘logfile=‘ $conf_file |awk -F ‘=‘ ‘{print $2}‘ |sed ‘s/ //g‘`
    /bin/bash  ../shares/502.sh
fi   
时间: 07-10

监控系统主脚本的相关文章

shell编程之【nagios自定义监控系统磁盘脚本】

之前写了一篇文章主要介绍nagios的搭建使用 http://msiyuetian.blog.51cto.com/8637744/1704346 下面这篇文章主要介绍nagios自定义监控系统磁盘的脚本实现. Nagios可以识别4种状态返回信息,即 0 表示状态正常(OK).1 表示出现警告(WARNING).2 表示出现非常严重的错误(CRITICAL),3 表示未知错误(UNKNOWN).Nagios根据插件返回来的值,来判断监控对象的状态,并通过web显示出来.我们就可以利用上面这个特性

监控系统子脚本

一.监控系统负载 [[email protected] ~]# vim mon/shares/load.sh#!/bin/bash load=`uptime |awk -F 'average:' '{print $2}'|cut -d',' -f1|sed 's/ //g' |cut -d. -f1` if [ $load -gt 20 ] && [ $send -eq "1" ] then echo "$addr `date +%T` load is $lo

3.2-nagios自定义监控系统磁盘脚本

一. 自定义nagios监控脚本 1. 在客户端上创建脚本/usr/local/nagios/libexec/check_disk.sh vim  /usr/local/nagios/libexec/check_disk.sh 写入如下内容:(client上) #!/bin/bash row=`df -h |wc -l`             #输出的总行数 for i in `seq 2 $row`          #从第二行开始为真实的磁盘,因为第一行为抬头信息 do ava=`df -

监控系统邮件脚本

mail.php 的作用是调用远程的 SMTP 服务器,通过认证之后去收发邮件,如果要使用该脚本,必须先打开 QQ 邮箱的 SMTP 服务,并且确保 php 已经安装 [[email protected] ~]# vim mon/mail/mail.php<?php class Smtp { /* Public Variables */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; v

nagios自定义监控系统磁盘脚本

客户端 1.创建脚本check_disk.sh [[email protected] ~]# vim /usr/lib64/nagios/plugins/check_disk.sh        #一般都放在这个路径下 #!/bin/bash row=`df -h|wc -l` for i in `seq 2 $row` do ava=`df -h|sed -n "$i"p|awk '{print $4}'`         #获取磁盘可用值 u_per=`df -h|sed -n &

监控系统脚本

告警系统 需求:使用shell定制各种个性化告警工具,但需要统一化管理.规范化管理. 思路:指定一个脚本包,包含主程序.子程序.配置文件.邮件引擎.输出日志等. 主程序:作为整个脚本的入口,是整个系统的命脉. 配置文件:是一个控制中心,用它来开关各个子程序,指定各个相关联的日志文件. 子程序:这个才是真正的监控脚本,用来监控各个指标. 邮件引擎:是由一个Php程序来实现,它可以定义发邮件的服务器.发邮件人以及收邮件人. 输出日志:整个监控系统要有日志输出. 要求:我们的机器角色多种多样,但是所有

20.20 告警系统主脚本;20.21 告警系统配置文件;20.22 告警系统监控项目

1. 要求:我们的机器角色多种多样,但是所有机器上都要部署同样的监控系统,也就说所有机器不管什么角色,整个程序框架都是一致的,不同的地方在于根据不同的角色,定制不同的配置文件. 2. 程序架构: bin下是:主程序 conf下是:配置文件 shares下是:各个监控脚本 mail下是:邮件引擎 log下是:日志 20.20 告警系统主脚本 约定:所有脚本都放在 /usr/local/bin目录下! shell项目-告警系统main.sh 1. 在/usr/local/bin/目录下,创建一个mo

Shell告警系统(需求分析,告警系统主脚本,告警系统配置文件,告警系统监控项目)

shell项目-告警系统 1.需求分析 (虽然之前我们学习了zabbix,但有时候也不能满足我们的需求,比如比较冷门的监控项目需要写自定义脚本,或者服务器网络有问题,没有办法将客户端的数据发送到服务端.) 需求:使用Shell定制各种个性化告警系统,但需要统一化管理. 思路:制定一个脚本包,包含主程序,子程序,配置文件,邮件引擎,输出日志等. 主程序:作为整个脚本的入口,是整个系统的命脉. 配合文件:是一个控制中心,用它来开关各个子程序,指定哥哥相关联的日志文件. 子程序:这个才是真正的加农脚本

20.20 告警系统主脚本20.21 告警系统配置文件20.22 告警系统告警系统监控项目

20.20 告警系统主脚本以后约定所有的shell脚本都放到这个目录下cd /usr/local/sbin创建以下目录主脚本放到bin下vi main.sh 写入以下内容:#!/bin/bash#Written by aming. 是否发送邮件的开关 export send=1 过滤ip地址 export addr=/sbin/ifconfig |grep -A1 "ens33: "|awk '/inet/ {print $2}'dir=pwd 只需要最后一级目录名(这里是最后一级目录