CloudWatchLogsの特定の文字列を含むログをSlackに転送する -前編-
slack apiにアクセスしてアプリを作成
botの作成の仕方やslackへのメッセージ投稿の仕方は以下の記事で紹介しています。
Pythonのコードのディレクトリ構造
ディレクトリ構造は以下のようになっています
ディレクトリ構造
sendLogToSlack
├── lambda_function.py
├── postslack.py
└── slack_sdk
slack_sdkのインストール
slack_sdkはlambdaの標準モジュールではないので、
pipでインストールしてからzipでパッケージ化する必要があります。
slack_sdkをパッケージに含める
mkdir sendLogToSlack
cd sendLogToSlack
pip install slack_sdk -t ./
lambda_function.py
lambda_function.py
import zlib
import base64
import postslack
import json
def lambda_handler(event, context):
data = zlib.decompress(base64.b64decode(event['awslogs']['data']), 16+zlib.MAX_WBITS)
data_json = json.loads(data)
log_json = json.loads(json.dumps(data_json["logEvents"][0], ensure_ascii=False))
postslack.SendSlackMessage(str(log_json))
lambda_function.py
import zlib
import base64
import postslack
import json
def lambda_handler(event, context):
data = zlib.decompress(base64.b64decode(event['awslogs']['data']), 16+zlib.MAX_WBITS)
data_json = json.loads(data)
log_json = json.loads(json.dumps(data_json["logEvents"][0], ensure_ascii=False))
postslack.SendSlackMessage(str(log_json))
こちらの記事を参考にさせて頂きました。
postslack.py
postslack.py
from slack_sdk import WebClient
from slack_sdk.errors import SlackApiError
def SendSlackMessage(message):
client = WebClient(token='your_token')
response=client.chat_postMessage(channel='your_channel', text=message)
postslack.py
from slack_sdk import WebClient
from slack_sdk.errors import SlackApiError
def SendSlackMessage(message):
client = WebClient(token='your_token')
response=client.chat_postMessage(channel='your_channel', text=message)
slack_sdkの使い方に関してはこちらの記事で紹介しています。
パッケージ化
lambdaにアップロードする為にzipコマンドでパッケージ化します。
sendLogToSlack
zip -r sendslack *
lambdaにアップロード
続き
ここまで出来れば残りの作業はもう少しです。
CloudWatchLogsの特定の文字列を含むログをSlackに転送する-後編-に続きます。
Author And Source
この問題について(CloudWatchLogsの特定の文字列を含むログをSlackに転送する -前編-), 我々は、より多くの情報をここで見つけました https://qiita.com/ms2geki/items/e808a9ae0e0003e5e796著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .