Created
June 11, 2020 04:28
-
-
Save velotiotech/6df2f95d5566ec70343f0e5b0e283512 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Usage : bash installDCOSDataDogMetricsPlugin.sh <Datadog API KEY> | |
DDAPI=$1 | |
if [[ -z $DDAPI ]]; then | |
echo "[Datadog Plugin] Need datadog API key as parameter." | |
echo "[Datadog Plugin] Usage : bash installDCOSDataDogMetricsPlugin.sh <Datadog API KEY>." | |
fi | |
tmpScriptMaster=$(mktemp "/tmp/installDatadogPlugin-XXXXXXXX") | |
tmpScriptAgent=$(mktemp "/tmp/installDatadogPlugin-XXXXXXXX") | |
declare agent=$tmpScriptAgent | |
declare master=$tmpScriptMaster | |
for role in "agent" "master" | |
do | |
cat <<EOF > ${!role} | |
curl -s -o /opt/mesosphere/bin/dcos-metrics-datadog -L https://downloads.mesosphere.io/dcos-metrics/plugins/datadog | |
chmod +x /opt/mesosphere/bin/dcos-metrics-datadog | |
echo "[Datadog Plugin] Downloaded dcos datadog metrics plugin." | |
export DD_API_KEY=$DDAPI | |
export AGENT_ROLE=$role | |
sudo curl -s -o /etc/systemd/system/dcos-metrics-datadog.service https://downloads.mesosphere.io/dcos-metrics/plugins/datadog.service | |
echo "[Datadog Plugin] Downloaded dcos-metrics-datadog.service." | |
sudo sed -i "s/--dcos-role master/--dcos-role \$AGENT_ROLE/g;s/--datadog-key .*/--datadog-key \$DD_API_KEY/g" /etc/systemd/system/dcos-metrics-datadog.service | |
echo "[Datadog Plugin] Updated dcos-metrics-datadog.service with DD API Key and agent role." | |
sudo systemctl daemon-reload | |
sudo systemctl start dcos-metrics-datadog.service | |
echo "[Datadog Plugin] dcos-metrics-datadog.service is started !" | |
servStatus=\$(sudo systemctl is-failed dcos-metrics-datadog.service) | |
echo "[Datadog Plugin] dcos-metrics-datadog.service status : \${servStatus}" | |
#sudo systemctl status dcos-metrics-datadog.service | head -3 | |
#sudo journalctl -u dcos-metrics-datadog | |
EOF | |
done | |
echo "[Datadog Plugin] Temp script for master saved at : $tmpScriptMaster" | |
echo "[Datadog Plugin] Temp script for agent saved at : $tmpScriptAgent" | |
for i in `dcos node | egrep -v "TYPE|master" | awk '{print $1}'` | |
do | |
echo -e "\n###> Node - $i" | |
dcos node ssh --option LogLevel=quiet --option StrictHostKeyChecking=no --master-proxy --private-ip=$i < $tmpScriptAgent | |
echo -e "=======================================================" | |
done | |
for i in `dcos node | egrep -v "TYPE|agent" | awk '{print $2}'` | |
do | |
echo -e "\n###> Master Node - $i" | |
dcos node ssh --option LogLevel=quiet --option StrictHostKeyChecking=no --master-proxy --private-ip=$i < $tmpScriptMaster | |
echo -e "=======================================================" | |
done | |
# Check status of dcos-metrics-datadog.service on all nodes. | |
#for i in `dcos node | egrep -v "TYPE|master" | awk '{print $1}'` ; do echo -e "\n###> $i"; dcos node ssh --option StrictHostKeyChecking=no --option LogLevel=quiet --master-proxy --private-ip=$i "sudo systemctl is-failed dcos-metrics-datadog.service"; echo -e "======================================\n"; done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment