Power Systems Virtual Server サービスで、インスタンスの状態を確認してSlackへ通知する簡易スクリプトを作ってみました。
ご参考まで。
環境
・IBM Cloud Power Systems Virtual Server
スクリプト変数に APIKEY と CRN(Cloud Resouce Name) 、URL(SlackのWebhook)を使用。
* APIKEYは"IBM Cloud コンソール => 管理 => アクセス(IAM) => IBM Cloud API キー"から作成して使用します。
* CRN は "ibmcloud pi service-list" コマンドを実行して出力される"ID"で確認が可能です。
* 使用しているリソースグループ名がスクリプト内で指定が必要です。
* 通知先の SlackWebhook は以下を参照して作成しておきます。
ご参考:Slack での Incoming Webhook の利用
・スクリプトの実行場所 : Local Mac (or インターネット接続可能な Linux 環境)
* ibmcloud コマンド導入済み
* ibmcloud power-iaas plugin が導入済み
ご参考:IBM Power Systems Virtual Server CLI Reference
スクリプトは以下です。
ご使用の環境に合わせて、 "< >" 内を環境に合わせてご変更ください。
# !/bin/bash
## ibmcloud cli download
# curl -fsSL https://clis.cloud.ibm.com/install/linux | sh > /dev/null <= Linux環境でibmcloud コマンドのダウンロードに使用
## login
export APIKEY="<使用するapikeyを入力>"
ibmcloud login --apikey $APIKEY -r jp-tok -g <resouce group名を入力> -f > /dev/null
export CRN="<ご使用のCRN(Cloud Resource Name)>"
ibmcloud pi service-target $CRN > /dev/null
## get instance information
rm instances.txt result.txt > /dev/null 2>&1
touch instances.txt result.txt > /dev/null
echo `date` > result.txt
ibmcloud pi ins | awk '{print $2}' | grep -v instances | grep -v Name > instances.txt
## check instance status
while read INSTANCE
do
ibmcloud pi in "$INSTANCE" > "$INSTANCE"
echo "#-------------------------------------------------------------------------------------------------------------#" >> result.txt
grep ^Name "$INSTANCE" >> result.txt
grep ^Status "$INSTANCE" >> result.txt
echo "#-------------------------------------------------------------------------------------------------------------#" >> result.txt
rm "$INSTANCE"
done <instances.txt
MESSAGE=`cat result.txt`
## post to slack
URL="<Slack Webhook URLを入力>"
curl -X POST --data-urlencode "payload={\"username\": \"PowerVS status check\", \"text\": \"IBM Cloud PowerVS_Status Check: \\n ${MESSAGE}\", \"icon_emoji\": \":cloud:\"}" $URL
rm instances.txt
rm result.txt
exit 0
実行結果
$ sh powervs_check_instance.sh
$
Slack には次のように出力されます。
参考
Power Systems Virtual Server のご参考資料:Power Systems Virtual Server Hint&Tips
以上です。