
#!/bin/sh
# File	: influxdb_insert.sh
# By	: Maarten.deBoer@Atos.net. 240530
# Subject	: Script to insert data into InfluxDB (server)
PGM=`basename $0|cut -d\. -f1`
VER="0.1"

CURL="/usr/bin/curl"

HOSTNAME=`hostname |cut -d\. -f1`
PLACE="Amstelveen"
INFLUXDB_SRV="172.16.10.138"
INFLUXDB_URL="http://${INFLUXDB_SRV}:4443"
INFLUXDB_BUC="servers"
INFLUXDB_USERID="0d1cfdf55bf9f000" 
INFLUXDB_ORG="techlab.atos.net" 
INFLUXDB_ORGID="7aa73a4855cf04fb" 
API_TOKEN="gjenlYLvZpjBd3615gmgTo3OJS370ElikUsJSKSHByNnrTx0qN-DzSJDjAIEmPZqW6iNQQSu0NBIqJ7cPfNpdA==" 

EPOCH_TIME=`date +%s`

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "  INFLUXDB_SRV=${INFLUXDB_SRV}"
echo "  INFLUXDB_URL=${INFLUXDB_URL}"
echo "  INFLUXDB_BUC=${INFLUXDB_BUC}"
echo "  HOSTNAME=${HOSTNAME}"
echo "  PLACE=${PLACE}"
echo "  EPOCH_TIME=${EPOCH_TIME}"
sleep 1

# Check curl
type ${CURL}
EC=$?
if [ ${EC} -ne 0 ]; then
  echo "  NO CURL(${CURL}). Exiting ..."|tee -a ${LOG}
  exit 4
fi

## Disk usage
#DF_H=`df -h . |tail -1`
#SIZE_G=`echo "${DF_H}"|awk '{print $2}'|sed 's/G//g'`
#USED_G=`echo "${DF_H}"|awk '{print $3}'|sed 's/G//g'`
#USED_PERC=`echo "${DF_H}"|awk '{print $5}'|sed 's/%//g'`
#FS=`echo "${DF_H}"|awk '{print $6}'|sed 's/G//g'`
#
#echo "  SIZE_G=${SIZE_G} USED_G=${USED_G} USED_PERC=${USED_PERC} FS=${FS}"
#
#${CURL} -i -XPOST ${INFLUXDB_URL}/write?db=${INFLUXDB_DB} --data-binary "system,disk,size_g,fs="${FS}" value=${SIZE_G} ${EPOCH_TIME}"
#EC=${?}
#echo "  EC=${SIZE_G}"

# CPU load
UPTIME=`uptime`
CPU_LOAD_SHORT=`echo ${UPTIME}|cut -d\: -f5 |awk -F\, '{print $1}'|sed ' s/ //g' `
CPU_LOAD_MID=`echo ${UPTIME}|cut -d\: -f5 |awk -F\, '{print $2}'|sed ' s/ //g' `
CPU_LOAD_LONG=`echo ${UPTIME}|cut -d\: -f5 |awk -F\, '{print $3}'|sed ' s/ //g' `

echo "  CPU_LOAD_SHORT=${CPU_LOAD_SHORT} CPU_LOAD_MID=${CPU_LOAD_MID} CPU_LOAD_LONG=${CPU_LOAD_LONG}"

${CURL} -v -i -XPOST "${INFLUXDB_URL}/api/v2/write?bucket=${INFLUXDB_BUC}&org=${INFLUXDB_ORG}&precision=s" \
--header "Authorization: Token ${API_TOKEN}" \
--data-binary "cpu_load_short,host=${HOSTNAME},place=${PLACE} value=${CPU_LOAD_SHORT} ${EPOCH_TIME}"

${CURL} -v -i -XPOST "${INFLUXDB_URL}/api/v2/write?bucket=${INFLUXDB_BUC}&org=${INFLUXDB_ORG}&precision=s" \
--header "Authorization: Token ${API_TOKEN}" \
--data-binary "cpu_load_mid,host=${HOSTNAME},place=${PLACE} value=${CPU_LOAD_MID} ${EPOCH_TIME}"

${CURL} -v -i -XPOST "${INFLUXDB_URL}/api/v2/write?bucket=${INFLUXDB_BUC}&org=${INFLUXDB_ORG}&precision=s" \
--header "Authorization: Token ${API_TOKEN}" \
--data-binary "cpu_load_long,host=${HOSTNAME},place=${PLACE} value=${CPU_LOAD_LONG} ${EPOCH_TIME} "



echo "`date` ${PGM} v${VER} finished."|tee -a ${LOG}
exit 0

