Organizing metrics • Prefix with your collector/agent/app source • Keep test/development stuff in check • Automatically purge test & release metrics • Avoid the urge to include your username
Tracking deployments drawAsInfinite(color(custom.instances.*.killed,"white")) summarize(sumSeries and (group(custom.instances.*.killed)), "1d")
Finding the Outliers mostDeviant(5, runtime.*.load.1m) p.s. Don’t forget about sortByMaxima, sortByMinima and limit !
Adjusting Rate scale(nonNegativeDerivative(snmp.IF-MIB::ifInOctets.7),0.133333333) doesn’t scale! ... because as soon as you hit a new resolution, your math is wrong. scaleToSeconds(nonNegativeDerivative(snmp.IF-MIB::ifInOctets.7),1)
Time Shifting sumSeries(mail.hosts.mta-*.messages.in) timeShift(sumSeries(mail.hosts.mta-*.messages.in),"6mon")
Renaming Keys on-the-fly Ever wanted to redefine your metric key in the middle of a query because the wildcard wasn’t quite in the right spot? aliasSub(hosts.web-01-pdx-prod-example- com.metric,”-(\w+)-prod”, ”.\1.prod”)