Ping监控脚本
需求
内网服务器之间高频率检验延时信息,
脚本特点
多进程,可同时异步监控多个地址,不会互相影响。
使用方式
创建文件夹(可以替换为你自己的,我这里就用我们生产环境的标准目录了)mkdir /data/w/falcon-agent/tmp复制wiki里的代码至ping.py脚本并替换脚本内需要监控的地址启动脚本python ping.py &关闭脚本(没必要关闭)ps -ef|grep ping|awk -F '[ ]+' '{print $2}'|xargs kill日志记录
/data/w/falcon-agent/tmp目录下会按照机器名+时间戳的方式进行日志记录,默认清除30天之前的ping日志
代码模板
#!/bin/python
#coding: utf-8
import multiprocessing
import time
import os #替换掉需要ping的机器
ping_list = [
"productu1.baseinfo.w.cn1",
"productu2.baseinfo.w.cn1",
"priceu1.baseinfo.w.cn1",
"priceu2.baseinfo.w.cn1"
] def ping_worker(hostname):
while True:
time.sleep(1)
os.system("find /data/w/falcon-agent/tmp -mtime +30 -name '*.log'|xargs rm -f")
os.system("echo $(date) >> {}.`date +%F`.log".format(hostname))
os.system("echo $(ping -c 1 {}|grep -A 3 time=) >> {}.$(date +%F).log".format(hostname,hostname)) for hostname in ping_list:
process = multiprocessing.Process(target = ping_worker, args = (hostname,))
process.start()
日志分析脚本
分析指定日期日志,并展示延时大于10毫秒的ping记录
#!/bin/python
#coding: utf-8
import os
from sys import argv
logs = []
try:
script, first = argv
except ValueError:
print "请传入一个日期参数,例如 python scripts.py 2017-12-20"
else:
logs = os.popen("ls *{}.log".format(first)).read().split('\n')[:-1] def worker(*logs):
for log in logs:
times = os.popen("cat %s| awk '{print $8}' | awk -F '=' '{if($2>10)print $2}'" % (log)).read().split('\n')[:-1]
for time in times:
output = os.popen("cat %s|grep -B 1 'time=%s'" % (log, time)).read()
print log
print output worker(*logs)
谢土豪

Ping监控脚本的更多相关文章
- 基于Ping和Telnet/NC的监控脚本案例分析
案例一:单纯地对某些ip进行ping监控 [root@test opt]# cat /opt/hosts_ip_list 192.168.10.10 192.168.10.11 192.168.10. ...
- Cacti添加Advance Ping监控模板
Cacti脚本 1.Advance Ping 脚本及模板 注:要使用此模板,编译PHP时必须加上--enable-sockets选项来支持套接字. 1).功能:此模板用来监控一个TCP/U ...
- MySQL的keepalived高可用监控脚本
MySQL的keepalived高可用监控脚本 MySQL(或者其它服务)的keepalived高可用监控脚本 开发脚本需求 :我们知道,keepalive是基于虚拟ip的存活来判断是否抢占maste ...
- linux100day(day8)--shell监控脚本练习
这是一个大型的监控脚本,方便于查看硬盘,网络,负载,内核版本等系统信息. 本脚本来自于github的atarallo,我对脚本做出了改编和一些注释,尽量让新手也能理解,这个脚本逻辑清楚简单,适合用于练 ...
- nginx响应时间监控脚本
最近我们服务的使用方总是反应说我们接口超时,于是做了一个监控脚本,统计最近五分钟的响应情况,并对异常情况发送邮件报警. #!/bin/bash function define(){ ori_log_p ...
- Linux系统性能统计工具Sar和实时系统性能监控脚本
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情 ...
- [工具开发] keepalived使用nagios监控脚本
最近在做开发和办公环境的高可用,采用的是keepalived:keepalived基于Linux内核支持的LVS,既能实现高可用,又能实现负载均衡,非常实用. keepalived监控服务状态时可以用 ...
- 关于mysql和Apache以及nginx的监控脚本怎么写会比较好的记录
最近,自己业务进行上线,上线后,需要考虑的是对各种服务进行监控,包括(httpd服务,mysqld服务等),现在想以mysqld服务为例总结下那种方式的脚本最为专业和合理: (1).根据mysql的端 ...
- MySQL慢日志监控脚本实例剖析
公司线上的 MySQL 慢日志,之前一直没有做好监控.趁着上周空闲,我就把监控脚本写了下,今天特地把代码发出来与51博友分享一下. 针对脚本的注解和整体构思,我会放到脚本之后为大家详解. 1 2 3 ...
随机推荐
- redis拾趣(客户端连接,keys命令,数据备份,缓存有效期等)
1.客户端连接 为了安全保护,redis支持绑定IP跟端口,这个通过conf配置文件中的bind跟port来设置. 绑定后登录client控制台时就需要写明ip(或者hostname)跟端口了,如: ...
- C++11中智能指针的原理、使用、实现
目录 理解智能指针的原理 智能指针的使用 智能指针的设计和实现 1.智能指针的作用 C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理.程序员自己管理堆内存可以提高了程序 ...
- 去除Many2one字段的“创建并编辑”选项
要去除Many2one字段的“创建并编辑”选项,只要在view.xml里对应的field定义里增加options="{'no_create_edit':1}即可 <field name ...
- python-找出100以内的质数
质数:就是只能被1和本身整除的数,1除外,如2,3,5,7,11,13等等 ##求一百以内的质数(1和本身除尽的数)if __name__ == '__main__': list=[] flag=Fa ...
- webstrom随手笔记
1.node代码智能提示功能: 2.页面代码格式化快捷键: Ctrl+Alt+L键,或者Code =>Rearrange code
- 《java程序设计》结对编程-四则运算整体总结
需求分析(描述自己对需求的理解,以及后续扩展的可能性) 实现一个命令行程序,要求: 自动生成小学四则运算题目(加,减,乘,除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 ...
- 步步为营-62-Excel的导入和导出
说明:NPOI组件的使用 1 添加引用 2 代码 using System; using System.Collections.Generic; using System.ComponentModel ...
- ERP完善合同起草(二十八)
前端的代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CRMCont ...
- 购物车的实现(jsp的session+Java的Map的结合)
1:电商如此发达的现在,作为一个web开发程序猿,如果不会写购物车,真是有点不好意思找工作.所以抓紧练习啊,从上篇博客中抽离出如何实现购物车的功能. 2:首先需要理解购物车实现的一些基本步骤. 2.1 ...
- POJ 2385 Apple Catching【DP】
题意:2棵苹果树在T分钟内每分钟随机由某一棵苹果树掉下一个苹果,奶牛站在树#1下等着吃苹果,它最多愿意移动W次,问它最多能吃到几个苹果.思路:不妨按时间来思考,一给定时刻i,转移次数已知为j, 则它只 ...