通過shell python實現企業微信預警

2022-10-04 17:51:13 字數 3346 閱讀 5291

一 註冊企業微信

註冊企業微信必備條件

之前我有個誤區,就是以為註冊企業微信就一定要有營業執照之類的證件才可以註冊,實際是不需要也可以的,因為我們直接註冊後,即使不繫結企業,我們也是可以正常使用的,未繫結實際企業的,有200人的數的上限(難道你們技術部有200人?不存在的,哈哈!)

註冊註冊鏈結:企業微信

企業名稱可以隨便填,建議填真實的啊,其他的你就按照實際情況填了。

二 建立訊息

建立部門

首先我們需要建立乙個部門,然後將成員新增到乙個部門裡面

邀請成員加入

我們可以在首頁點選進行邀請。

也可以在選中要新增的部門後再選右邊的新增成員或者微信邀請。

建立應用

建立的時候指定下可以接收的訊息的部門

關注微工作平台

在我的企業 ---》 微工作平台 ---》邀請關注

三 實現預警

在完成的上面的所有準備工作後,我們還需要獲取三個東西 :

1 企業id

2 獲取應用id和secret

獲取企業id

獲取應用id和secret

通過shell 指令碼實現監控預警

該shell 指令碼實現的功能: 檢測埠是否在監聽狀態,不在則進行微信預警。

#!/bin/bash

###############

#$auth= djx

#$function= monitoring service

#date= 2018-12-26

###############

# 日誌儲存檔案

log_file='/var/log/ljf_status.log'

# 主機名

hostname=`hostname`

# 監聽的埠陣列

check_port=("3306" "3329" "4567")

# 陣列長度

num=$

# 報警訊息

msg=""

echo "--------------------------$(date +%f_%t)-----------------" >>$log_file

for i in `seq 0 $num`

do netstat -tnlp|grep "$]}" >>/dev/null

if [ $? -ne 0 ]

then

msg="\\n$:the port $]} is down \\n"$

echo "$(date +%f_%t) $:the port $]} is down">>$log_file

fidone

if [ "$" != "" ]

then

cropid="" #填入企業id值

secret="" #填入認證密碼

gurl=""

# 獲取token

gtoken=$(/usr/bin/curl -s -g $gurl | awk -f\" '') 程式設計客棧

purl=""

body=',

"safe":0

}'/usr/bin/curl --data-ascii "$body" $purl >>$log_file 2>&1

fi通過python 指令碼實現監控預警

由於centos7和centos6 預設安裝的都是python2版本,所以下面的指令碼是基於python2寫的,這樣我們就可以直接拿到我們的伺服器上使用了。

# -*- coding: utf-8 -*-

# @time : 2018/12/27 0021 11:58

# @author : djx

# @email : [email protected]

# @file : 微信預警指令碼.py

# @software: pycharm

import os

import time

import urllib2

import json

# 企業號id

wxid = ""

# 應用id

depid = ""

# 認證密碼

secret = ""

# 獲取主機的名稱

hostname = os.popen("hostname").read()

# 日誌儲存檔案

log_file = '/var/log/ljf_s'

# 監聽的埠列表

check_port = (

"8500",

"3306")

# 傳送的訊息

msg = ""

# 獲取當前的時間

date_time = time.strftime("%y-%m-%d %x")

# 檢查埠是否在監聽

for i in check_port:

shell = "netstat -nutlp |grep \"" + i + "\""

recv = os.popen(shell).read()

wwqvbzr if recv == "":

msg = msg + hostname + ": the port " + i + "is down \n"

# 預警判斷

if msg != "":

url = "" + \

wxid + "&corpsecret=" + secret

request = urllib2.request(url)

response = urllib2.urlopen(request)

recv_info = re程式設計客棧sponse.read()

recv_info = eval(recv_info)

wx_token = recv_info['access_token']

msg_url = "" + wx_token

send_msg = ,

"safe": 0

} send_msg_json = json.dumps(send_msg)

request_post = urllib2.urlopen(msg_url,send_msg_json)

recv_msg = request_post.read()

with open(log_file,mode='a') as f:

f.write(date_time)

程式設計客棧 f.write("\n")

f.write(msg)

f.write(recv_msg)

f.write("\n")

上面的指令碼也可以應用在zabbix或者是open-falcon。

本文標題: 通過shell+python實現企業微信預警

本文位址:

shell python模擬資料產生到檔案

shell python模擬資料產生到檔案,後續給flume監控使用 1.新建乙個test目錄 mkdir test 2.進入到test目錄,新建乙個data目錄 mkdir data 3.在test目錄下新建倆個檔案用來儲存程序id touch temp.pid touch pres.pid 4....

通過SharedPreference實現共享資料

如果程式b想要訪問程式a的sharedpreference可以通過下面的語句來實現 try catch namenotfoundexception e sharedpreferences sp acontext.getsharedpreferences preferences name,contex...

shell, python中比較兩個日期的先後

在shell中我們可以利用date命令比較兩個日期的大小,方法是先把日期轉換成時間戳格式,再進行比較。date 的 s可以將日期轉換成時間戳格式,看下面的例子 bin bash date1 2008 4 09 12 00 00 date2 2008 4 10 15 00 00 date3 aug 1...