【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞?
- #!/usr/bin/python
- import sys
- import time
- format = '%Y-%m-%dT%H:%M:%S+08:00'
- h_start = int(sys.argv[1])
- h_end = int(sys.argv[2])
- m_start = int(sys.argv[3])
- m_end = int(sys.argv[4])
- stdin = sys.stdin.read().strip()
- line_list = stdin.split('\n')
- for item in line_list:
- infos = item.split()
- time_object = time.strptime(infos[0], format)
- if h_start <= time_object.tm_hour <= h_end \
- and m_start <= time_object.tm_min <= m_end:
- print infos[8], infos[3], infos[4]
有什么
- 有 14 台机械(意味着我们有 14 份日记)
- 一台可以连到这 14 太机械的机械(有Python 2.6)
要做什么
- 获取 14 台机械上某时光段内的包含某特点的日记,再掏出个中的特定内容
怎么做
- 应用 pssh 对象在 14 台机械履行 grep 敕令获取包含某特点的日记
- 将 14 份日记作为标准输入传给 Python 脚本
- Python 解析 stdin(标准输入),将日期转化为 Python 中的日期格局,断定之后将相符前提的特定内容掏出场输出到 stdout(标准输出)
开端
- # 安装 pssh 对象
- pip install pssh
- # 应用 pssh 对象
- pssh -l root -h RS_bj_14.txt -o result "grep some_tag /data/logs/api.log"
- -l 的意思是应用哪个用户履行
- -h 是指定主机列表文件(换行隔开)
- -o 是指定履行结不雅保存的文件夹
- 最后是须要履行的敕令
结不雅:
红色履行掉败的的那两台机械未包含相符我们筛选前提的日记
二. 将 14 份日记作为标准输入传给 Python 脚本
14 份日记作为标准输入传给 Python 脚本:
- cat result/* | ./ab-result-format.py 15 15 00 10 > result_we_want.log
Python 脚本
先交卸一下我们分析的日记格局:
Nginx 日记格局(log_format)
为了便利查看,日记格局和日记中的空格都用换行代替
- $time_iso8601
- $remote_addr
- $host
- $request_time
- $upstream_response_time
- $request
- $status
- $upstream_addr
- $session_id;
(实际的一条日记)
一. 应用 pssh 对象在 14 台机械履行 grep 敕令获取包含某特点的日记
推荐阅读
【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞?寻找并分析百度云的转存api可以看到上图中抓到了一个带有 “transfer” 单词典 post 请求,这就是我们要找的转>>>详细阅读
地址:http://www.17bianji.com/lsqh/39976.html
1/2 1