LINEで送る
Pocket

今までDIgdagでエラー通知をchatworkで行っていたのですが、slackでイケてる通知できないかと探していたところ、
下記のプラグインを見つけました。

https://iroilog.net/2017/04/digdag-slack/

通知もわかりやすいし、めちゃくちゃいいやん!!?

ところが!!

digdagファイルを大幅に変更するという驚異的な作業が発生するということに気づきました。(設定ファイル50個くらい/辛い)ということでIncoming Webhooksを使ってシンプルにエラーが出たら通知というのをシェルスクリプトで作ってみました。(カンタンというか基本)


■post_slack.sh

#!/bin/bash
url='https://hooks.slack.com/services/xxxxxxxxxxxxxxxxxxxxxxxxxxxx'
username='DigDag'
to="sre"
subject='FAILED'
emoji=':digdag:'
message="$1"
color="#FF0000"
payload="payload={
\"channel\": \"${to}\",
\"username\": \"${username}\",
\"text\": \"${subject}\",
\"icon_emoji\": \"${emoji}\",
\"attachments\": [
{
\"color\" : \"${color}\",
\"text\" : \"${message}\"
}
]
}"
curl -m 5 –data-urlencode "${payload}" $url

view raw
post_slack.sh
hosted with ❤ by GitHub

・hoge_id.dig

・slack

・post_chatwork.sh

#!/bin/sh
if [[ 'prd' == $DIGDAG_ENV ]] ; then
body=$1
room_id=$2
if [ -z $room_id ]; then
room_id=xxxxxxxxxx
fi
/usr/bin/curl -X POST -H "X-ChatWorkToken:xxxxxxxxxxxx" -d "body=$body" "https://api.chatwork.com/v2/rooms/$room_id/messages"
fi

view raw
post_chatwork.sh
hosted with ❤ by GitHub

ちなみに同じようにchatworkで書くとこんな感じ。


■まとめ

うむ!!シンプル!!
しかしエラー内容がわからん!!

LINEで送る
Pocket


adachin

1989年生まれのLancers SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、AnsibleやTerraformでのインフラコード化を推進。副業では数社サーバー保守、未経験によるエンジニアのメンターなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、グループ会社のインフラをECS/Fargateへ移行、CakePHP4での管理画面作成、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください