linux 拨号+squid监控脚本

客户端

#!/bin/bash

#get_memory-info
a=`free -m|grep Mem|awk ‘{print$2}‘`                    #total-memory
b=`free -m|grep Mem|awk ‘{print$3}‘`                    #used-memory
mem_percent=`awk ‘BEGIN{printf "%.2f%\n",(‘$b‘/‘$a‘)*100}‘`     #used-memory-%
#echo $mem_percent

#get_network_info
ping -W 5  -c 1 114.114.114.114 > /dev/null 2>&1
if [ $? -eq 0 ];then
        net_status="0"
else
        net_status="1"
fi
#echo $net_status

#get_squid_process_status
squid_status=`systemctl status squid|grep Active|awk ‘{print$2}‘`
if [ "$squid_status" = "active" ];then
        squid_status_code="0"
else
        squid_status_code="1"
fi
#echo $squid_status_code

echo "\"memory\":\""$mem_percent"\",\""net_status\":\""$net_status"\",\""squid_status\":\""$squid_status_code"\""

服务端:

#!/bin/bash

machine_ip=$1
machine_port=$2

 f1=`cat /proc/sys/kernel/random/uuid`
 f2=`cat /proc/sys/kernel/random/uuid`
 f3=`cat /proc/sys/kernel/random/uuid`

rm -rf /tmp/.$f1.txt /tmp/.$f2.txt /tmp/.$f3.txt
touch /tmp/.$f1.txt /tmp/.$f2.txt /tmp/.$f3.txt

{
 #echo "get machine_status"
 machine_status=`ssh -o ConnectTimeout=6 -p $machine_port [email protected]$machine_ip ‘sh /root/get_machine_info.sh‘`

 len=`echo $machine_status|wc -c`
 if [ $len -gt 10  ];then
     echo $machine_status >  /tmp/.$f1.txt
 else
        echo "\"memory\":\""1"\",\""net_status\":\""1"\",\""squid_status\":\""1"\""    > /tmp/.$f1.txt
 fi
}&

{
        #echo "get wan ip"
        host=`ssh -o ConnectTimeout=3 -p $machine_port [email protected]$machine_ip ‘sh /root/get_wan_ip.sh‘|awk -F: ‘{print$1}‘`
        #echo $host
        #ssh -o ConnectTimeout=3  [email protected]$host "date" > /dev/null
        #echo "test wan ip for 22"

        ping -W 3  -c 1 $host > /dev/null 2>&1
        if [ $? -eq 0  ];then
            #proxy_ip_port_status=`echo "\"proxy_ip\":\"0\",\""proxy_port\":\"1\"`
            echo "\"proxy_ip\":\"0\",\""proxy_port\":\"1\" > /tmp/.$f3.txt
        else
            #proxy_ip_port_status=`echo "\"proxy_ip\":\"1\",\""proxy_port\":\"0\"`
            echo echo "\"proxy_ip\":\"1\",\""proxy_port\":\"1\" > /tmp/.$f3.txt
        fi
}&

{
 #echo "get proxy_ip_port"
 proxy_ip_port=`ssh -o ConnectTimeout=3 -p $machine_port [email protected]$machine_ip ‘sh /root/get_wan_ip.sh‘`

 if [ $? -eq 0  ] && [ "$proxy_ip_port" != "null"  ];then
    #echo "get curl result"
     result=`curl  -I  -m 5 -x $proxy_ip_port -o  /dev/null -s -w %{http_code} map.baidu.com`

    if [ $result -eq 200 ];then
        proxy_ip_port_status=`echo "\"proxy_ip\":\"0\",\""proxy_port\":\"0\"`
    else
        #echo "get wan ip"
        #host=`ssh -o ConnectTimeout=3 -p $machine_port [email protected]$machine_ip ‘sh /root/get_wan_ip.sh‘|awk -F: ‘{print$1}‘`

        #ssh -o ConnectTimeout=3  [email protected]$host "date" > /dev/null
        #echo "test wan ip for 22"
        #if [ $? -eq 0  ];then
        #    proxy_ip_port_status=`echo "\"proxy_ip\":\"0\",\""proxy_port\":\"1\"`
        #else
        #    proxy_ip_port_status=`echo "\"proxy_ip\":\"1\",\""proxy_port\":\"0\"`
        #fi
        f3v=`cat /tmp/.$f3.txt|wc -c`
        while (($f3v < 4))
        do
            f3v=`cat /tmp/.$f3.txt|wc -c`
        done
        proxy_ip_port_status=`cat /tmp/.$f3.txt`
    fi
 else
      proxy_ip_port_status=`echo "\"proxy_ip\":\"1\",\""proxy_port\":\"1\"`
 fi
 echo $proxy_ip_port_status > /tmp/.$f2.txt
}&

