Pretty Nagios Charts
Alexis Lê-Quôc (@alq)http://dtdg.co/nagios2012
@alqDev & OpsNagios user since 2008Datadog co-founder
Survey
Compared to Nagios World
2011...
Is your Nagios doing...
(a) Better(b) About the same(c) Worse
Why does it matter?
How do you find out?
MemoryAnalytics
First, the pipeline
Your Nagios logsare a treasure
Comprehensive
Accurate
Written for you
Hard to comprehend
IngredientsRaw logs
Simple parserSQL database
R ggplot2 or d3.js
Query
Extract
Analyze
Present
nagios.log
PostgreSQL
R
ggplot2
Nice graphs
Python
nagios.log
nagios.csv nagios table
Postgres
R Data Frame
ggplot2
RPostgresql
Let’s play!
5 lines of R
ggplot(dd_by_day_raw, aes(occurrence_doy, daily, color=factor(notifying)))
+ geom_line()
+ xlab("Day of year")+ ylab("Service Alerts")+ ggtitle("Notifying v. silent alerts per day")
Data
Geometry
Chrome
ggplot(dd_by_day_raw, aes(occurrence_doy, daily))
+ geom_line()
+ geom_smooth()
+ xlab("Day of year")+ ylab("Service Alerts")+ ggtitle("Daily trends")
Linear regression
ggplot(dd_by_day_raw, aes(occurrence_doy, daily, color=factor(notifying)))
+ geom_line()
+ geom_smooth()
+ xlab("Day of year")+ ylab("Service Alerts")+ ggtitle("Notifying v. silent alerts per day")
Tuesdays???
ggplot(dd_by_hod, aes(occurrence_dow, daily, group=occurrence_dow))
+ geom_boxplot()
+ scale_x_discrete(breaks=seq(0, 6), labels=c("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"))+ xlab("Day of the week")+ ylab("Number of alerts")+ ggtitle("Daily distribution")
Fun with Nagios stats...As a
Service
Performance Metrics
Nagios TrafficOther Sources
Real-time graphs + analytics
Play Stack:•parser•postgres•R•ggplot2
Service Stack:•parser•postgres•Hadoop•d3.js
Quick demo
And more...
Real-Time Graphing
CorrelationMetric-based Alerts
“Share what you see”
http://datadoghq.com
Curious?