runcharts: - title: SEARCH ENGINE RESPONSE TIME (sec) position: [[0, 0], [52, 16]] triggers: - title: Latency threshold exceeded condition: echo "$prev < 0.8 && $cur > 0.8" |bc -l actions: terminal-bell: true sound: true visual: true script: 'say alert: ${label} latency exceeded ${cur} second' scale: 3 items: - label: GOOGLE value: curl -o /dev/null -s -w '%{time_total}' https://www.google.com - label: YAHOO value: curl -o /dev/null -s -w '%{time_total}' https://search.yahoo.com - label: BING value: curl -o /dev/null -s -w '%{time_total}' https://www.bing.com - title: MONGO COLLECTIONS COUNT position: [[53, 0], [27, 8]] legend: enabled: true details: false scale: 0 items: - label: ACTIVE value: mongo --quiet --host=localhost blog --eval "db.getCollection('posts').find({status:'ACTIVE'}).itcount()" - label: INACTIVE value: mongo --quiet --host=localhost blog --eval "db.getCollection('posts').find({status:'INACTIVE'}).itcount()" barcharts: - title: EVENTS BY STATUS refresh-rate-ms: 1000 position: [[0, 17], [27, 12]] scale: 0 items: - label: NEW value: mongo --quiet --host=localhost blog --eval "db.getCollection('posts').find({status:'ACTIVE'}).itcount()" - label: TRIGGERED value: mongo --quiet --host=localhost blog --eval "db.getCollection('posts').find({status:'INACTIVE'}).itcount()" - label: IN_PROCESS value: echo 0 - label: FAILED value: mongo --quiet --host=localhost blog --eval "db.getCollection('posts').find({status:'ACTIVE'}).itcount()" - label: FINISHED value: mongo --quiet --host=localhost blog --eval "db.getCollection('posts').find({status:'INACTIVE'}).itcount()" gauges: - title: YEAR PROGRESS position: [[53, 8], [27, 2]] values: cur: date +%j max: echo 365 min: echo 0 - title: DAY PROGRESS position: [[53, 10], [27, 2]] values: cur: date +%H max: echo 24 min: echo 0 - title: HOUR PROGRESS position: [[53, 12], [27, 2]] values: cur: date +%M max: echo 60 min: echo 0 - title: MINUTE PROGRESS position: [[53, 14], [27, 2]] triggers: - title: CLOCK BELL EVERY MINUTE condition: '[ $label == "cur" ] && [ $cur -eq 0 ] && echo 1 || echo 0' actions: sound: true script: say -v samantha `date +%I:%M%p` values: cur: date +%S max: echo 60 min: echo 0 asciiboxes: - title: LOCAL TIME position: [[53, 17], [27, 5]] value: date +%r - title: UTC TIME position: [[53, 22], [27, 7]] value: env TZ=UTC date +%r font: 3d sparklines: - title: CPU usage position: [[27, 17], [25, 5]] scale: 0 value: ps -A -o %cpu | awk '{s+=$1} END {print s}' - title: Memory pages free position: [[27, 27], [25, 5]] scale: 0 value: memory_pressure | grep 'Pages free' | awk '{print $3}'