Saturday, November 18, 2017

ECS-Agent connectivity status and notify the agent connectivity through mail

#!/bin/bash
getLocalIpaddress=`hostname -I`
arrayIpaddress=($getLocalIpaddress)
validIpaddress=${arrayIpaddress[0]}
#echo $validIpaddress
aws ec2 describe-instances >> jsontxt
var=$(jq --arg validIpaddress "$validIpaddress" '.Reservations[].Instances[]|select(.PrivateIpAddress==$validIpaddress)|.InstanceId' jsontxt)
var2=$(echo $var|tr -d '"')
#echo $var2
ECS_CLUSTER="Dev"
CONTAINERS_ID=$(aws ecs list-container-instances --cluster $ECS_CLUSTER --output text --query 'containerInstanceArns')
DATE=$(date +%Y-%m-%d-%H:%M)
for container in $CONTAINERS_ID
do
STATUS=$(aws ecs describe-container-instances --container-instances $container --cluster $ECS_CLUSTER --output json --query 'containerInstances[0].agentConnected')
CHECK_INSTANCE_ID=$(aws ecs describe-container-instances --container-instances $container --cluster $ECS_CLUSTER --output text --query 'containerInstances[0].ec2InstanceId')
if [ "$var2"  = "$CHECK_INSTANCE_ID" ]
then
if [ $STATUS == "true" ]
then
echo $validIpaddress
echo $var2
Agentversion=$(aws ecs describe-container-instances --container-instances $container --cluster $ECS_CLUSTER --output text --query 'containerInstances[0].versionInfo.agentVersion')
echo $Agentversion   
dockerversion=$(aws ecs describe-container-instances --container-instances $container --cluster $ECS_CLUSTER --output text --query 'containerInstances[0].versionInfo.dockerVersion')
echo $dockerversion
tags=$(jq --arg instanceid "$var2" '.Reservations[].Instances[]|select(.InstanceId==$instanceid)|.Tags[]|select(.Key=="Name")|.Value' jsontxt)
echo $tags
echo -e "Ipaddress=$validIpaddress\n Agentversion=$Agentversion\n dockerversion=$dockerversion\n tags=$tags\n" | mailx -s "This is the subject" xxxxxxxxxx@gmail.com
#uuencode /home/centos/bodyattach.txt #/home/centos/bodyattach.txt | cat #/home/centos/bodyattach.txt | mailx -s "subject" -a #/home/centos/bodyattach.txt xxxxxxxx@gmail.com
fi
fi
done

rm jsontxt

No comments:

Post a Comment