Browse Source
In order to be more crontab friendly, fluxplug will be the only executable called by cron in an every minute job, Something like * * * * * /path/to/fluxplug >/dev/null 2>&1 Signed-off-by: Nagy Károly Gábriel <k@jpi.io>master
Nagy Károly Gábriel
6 years ago
9 changed files with 77 additions and 76 deletions
@ -0,0 +1,52 @@ |
|||||||
|
#!/bin/sh |
||||||
|
#General variables |
||||||
|
FLUXPLUGHOME="/opt/fluxplug" |
||||||
|
myhost=$(/bin/hostname -f) |
||||||
|
MAXLINES=10 |
||||||
|
|
||||||
|
# Utilities |
||||||
|
CURL="/usr/bin/curl" |
||||||
|
AWK="/usr/bin/awk" |
||||||
|
WC="/usr/bin/wc" |
||||||
|
DF="/bin/df" |
||||||
|
SED="/bin/sed" |
||||||
|
CHRONY="/usr/bin/chronyc" |
||||||
|
|
||||||
|
#Utilities with opts |
||||||
|
CURLWOPTS="$CURL -is -o /dev/null -w \"%{http_code}\\\n\" --netrc-file $FLUXPLUGHOME/.fluxrc -XPOST 'http://influxdb.url/write?db=mydb' --data-binary" |
||||||
|
CHRONYWOPTS="$CHRONY -nc tracking" |
||||||
|
DFWOPTS="$DF -t ext4" |
||||||
|
SEDWOPTS="$SED -e 1d" |
||||||
|
|
||||||
|
#Directories |
||||||
|
tmpdir="$FLUXPLUGHOME"/tmp |
||||||
|
datadir="$FLUXPLUGHOME"/data |
||||||
|
|
||||||
|
send_file() { |
||||||
|
datfile="$1" |
||||||
|
echo $CURLWOPTS" @$datfile" |
||||||
|
} |
||||||
|
|
||||||
|
write_line() { |
||||||
|
line="$1" |
||||||
|
length="$2" |
||||||
|
file="$3" |
||||||
|
tmpfile="$tmpdir"/"$file" |
||||||
|
datafile="$datadir"/"$file" |
||||||
|
|
||||||
|
echo "$line" >> "$tmpfile" |
||||||
|
lines=$("$WC" -l < "$tmpfile") |
||||||
|
if [ "$lines" -ge $length ]; then |
||||||
|
mv "$tmpfile" "$datafile" |
||||||
|
send_file "$datafile" |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
execute_every_minute() { |
||||||
|
for i in $(ls -1 $FLUXPLUGHOME/plugins-enabled/01m*); do |
||||||
|
. $i |
||||||
|
done |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
execute_every_minute |
@ -1,35 +0,0 @@ |
|||||||
#!/bin/sh |
|
||||||
myhost=$(/bin/hostname -f) |
|
||||||
CURL="/usr/bin/curl -is -o /dev/null -w \"%{http_code}\\\n\" -u user:password -XPOST 'http://influxdb.url/write?db=jpi' --data-binary " |
|
||||||
AWK="/usr/bin/awk" |
|
||||||
WC="/usr/bin/wc" |
|
||||||
DF="/bin/df -t ext4 " |
|
||||||
SED="/bin/sed -e 1d" |
|
||||||
CHRONY="/usr/bin/chronyc -nc tracking" |
|
||||||
|
|
||||||
z=$(basename $0) |
|
||||||
IAM="${z%.*}" |
|
||||||
|
|
||||||
tmpfile="$FLUXPLUGHOME"/tmp/"$IAM" |
|
||||||
datafile="$FLUXPLUGHOME"/data/"$IAM" |
|
||||||
|
|
||||||
MAXLINES=10 |
|
||||||
|
|
||||||
sendfile() { |
|
||||||
datfile="$1" |
|
||||||
echo $CURL" @$datfile" |
|
||||||
} |
|
||||||
|
|
||||||
writeline() { |
|
||||||
line="$1" |
|
||||||
length="$2" |
|
||||||
echo "$line" >> "$tmpfile" |
|
||||||
lines=$("$WC" -l < "$tmpfile") |
|
||||||
if [ "$lines" -ge $length ]; then |
|
||||||
mv "$tmpfile" "$datafile" |
|
||||||
sendfile "$datafile" |
|
||||||
fi |
|
||||||
|
|
||||||
|
|
||||||
} |
|
||||||
|
|
@ -0,0 +1,9 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
set -o noclobber |
||||||
|
|
||||||
|
me="chrony" |
||||||
|
|
||||||
|
LINE=$($CHRONYWOPTS | "$AWK" -F"," -v myhost="$myhost" -v time=`date -u +%s%N` '{printf "chrony,host=%s,reference_id=%s,stratum=%si,leap_status=%s system_time=%s,last_offset=%s,rms_offset=%s,frequency=%s,residual_frequency=%s,skew=%s,root_delay=%s,root_dispersion=%s,update_interval=%s %s\n",myhost,$2,$3,$13,$4,$5,$6,$7,$8,$9,$10,$11,$12,time}') |
||||||
|
|
||||||
|
write_line "$LINE" "$MAXLINES" "$me" |
@ -1,13 +0,0 @@ |
|||||||
#!/bin/sh |
|
||||||
|
|
||||||
set -o noclobber |
|
||||||
old=$PWD |
|
||||||
cd $(dirname $(readlink -f "$0")) |
|
||||||
cd ../ |
|
||||||
FLUXPLUGHOME=$PWD |
|
||||||
. "$FLUXPLUGHOME"/master |
|
||||||
cd $old |
|
||||||
|
|
||||||
LINE=$($CHRONY | "$AWK" -F"," -v myhost="$myhost" -v time=`date -u +%s%N` '{printf "chrony,host=%s,reference_id=%s,stratum=%si,leap_status=%s system_time=%s,last_offset=%s,rms_offset=%s,frequency=%s,residual_frequency=%s,skew=%s,root_delay=%s,root_dispersion=%s,update_interval=%s %s\n",myhost,$2,$3,$13,$4,$5,$6,$7,$8,$9,$10,$11,$12,time}') |
|
||||||
|
|
||||||
writeline "$LINE" "$MAXLINES" |
|
@ -1,14 +1,10 @@ |
|||||||
#!/bin/sh |
#!/bin/sh |
||||||
|
|
||||||
set -o noclobber |
set -o noclobber |
||||||
old=$PWD |
|
||||||
cd $(dirname $(readlink -f "$0") |
me="disks" |
||||||
cd ../ |
|
||||||
FLUXPLUGHOME=$PWD |
|
||||||
. "$FLUXPLUGHOME"/master |
|
||||||
cd $old |
|
||||||
|
|
||||||
LINE=$($DF | $SED | "$AWK" -v myhost="$myhost" -v time=`date -u +%s%N` '{sub(/\%$/,"",$5);printf "disks,host=%s,disk=%s total=%s,available=%s,used=%s,percent=%s %s\n",myhost,$1,$2,$4,$3,$5,time}') |
LINE=$($DF | $SED | "$AWK" -v myhost="$myhost" -v time=`date -u +%s%N` '{sub(/\%$/,"",$5);printf "disks,host=%s,disk=%s total=%s,available=%s,used=%s,percent=%s %s\n",myhost,$1,$2,$4,$3,$5,time}') |
||||||
|
|
||||||
writeline "$LINE" $((2*$MAXLINES)) |
writeline "$LINE" $((2*$MAXLINES)) "$me" |
||||||
|
|
@ -1,14 +1,10 @@ |
|||||||
#!/bin/sh |
#!/bin/sh |
||||||
|
|
||||||
set -o noclobber |
set -o noclobber |
||||||
old=$PWD |
|
||||||
cd $(dirname $(readlink -f "$0")) |
me="loadavg" |
||||||
cd ../ |
|
||||||
FLUXPLUGHOME=$PWD |
|
||||||
. "$FLUXPLUGHOME"/master |
|
||||||
cd $old |
|
||||||
|
|
||||||
LINE=$("$AWK" -v myhost="$myhost" -v time=`date -u +%s%N` '{load1=$1; load5=$2; load15=$3 } END {printf "loadavg,host=%s load_1=%s,load_5=%s,load_15=%s %s\n",myhost,load1,load5,load15,time}' /proc/loadavg ) |
LINE=$("$AWK" -v myhost="$myhost" -v time=`date -u +%s%N` '{load1=$1; load5=$2; load15=$3 } END {printf "loadavg,host=%s load_1=%s,load_5=%s,load_15=%s %s\n",myhost,load1,load5,load15,time}' /proc/loadavg ) |
||||||
|
|
||||||
writeline "$LINE" "$MAXLINES" |
writeline "$LINE" "$MAXLINES" "$me" |
||||||
|
|
@ -1,14 +1,10 @@ |
|||||||
#!/bin/sh |
#!/bin/sh |
||||||
|
|
||||||
set -o noclobber |
set -o noclobber |
||||||
old=$PWD |
|
||||||
cd $(dirname $(readlink -f "$0")) |
me="meinfo" |
||||||
cd ../ |
|
||||||
FLUXPLUGHOME=$PWD |
|
||||||
. "$FLUXPLUGHOME"/master |
|
||||||
cd $old |
|
||||||
|
|
||||||
LINE=$("$AWK" -v myhost="$myhost" -v time=`date -u +%s%N` '{if ($1 ~/MemTotal:/) memtotal=$2; if ($1 ~/MemFree:/) memfree=$2; if ($1 ~/MemAvailable:/) memavailable=$2} END {if ( memtotal && memfree && memavailable ) printf "meminfo,host=%s mem_total=%si,mem_free=%si,mem_available=%si %s\n",myhost,memtotal,memfree,memavailable,time}' /proc/meminfo) |
LINE=$("$AWK" -v myhost="$myhost" -v time=`date -u +%s%N` '{if ($1 ~/MemTotal:/) memtotal=$2; if ($1 ~/MemFree:/) memfree=$2; if ($1 ~/MemAvailable:/) memavailable=$2} END {if ( memtotal && memfree && memavailable ) printf "meminfo,host=%s mem_total=%si,mem_free=%si,mem_available=%si %s\n",myhost,memtotal,memfree,memavailable,time}' /proc/meminfo) |
||||||
|
|
||||||
writeline "$LINE" "$MAXLINES" |
writeline "$LINE" "$MAXLINES" "$me" |
||||||
|
|
@ -1,16 +1,12 @@ |
|||||||
#!/bin/sh |
#!/bin/sh |
||||||
|
|
||||||
set -o noclobber |
set -o noclobber |
||||||
old=$PWD |
|
||||||
cd $(dirname $(readlink -f "$0")) |
me="packs" |
||||||
cd ../ |
|
||||||
FLUXPLUGHOME=$PWD |
|
||||||
. "$FLUXPLUGHOME"/master |
|
||||||
cd $old |
|
||||||
|
|
||||||
LINE=$("$APT" | "$AWK" -v myhost="$myhost" -v time=`date -u +%s%N` '{if ($1~/^Inst/) counter=counter+1} END {if (counter) printf "packages,host=%s packs=%si %s\n",myhost,counter,time}') |
LINE=$("$APT" | "$AWK" -v myhost="$myhost" -v time=`date -u +%s%N` '{if ($1~/^Inst/) counter=counter+1} END {if (counter) printf "packages,host=%s packs=%si %s\n",myhost,counter,time}') |
||||||
|
|
||||||
if [ -n "${LINE##+([[:space:]])}" ]; then # <= FIXME! find a better way. |
if [ -n "${LINE##+([[:space:]])}" ]; then # <= FIXME! find a better way. |
||||||
writeline "$LINE" "$MAXLINES" |
writeline "$LINE" "$MAXLINES" "$me" |
||||||
fi |
fi |
||||||
|
|
Loading…
Reference in new issue