日常杂记

很早就想写一些shell相关得东西了,平时会用到比较多的shell相关的东西,但是一般都去百度或者google去了,一直觉得不够系统,因此就从日常杂记开始,把日常用到的一些脚本记录下来开始吧。

监控工作通知socket的连接状态:

tail -f /data/micro_servers/logs/inner_api.log | grep 'fail!response' | 
while read msg ;
do python /home/lc/send_wechat.py 'lc@email.com,cy@email.com' '工作通知socket断开,\n请检查服务推送消息是否正常'  $msg;
done

监控是否有消息推送失败

tail -f /data/micro_servers/logs/inner_api.log | grep '推送失败' | while read msg ;
do python /home/lc/send_wechat.py 'lc@email.com,cy@email.com' '工作通知推送失败,\n请关注服务推送消息是否正常'  $msg;
done

发送微信的python脚本

#!/usr/bin/python
# -*- coding: utf-8 -*-

import hashlib
import json
import urllib2
import sys


def getMD5(data):

        hash_md5 = hashlib.md5(data)
        return hash_md5.hexdigest()

# 调用接口发送企业微信消息
def send_wechat(emails, message):
    # emails = ['lc@email.com', 'cy@email.com']
    businessId = 'monitor'
    salt = 'monitor_slat'
    url = 'http://{ip}:{port}/message/inform'
    params = {}
    params['businessId'] = businessId
    params['recipients'] = emails
    params['content'] = message
    params['sign'] = getMD5(businessId + message + salt)

    headers = {'Content-Type': 'application/json'}

    request = urllib2.Request(url=url, data=json.dumps(params), headers=headers)
    response = urllib2.urlopen(request)

    print response.getcode()  # 请求状态,200为成功
    print response.read()  # 返回的body


if __name__ == "__main__":

    if len(sys.argv) < 3:
        print("args error, need more argv like 'xxx@emails.com,xxx@emails.com'")
        sys.exit(-1)

    emails = sys.argv[1].split(",")
    message = sys.argv[2]
    send_wechat(emails, message)

日志统计脚本:

#!/bin/bash
# log statistics 
currentTimeLog=/data//logs/info-$(date "+%Y-%m-%d" -d "1 days ago").log
IFS=$'\n'
cat $currentTimeLog | grep "收到请求:" | grep "null" | awk '{a[$8]=a[$8]+1}END{for (i in a)print i,"请求次数:",a[i]}' | sort -n -t ":" -k2 -r > /home/lc/logStatistics-$(date "+%Y-%m-%d" -d "1 days ago").log
if [ "$?" == 0 ];then
   cat /home/lc/logStatistics-$(date "+%Y-%m-%d" -d "1 days ago").log | mail -s "外部接口访问情况-非网关访问" lc@emails.com lg@emails.com
fi
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我租住的那间屋子由于通风问题,一般是不关窗户的。起来的时候才发现昨夜下了雨,是大是小?以我猪一样的睡眠状态来看怕是...
    思人度己阅读 161评论 0 0
  • 2019/04/13 4月天的重庆已经迎来了穿短袖的天气… 静静地躺在床上或听霉霉的歌,或看各个公...
    芒酱鱼籽_阅读 156评论 0 0
  • 又三分钟热度的写点东西了,每次想写但总没有付出行动,终于要行动一次了。 将近两个月的暑假,回顾自己的所做所为,只能...
    katrinalhy阅读 383评论 0 0
  • 灵感这东西有点神奇,它来的时候,那可以说是哗的一下就倾泻而出了;要是没有的话那你是想它怎么它就怎么不来。我想...
    夏蚊竹子阅读 211评论 0 0
  • 前段时间看了白茶的一本漫画《就喜欢你看不惯我又干不掉我的样子》,漫画主角是作者养的一只猫“吾皇”和后来加入的一只狗...
    牛牛丹阅读 406评论 0 0