기타/Python → Webhook 7

[MSTeams] Webhook message delivery failed with error: Microsoft Teams endpoint returned HTTP error 413 with ContextId MS-CV=JiriroitVk6pKPlMA2e0Cw.0..

개요 Python을 이용해 MSTeams로 알람을 보내려고 한다. request, json 모듈로 직접 코딩해서 메시지 전송 함수를 호출해보았는데 Teams로 알람이 오는 경우도, 오지 않는 경우도 있었다. 원인을 파악하고, 해결해본다. 소스는 올리지 못했다. response 확인 일단 메시지를 전송한 후 응답을 확인해보았다. Webhook message delivery failed with error: Microsoft Teams endpoint returned HTTP error 413 with ContextId MS-CV=t6m/FZ9tWE2VAglGXXbmBA.0.. 응답 코드는 200으로 정상이지만, 실제로는 전송에 실패해서 Teams 알람이 오지 않은 것을 확인할 수 있다. 정상인 경우에는 아..

[Slack] requests.post 시 큰따옴표 처리

개요 아래의 python 코드를 이용해 slack webhook을 전송하려고 한다. def send_message(name, message): url = "WEBHOOK_URL" header = {'Content-type': 'application/json'} icon_emoji = ":crying_cat_face:" channel = "# test_alarm" data = f'{{"channel": "{channel}", "username": "{name}", "text": "{message}", "icon_emoji": "{icon_emoji}"}}' # 메세지 전송 return requests.post(url, headers=header, data=data) 하지만 아래와 같이 호출해도 메시지를 수..

crontab에 스크립트 실행 등록

cron 자동으로 실행하는 스케줄 crontab 스케줄 시간과 실행 파일 경로 관리 즉, crontab은 cron 실행에 사용하는 설정이라고 생각하면 되는 듯하다. 방법 1. 서버 시간 확인 사용 중인 서버 기준 시를 확인하여 KST 기준 매주 월요일 오전 9시에 실행될 수 있도록 한다. date 2. crontab 편집 crontab -e 2. 실행된 에디터에 아래 내용 추가 UTC를 사용하는 서버인 경우 아래와 같이 설정한다. 30 23 * * 0 ~/run-send-message-slack.sh 참고) 실행 주기 설정 * * * * * COMMAND ┬ ┬ ┬ ┬ ┬ │ │ │ │ └───────── 요일 (0 - 6) (0 =일요일) │ │ │ └────────── 월 (1 - 12) │ │ └─..

Python 코드 실행 스크립트 작성

작성할 스크립트 내용 python 코드 실행 실제 코드 #!/bin/bash /usr/bin/python3 ~/send-message-slack.py 맨 첫 줄의 #!/bin/bash는 bash shell을 이용해 스크립트를 실행하겠다는 의미이다. 두 번째 줄은 사용자의 홈 디렉터리에 위치한 send-message-slack.py를 python 3으로 실행한다는 의미이다. 스크립트 실행 및 결과 # run-send-message-slack.sh 실행 권한 부여 chmod +x run-send-message-slack.sh # run-send-message-slack.sh 실행 cd ~ ./run-send-message-slack.sh

python 코드 작성

1. 코드 작성 프로세스 1. 예외 처리 구문을 이용하여 1/0 시도 2. 예외 발생 시 slack으로 메시지 전송 필요 문법 try - except문 - 문법 형식 try: ... except 발생 오류 as 오류 변수: ... Slack 메세지 전송 - 필요 라이브러리 : request - 설치 방법 # python 3 사용 시 sudo pip3 install request - 코드 import requests # 함수 def send_message_to_slack(error): url = "SLACK_WEBHOOK_URL" username = "ec2.vim-test" # text = ZeroDivisionError : division by zero text = error.__class__.__na..

slack에 Webhook 추가

방법 1. Slack 워크스페이스 및 채널 생성 2. slack에 imcoming-webhook 추가 Webhook 서버에서 어떠한 작업이 수행되었을 때 해당 작업이 수행되었음을 HTTP POST로 알리는 개념 2.1. 슬랙 워크스페이스 왼쪽 메뉴 > Settings & administration > Manage apps 2.2. 상단의 검색란에서 incomming webhook 검색 후 선택 2.3 webhook 추가 2.4. 메세지를 전송할 채널 선택 2.5. 추가 완료 2.6. 테스트 curl -X POST --data-urlencode "payload={\"channel\": \"#test_alarm\", \"username\": \"webhookbot\", \"text\": \"This is p..

python Error Message Slack 발송

요구사항 - Python ArithmeticError 중 ZeroDivisionError 발생 -> 해당 에러 메시지를 Slack 채널로 전송 - KST 기준 매주 월요일 오전 8시 30분에 동작 방법 1. 2021.05.16 - [기타/Python → Slack] - slack에 Webhook 추가 2. 2021.05.16 - [기타/Python → Slack] - python 코드 작성 3. 2021.05.17 - [기타/Python → Slack] - Python 코드 실행 스크립트 작성 4. 2021.05.18 - [기타/Python → Slack] - crontab에 스크립트 실행 등록

1