350 likes | 364 Views
This article explores how to improve Nagios monitoring by using Pretty Nagios Charts, a tool by Alexis Lê-Quôc. It discusses the importance of monitoring, how to analyze Nagios logs, and how to create nice graphs using R and ggplot2.
E N D
Pretty Nagios Charts • Alexis Lê-Quôc (@alq) • http://dtdg.co/nagios2012
Pretty Nagios Charts • Alexis Lê-Quôc (@alq) • http://dtdg.co/nagios2012
@alq Dev & Ops Nagios user since 2008 Datadog co-founder
Is your Nagios doing... (a) Better (b) About the same (c) Worse
Comprehensive Accurate Written for you
Query Extract Analyze Present IngredientsRaw logsSimple parserSQL databaseR ggplot2 or d3.js
nagios.log PostgreSQL R ggplot2 Nice graphs
Python nagios.log nagios.csv nagios table Postgres R Data Frame ggplot2 PDF RPostgresql
Data Geometry Chrome 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")
Linear regression ggplot(dd_by_day_raw, aes(occurrence_doy, daily))+ geom_line()+ geom_smooth()+ xlab("Day of year")+ ylab("Service Alerts")+ ggtitle("Daily trends")
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")
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")
As a Service Fun with Nagios stats...
Performance Metrics Nagios Traffic Other Sources Real-time graphs + analytics
Play Stack: • parser • postgres • R • ggplot2 • Service Stack: • parser • postgres • Hadoop • d3.js
Real-Time Graphing And more... “Share what you see” Metric-based Alerts Correlation
Curious? http://datadoghq.com