猫/usr/local/zabbix/share/zabbix/alertscripts/sed_messages_weixin.py python2.xの
#は/ usr / binに/のenv pythonの! #_ * _コーディング:UTF-8 _ * _ #著者:chenjianwen #のEメール:1071179133 @ qq.comの インポートsysが インポートurllib2の 輸入JSONの インポート要求が corpid = ' XXXX ' #の企业微信号のid corpsecret = 'XXXX ' ##应用秘密 get_access_token_url = " https://qyapi.weixin.qq.com/cgi-bin/gettoken ?corpid =%S&corpsecret =%S '%(corpid、corpsecret) DEFget_access_token(get_access_token_url): データ =のurllib2.urlopen(get_access_token_url).read()(デコード' UTF-8 ' ) データ = json.loads(データ) #1 印刷データ[ "access_tokenは"] 戻りデータ[ " access_tokenは" ] DEF send_messages(TOUSER、access_tokenは、コンテンツ): send_messages_url = ' https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s '%のaccess_tokenはの データ = { " TOUSER ":TOUSER、 #会員IDリスト(メッセージ受信者、と複数の受信者は「|」分離、1000までサポート)。特殊なケース:@allとして指定し、エンタープライズアプリケーションのすべてのメンバーが送られ 、「toparty 」:「4 」、#の複数の受信者を持つ#部門IDリスト「|」分離は、100までサポートします。TOUSERが@Allである場合、このパラメータは無視され 、「totag 」:「」 、# の「|」タグのIDリスト複数の受信者に、分離、100までサポートします。このパラメータは無視TOUSERとき@allある 「のMsgType 」:「テキスト」、 #1 メッセージのタイプは、この時間は固定されているテキスト 「agentIdが」:1000004、 #上述のIDエンタープライズアプリケーション、整数。表示する設定ページを適用することができ 、「テキスト」{: "を:コンテンツ #1 メッセージの内容、2048バイトの最大 }、 「セーフ」:0 #は、デフォルト0、1、0を表し、メッセージが機密であるかどうかを示すない } 値 = json.dumps(データ) #1 #変換用のSTRフォーマット 要求 = requests.post(send_messages_url、データ=値) #1 #post要求データ request_result request.status_code = ##取得要求コード IF request_resultの== 200がある: 印刷 " [%S]メッセージ正常に送信された"%の内容 他の: プリント " [%S]メッセージ送信失敗"%コンテンツ 場合 __name__ == ' __main__ ' : access_tokenは = get_access_token(get_access_token_url) send_messages(sys.argvの[ 1]、access_tokenは、sys.argvの[3])