脚本监控网络状态,输出日志并归档(V2)

脚本监控网络状态&日志归档整理(V2)

最近为检测VPN环境网络状态是否稳定,没有使用监控zabbix等监控工具,为方便快捷,使用脚本实现网络监控,并输出日志归档整理,方便后续排查。

在上次基础上,新增了微信告警,并有收敛效果,只有在初次异常时告警,恢复后发送恢复通知,也可以根据具体需求设置短信与邮件告警。

#!/bin/bash
IP=10.234.100.100
dir="/netdir/"
if [ ! -d ${dir} ];then
    mkdir -p ${dir}
fi
echo 1 > ${dir}ping.lock
while true
do
    Time=`date +%F`
    TIME="${Time} 23:59"
    if [ "${data}" == "${TIME}" ];then
        mkdir ${dir}${Time} && mv ${dir}ping2.log ${dir}${Time}-ping2.log
        mv ${dir}${Time}-ping2.log ${dir}${Time}
    fi
    find ${dir} -mtime +7 -name "*-ping2.log" -exec rm -rf {} \;
    data=`date +%F‘ ‘%H:%M`
    data1=`date +%F‘ ‘%H:%M:%S`
    echo "------------${data1}---------------">>${dir}ping2.log
    ping -c 10 ${IP} >>${dir}ping2.log
    if [ $? -eq 1 ];then
        STAT=`cat ${dir}ping.lock`
        if [ ${STAT} -eq 1 ];then
            /bin/bash /DATA/oracle/netdir/weixin.sh Username Ping "Ping from PDC(172.16.10.10) ping 公有云(10.234.100.100)中断,请检查深信服VPN! \n TIME:${data1}"
            echo 0 > ${dir}ping.lock
        else
            continue
        fi
    else
        STAT=`cat ${dir}ping.lock`
        if [ ${STAT} -eq 0 ];then
            /bin/bash /DATA/oracle/netdir/GFweixin.sh xuel GLP "GLP from PDC(172.16.10.10) ping 公有云(10.234.100.100)恢复 \n TIME:${data1}"
            echo 1 > ${dir}ping.lock
        else
            continue
        fi
    fi
done
时间: 05-25

脚本监控网络状态,输出日志并归档(V2)的相关文章

top命令详解 动态的监控网络状态

1.top命令:可以动态的监控cpu 参数说明:当前时间 系统启动多久了 当前登录的人数 当前系统的负载情况(三个数和/3>0.6就危险了) 目前有多少进程数 :休眠的进程数,运行的进程数,僵死进程数(已没有用了,但是还是占据内存),静止状态下的进程数 cpu的状态(idle cpu的资源空间大小) Mem内容使用情况:内存总数,正在被使用,空闲的, Swap(虚拟内存):真实内存 使用内存 以下是top命令: top -d 10 :设置动态监控时间10s top -u user :设置要监控的

Android中判断网络连接是否可用及监控网络状态

Android中判断网络连接是否可用及监控网络状态 作者: 字体:[增加 减小] 类型:转载 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android中判断网络连接是否可用及监控网络状态,感兴趣的朋友可以参考下 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"

Android 监控网络状态

Html代码 public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity == null) { Log.i("NetWorkState", "Unavailabe

用c#监控网络状态

1.查询当前网络状态: using Microsoft.VisualBasic.Devices; //判断当前网络连接状态 Network nw=new Network(); if(nw.IsAvailable) lbmsg.Text="网络已连接"; else lbmsg.Text="网络已断开"; 2.实时监控网络状态 using System.Net.NetworkInformation; // Constructor public MainPage() {

AFN监控网络状态(代码)

利用AFN进行网络状态监控: #import "HMViewController.h" #import "AFNetworking.h" @interface HMViewController () @end @implementation HMViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typ

C# 利用性能计数器监控网络状态

本例是利用C#中的性能计数器(PerformanceCounter)监控网络的状态.并能够直观的展现出来 涉及到的知识点: PerformanceCounter,表示 Windows NT 性能计数器组件.NextValue() 即获取计数器样本并为其返回计算所得值. PerformanceCounterCategory 表示性能对象,它定义性能计数器的类别.通过这两个即可得到计数器的信息. Chart 图表,VS自带的Chart图表,大大简化了对图表的开发.关于Chart,此前已有例子说明 Q

shell脚本-监控网络情况

#!/bin/bash # ------------------------------------------------------------------------------- # FileName:    networkchecking # Revision:    2.0 # Date:        2017/09/14 # Author:      XAD # Email:       [email protected] # Website:     http://onenic

Linx监控分享--网络状态监控+邮件提醒

网络状态监控 网络状态:netstat 各个状态的总计,详情:以及重点端口的详细连接情况(22,25,80,3306,8080),打印客户端连接数最多的ip. 邮件报告当前状态. 在手机上安装网易的邮件客户端,就可以达到实时提醒的效果. 关于mail的配置,见之前的文章:http://blog.csdn.net/rookie_ceo/article/details/46559195 #!/bin/sh source /etc/profile IP=`/sbin/ifconfig|sed -n '

[iOS 多线程 &amp; 网络 - 2.8] - 检测网络状态

A.说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的:(1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能)(2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI\3G网络:自动下载高清图片 低速网络:只下载缩略图 没有网络:只显示离线的缓存数据 苹果官方提供了一个叫Reachability的示例程序,便于开发者检测网络状态https://developer.apple.com/library/ios/samplecode/Reachability

归档—监控ORACLE数据库告警日志

ORACLE的告警日志里面包含许多有用的信息,尤其是一些ORACLE的ORA错误信息,所以有必要及时归档.监控数据库告警日志的ORA错误,及时提醒数据库管理员DBA处理这些错误信息,那么我们首先来看看告警日志的内容片断:   归档告警日志文件 告警日志文件如果不加管理的话,那么文件会持续增长,有时候文件会变得非常大,不利于读写.一般建议将告警日志按天归档,归档文件保留三个月(视情况而定),下面来看看将告警日志文件归档的两个Shell脚本: alert_log_archive.sh version