wait

 proxy_ip_port_status=`cat /tmp/.$f2.txt`
 machine_status=`cat /tmp/.$f1.txt`
 rm -rf /tmp/.$f1.txt /tmp/.$f2.txt /tmp/.$f3.txt

#echo $machine_status
#echo $proxy_ip_port_status
echo "{"$machine_status","$proxy_ip_port_status"}"
时间: 2024-10-08 16:03:57

linux 拨号+squid监控脚本的相关文章

Linux Shell 网络层监控脚本(监控包括:连接数、句柄数及根据监控反馈结果分析)

脚本监控: 获取最大句柄数的进程: 链接分析: 脚本片段: case "$handle" in 2) echo "The handle of the process : " echo " " handle | awk '{print $3 "\n" $5 "\n" $7 "\n" $9 "\n" $11 "\n"}' > temp for i

Linux下磁盘监控脚本

九月份偷了下懒,补上一篇 注释:shell脚本,需要fio工具,实时监控磁盘的读写性能 #!/bin/bash DATE=$(date +%m-%d) IOSTATLOG=/var/log/iostat${DATE}.log FIOLOG=/var/log/fio${DATE}.log /bin/ps -ef |grep "iostat -dk 5" | grep -v grep > /dev/null if [ $? == 0 ] then echo "Disk mo

用 Python 脚本实现对 Linux 服务器的监控

hon 分享到:8 原文出处: 曹江华 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido va

几个常用的Linux监控脚本

几个常用的Linux监控脚本 几个常用的Linux监控脚本下面是几个主机监控的脚本,大家可以根据自己的情况再进行修改,希望能给大家一点帮助.1.查看主机网卡流量#!/bin/bash#network#Mike.Xuwhile : ; dotime='date +%m"-"%d" "%k":"%M'day='date +%m"-"%d'rx_before='ifconfig eth0|sed -n "8"p|

linux简单用于监控队脚本

######################################################################### # File Name: monitor.sh # Author: fangtest # mail: [email protected] # Created Time: Sun 29 Jun 2014 06:55:18 PM EDT ###########################################################

几个常用的Linux操作系统监控脚本

本文介绍了几个常用的Linux监控脚本,可以实现主机网卡流量.系统状况.主机磁盘空间.CPU和内存的使用情况等方面的自动监控与报警.根据自己的需求写出的shell脚本更能满足需求,更能细化主机监控的全面性. 最近时不时有互联网的朋友问我关于服务器监控方面的问题,问常用的服务器监控除了用开源软件,比如:cacti,nagios监控外是否可以自己写shell脚本呢?根据自己的需求写出的shell脚本更能满足需求,更能细化主机监控的全面性. 下面是我常用的几个主机监控的脚本,大家可以根据自己的情况再进

linux系统CPU,内存,磁盘,网络流量监控脚本

前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat /proc/loadavg 从系统启动开始到当前累积时刻 4, #uptime 系统运行多长时间 5, #mpstat CPU的一些统计信息 6, # 一,linux系统CPU,内存,磁盘,网络流量监控脚本 [作者:佚名来源:不详时间:2010-7-6 [我来说两句大中小] cme.sh网络流量监

Linux zabbix IO监控 步骤脚本和模板

Linux zabbix IO监控 监控原理 通过定时监控iostata -dx 1 输出数据采集硬盘IO 1.服务器安装 yum install sysstat #iostat 工具安装 2.设置本机计划任务 crontab -e */3 * * * *  /usr/bin/iostat -dxkt 1 500 >/tmp/iostat_output 3.增加监控脚本 mkdir  /etc/zabbix/scripts #上传硬盘发现脚本 disk_discovery.sh #上传硬盘脚本

linux用于后台监控指定程序运行状况的脚本(如果程序死了则重启程序)

#!/bin/sh while true do ps | grep "main_3g" | grep -v "grep" > /dev/null if [ "$?" -ne 0 ] then ls /root/main_3g > /dev/null if [ "$?" -eq 0 ] then chmod 777 /root/main_3g /root/main_3g & echo "main_3