Power Systems Virtual Server 인스턴스 상태 확인 스크립트

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

스크립트는 다음과 같습니다.
사용 환경에 따라 "< >"를 환경에 맞게 변경하십시오.

powervs_check_instance.sh
#!/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

이상입니다.

좋은 웹페이지 즐겨찾기