Various updates; Add logAxis patch for graphite; Add namespaces to summary scripts.
[myops.git] / web / collect / server / input.cfg
1 type : echo "node-status-v3"
2 date : date --rfc-3339='seconds' | tr ' ' 'T'
3 ts : date +%s
4 hostname : hostname
5 boot_state : if [ -d /vservers ] ; then echo 'BOOT' ; else echo 'DEBUG' ; fi
6 ip_internal : ifconfig eth0 | grep "inet addr:" | sed -e 's/addr://' | awk '{print $2}'
7 diskspace_root : python -c 'import sys, os; f="/"; v=os.statvfs(f); pct_free=v[4]/float(v[2]); print "%s" % "Correct" if ( pct_free > 0.1 ) else "Warning/low_10_pct" if ( pct_free > 0.02 ) else "Error/empty_2_pct" ; ' 2>/dev/null  
8 diskspace_vservers : python -c 'import sys, os; f="/vservers"; v=os.statvfs(f); pct_free=v[4]/float(v[2]); print "%s" % "Correct" if ( pct_free > 0.1 ) else "Warning/low_10_pct" if ( pct_free > 0.02 ) else "Error/empty_2_pct" ; ' 2>/dev/null  
9 free_disk_root : python -c 'import sys, os; f="/"; v=os.statvfs(f); sys.stdout.write("%.3f\\n" % (v[4]/float(v[2]) ));' 2>/dev/null  
10 free_inodes_root : python -c 'import sys, os; f="/"; v=os.statvfs(f); sys.stdout.write("%.3f\\n" % (v[6]/float(v[5]) ));' 2>/dev/null  
11 free_disk_vservers : python -c 'import sys, os; f="/vservers/"; v=os.statvfs(f); sys.stdout.write("%.3f\\n" % (v[4]/float(v[2]) ));' 2>/dev/null  
12 free_inodes_vservers : python -c 'import sys, os; f="/vservers/"; v=os.statvfs(f); sys.stdout.write("%.3f\\n" % (v[6]/float(v[5]) ));' 2>/dev/null  
13 f := echo "/var/local/fprobe/"`ls -rt /var/local/fprobe | tail -1`
14 fs_status : grep "planetlab-vservers.*ro," /proc/mounts ; touch /var/log/myops 2>&1 ; if [ -d /vservers/ ] ; then touch /vservers/myops.log 2>&1  ; fi 
15 fs_status_ok : grep -q "planetlab-vservers.*ro," /proc/mounts || echo "ok" ;  grep -q "planetlab-vservers.*ro," /proc/mounts && echo "ko" ; 
16 install_date : python -c "import os,time,stat; print time.strftime('%s %Y-%m-%dT%H:%M:%S',time.localtime(os.stat('/usr/boot/cacert.pem')[stat.ST_CTIME]))"
17 iptables_status : iptables -t mangle -nL | awk '$1~/^[A-Z]+$/ {modules[$1]=1;}END{for (k in modules) {if (k) printf "%s\\n",k;}}' | sort
18 kernel_version : uname -r -v
19 netflow : perl -e '@s=stat($ARGV[0]);$hours=(time()-$s[9])/3600;(($hours < 4) && print "Ok") || print("Bad");' $f
20 netflow_live : touch /var/local/fprobe/.myopscheck;vserver pl_netflow exec bash -c 'if [ -f "/pf/.myopscheck" ]; then echo "OK"; else echo "KO"; fi;';rm -f /var/local/fprobe/.myopscheck
21 nm_status : ps ax | grep nodemanager.py | grep -v grep | tail -1
22 plc_config : wc -l /etc/planetlab/plc_config | awk '{if ($1<5) {print "KO";} else {print "OK";}}'
23 princeton_comon_dir : ls -d /vservers/princeton_comon
24 princeton_comon_procs : vps ax | grep `grep princeton_comon /etc/passwd | awk -F : '{if ( $3 > 500 ) { print $3}}'` | grep -v grep | wc -l
25 princeton_comon_running : ls -d /proc/virtual/`grep princeton_comon /etc/passwd | awk -F : '{if ( $3 > 500 ) { print $3}}'`
26 redundant_procs : sleep 4 && ps xo args | sort | uniq -c | sort -n | grep -v " [1-5] " | grep -vE "bash|flock|sshd|collect|grep" | tail -1 | tr ':' ';' 
27 rpmprocess_count : pgrep "rpm|yum" | wc -l
28 running_slices : vps ax | awk '{print $3}' | grep -vE 'ALL_PROC|MAIN|TTY|\\?' | sort | uniq
29 uptime : cat /proc/uptime | awk '{print $1}'
30 uptime_idle : cat /proc/uptime | awk '{print $2}'
31 boot_server : cat /mnt/cdrom/bootme/BOOTSERVER
32 bootcd_version : cat /mnt/cdrom/bootme/ID || cat /usr/bootme/ID
33 real_bootcd_version : /home/pl_myops/get_bootcd_version.sh 2>&1 
34 real_bootcd_kernel_version : /home/pl_myops/get_bootcd_version.sh -k 2>&1 
35 rpm_versions :  sleep 6; if [ -f /home/pl_myops/timeout3.sh ] ; then /home/pl_myops/timeout3.sh -t 60 rpm -q -a ; else rpm -q -a ; fi
36 traceroute_from_host : traceroute -n 128.112.139.91 | tr '\\n' '|'
37 traceroute_to_host : curl -s --insecure 'https://128.112.139.113/monitor/traceroute'
38 running () { pgrep -f $1 | wc -l | awk '{if ($1 > 0){ print "yes"} else { print "no" } }'; }
39 zabbix_running : running zabbix
40 nodemanager_running : running nodemanager
41 nm_running : running nm.py
42 func_running : running funcd
43 codemux_running : running codemux
44 fprobe_size : du -s /var/local/fprobe/ | awk '{print $1}'
45 fprobe_size_status : du -s /var/local/fprobe/ | awk '{if ($1 < 4900000) { print "Correct" } else { print "Warning/big_5gb" } }'
46 cpu_flags : grep flags /proc/cpuinfo | uniq | awk -F: '{print $2}'
47 lnprof_nodeid : if [ -f /etc/lnprof.node_id ] ; then cat /etc/lnprof.node_id ; fi
48 dns : /home/pl_myops/check_dns.py 2>&1 
49 bw : /home/pl_myops/check_bw.py 2>&1 
50 uptime_avg : /home/pl_myops/check_uptime.py 2>&1 
51 update : if [ ! -f ./update_ok ] ; then curl -s -O --insecure https://128.112.139.3/PlanetLabConf/myops_update_sh ; chmod 755 ./myops_update_sh ; ./myops_update_sh ; fi