variables: mongoconnection: mongo --quiet --host=localhost blog 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 sample: curl -o /dev/null -s -w '%{time_total}' https://www.google.com - label: YAHOO sample: curl -o /dev/null -s -w '%{time_total}' https://search.yahoo.com - label: BING sample: 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 init: $mongoconnection sample: db.getCollection('posts').find({status:'ACTIVE'}).itcount() - label: INACTIVE init: $mongoconnection sample: db.getCollection('posts').find({status:'INACTIVE'}).itcount() barcharts: - title: EVENTS BY STATUS position: [[0, 17], [28, 12]] rate-ms: 300 scale: 0 items: - label: NEW init: $mongoconnection sample: db.getCollection('posts').find({status:'ACTIVE'}).itcount() - label: TRIGGERED init: $mongoconnection sample: db.getCollection('posts').find({status:'INACTIVE'}).itcount() - label: IN_PROCESS init: $mongoconnection sample: db.getCollection('posts').find({status:'UNKNOWN'}).itcount() - label: FAILED init: $mongoconnection sample: db.getCollection('posts').find({status:'ACTIVE'}).itcount() - label: FINISHED init: $mongoconnection sample: db.getCollection('posts').find({status:'INACTIVE'}).itcount() gauges: - title: YEAR PROGRESS position: [[53, 8], [27, 2]] cur: sample: date +%j max: sample: echo 365 min: sample: echo 0 - title: DAY PROGRESS position: [[53, 10], [27, 2]] cur: sample: date +%H max: sample: echo 24 min: sample: echo 0 - title: HOUR PROGRESS position: [[53, 12], [27, 2]] cur: sample: date +%M max: sample: echo 60 min: sample: 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` cur: sample: date +%S max: sample: echo 60 min: sample: echo 0 sparklines: - title: CPU usage position: [[28, 22], [24, 7]] scale: 0 sample: ps -A -o %cpu | awk '{s+=$1} END {print s}' - title: Memory pages free position: [[28, 17], [24, 5]] scale: 0 sample: memory_pressure | grep 'Pages free' | awk '{print $3}' textboxes: - title: Local weather position: [[0, 30], [13, 7]] rate-ms: 10000 sample: curl wttr.in?0ATQF border: false - title: New York weather position: [[8, 30], [13, 7]] rate-ms: 10000 sample: curl wttr.in/newyork?0ATQF border: false transform: echo 1 - title: San Francisco weather position: [[17, 30], [13, 7]] rate-ms: 10000 sample: curl wttr.in/sanfrancisco?0ATQF border: false asciiboxes: - title: LOCAL TIME position: [[53, 17], [27, 5]] sample: date +%r - title: UTC TIME position: [[53, 22], [27, 7]] sample: env TZ=UTC date +%r font: 3d