2013-07-03 14:33:41 +04:00
#!/bin/bash
# -------------------------------------------------------------------------- #
2019-01-16 13:27:59 +03:00
# Copyright 2002-2019, OpenNebula Project, OpenNebula Systems #
2013-07-03 14:33:41 +04:00
# #
# Licensed under the Apache License, Version 2.0 (the "License"); you may #
# not use this file except in compliance with the License. You may obtain #
# a copy of the License at #
# #
# http://www.apache.org/licenses/LICENSE-2.0 #
# #
# Unless required by applicable law or agreed to in writing, software #
# distributed under the License is distributed on an "AS IS" BASIS, #
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
# See the License for the specific language governing permissions and #
# limitations under the License. #
#--------------------------------------------------------------------------- #
################################################################################
# Initialization
################################################################################
ERROR = 0
if [ -z $ONEGATE_TOKEN ] ; then
echo "ONEGATE_TOKEN env variable must point to the token.txt file"
ERROR = 1
fi
if [ -z $ONEGATE_URL ] ; then
echo "ONEGATE_URL env variable must be set"
ERROR = 1
fi
if [ $ERROR = 1 ] ; then
exit -1
fi
TMP_DIR = ` mktemp -d`
echo "" > $TMP_DIR /metrics
################################################################################
# Memory metrics
################################################################################
MEM_TOTAL = ` grep MemTotal: /proc/meminfo | awk '{print $2}' `
MEM_FREE = ` grep MemFree: /proc/meminfo | awk '{print $2}' `
MEM_USED = $(( $MEM_TOTAL - $MEM_FREE ))
MEM_USED_PERC = "0"
if ! [ -z $MEM_TOTAL ] && [ $MEM_TOTAL -gt 0 ] ; then
MEM_USED_PERC = ` echo " $MEM_USED $MEM_TOTAL " | \
awk '{ printf "%.2f", 100 * $1 / $2 }' `
fi
SWAP_TOTAL = ` grep SwapTotal: /proc/meminfo | awk '{print $2}' `
SWAP_FREE = ` grep SwapFree: /proc/meminfo | awk '{print $2}' `
SWAP_USED = $(( $SWAP_TOTAL - $SWAP_FREE ))
SWAP_USED_PERC = "0"
if ! [ -z $SWAP_TOTAL ] && [ $SWAP_TOTAL -gt 0 ] ; then
SWAP_USED_PERC = ` echo " $SWAP_USED $SWAP_TOTAL " | \
awk '{ printf "%.2f", 100 * $1 / $2 }' `
fi
#echo "MEM_TOTAL = $MEM_TOTAL" >> $TMP_DIR/metrics
#echo "MEM_FREE = $MEM_FREE" >> $TMP_DIR/metrics
#echo "MEM_USED = $MEM_USED" >> $TMP_DIR/metrics
echo " MEM_USED_PERC = $MEM_USED_PERC " >> $TMP_DIR /metrics
#echo "SWAP_TOTAL = $SWAP_TOTAL" >> $TMP_DIR/metrics
#echo "SWAP_FREE = $SWAP_FREE" >> $TMP_DIR/metrics
#echo "SWAP_USED = $SWAP_USED" >> $TMP_DIR/metrics
echo " SWAP_USED_PERC = $SWAP_USED_PERC " >> $TMP_DIR /metrics
################################################################################
# Disk metrics
################################################################################
/bin/df -k -P | grep '^/dev' > $TMP_DIR /df
cat $TMP_DIR /df | while read line; do
NAME = ` echo $line | awk '{print $1}' | awk -F '/' '{print $NF}' `
DISK_TOTAL = ` echo $line | awk '{print $2}' `
DISK_USED = ` echo $line | awk '{print $3}' `
DISK_FREE = ` echo $line | awk '{print $4}' `
DISK_USED_PERC = "0"
if ! [ -z $DISK_TOTAL ] && [ $DISK_TOTAL -gt 0 ] ; then
DISK_USED_PERC = ` echo " $DISK_USED $DISK_TOTAL " | \
awk '{ printf "%.2f", 100 * $1 / $2 }' `
fi
#echo "DISK_TOTAL_$NAME = $DISK_TOTAL" >> $TMP_DIR/metrics
#echo "DISK_FREE_$NAME = $DISK_FREE" >> $TMP_DIR/metrics
#echo "DISK_USED_$NAME = $DISK_USED" >> $TMP_DIR/metrics
echo " DISK_USED_PERC_ $NAME = $DISK_USED_PERC " >> $TMP_DIR /metrics
done
################################################################################
# PUT command
################################################################################
curl -X "PUT" --header " X-ONEGATE-TOKEN: `cat $ONEGATE_TOKEN ` " $ONEGATE_URL \
--data-binary @$TMP_DIR /metrics