image/svg+xml
Create maintainableconfiguration
- Configuration easily spans thousands of lines- Treat config as you treat code- Config format is very flexible- Maintainability is important
"the nagios guy"
Meet Adagios
- An addon to Nagios- Based on pynag, livestatus and other candy- Swiss army knife for nagios related stuff- World's best nagios web configuration
* we define everything else as a config generator, not a config editor
Nice stuff for users
ThrukAdagiosSMSEmails
Nice stuff for admins
Adagiosokconfigpynag
Broker Modules
MK Livestatus
PNP4Nagios
mod gearman
My typical Monitoring stack
Agenda
- Talk about me- Monitoring best practices- Talk about Adagios - BI and the Monitor Iceland project- Demos
Adagios Components
- Configure - Create/edit/delete objects "the right way" - Bulk Edits - Good for small changes and troubleshooting- OKConfig - Config generator - Deploys nagios agents and scans networks - Lots of built in "monitoring packs"- Status - Modern alternative to the old nagios web interface - It's pretty cool :)
Config managementdone
- Web API- Responsive design- Integrates with mk-livestatus- Integrates with PNP4Nagios- Integrates with Google maps- Integrates with Nagios logfiles
Future
Version 1.2.1- Bugfix and stability releaseVersion 1.2.2- Improve Packaging and documentationVersion 1.3- Logfile performance (better reporting)- Large environment performance
Open Source Community
right
Meet Palli
- Monitoring consultant since 2007- Mostly Nagios and HA since 2009- Mostly development since 2011- Based in Iceland- Strong focus on monitoring quality- Core developer: Pynag, OKConfig, Adagios
~ 100.000 service checks in 4 years
No, they are not allcreated manually
How to create servicechecks efficiently ?
- copy/paste a similar host- apply services to hostgroups- apply services via regex on hostnames- create some sort of addhost.sh- config management (puppet/chef)- Mostly useful in heterogeneous environments
That's all!
Fork us on github
- Web API for configuration- Fully featured editing of hosts/services/etc- start/stop/reload nagios from browser- Audit Log via git- Comprehensive device support * Over 400 different service templates * Remotely push agents to linux/windows * Scan network for unmonitored devices
Adagios Features
Monitoring Challenge # 1
Monitoring Challenge # 2
Monitoring challengesand best practices
Monitoring Challenge # 3
Monitoring Challenge # 4
Adagios - web configuration done rightThis presentation is a .svg format. Use a web browser to display it
Lets talk about Adagios
- Make Nagios nice !- Respect how users want to configure things - That means no overwriting config files- Be the ultimate toolkit around nagios
Our goals
- The local champion- Usually very smart- Knows everything about the infrastructure- Makes super awesome with nagios every day- Is in fact the only one that touches nagios- Sometimes I am the nagios guy
At some point, the nagios guy will leave- "That config looks like spaghetti"- Usually leads rewrite of the nagios config- Usually leads to the birth of a new nagios guy
Software developers have known this for years
These help* Follow best practices* Use Source Control for your configs* Create style guidelines * Peer-review of new service checks* Consistency in writing configuration* Make sure that more than one person knows the config
Some of the tricks in Challenge #2destroy maintainability
Keep the monitoringsystem up-to-date
- Setting up Nagios is no longer a set-up and forget- Changes are more rapid these days- 10x so in virtual environments- Automation and custom scripts both help
Find out if you have
Adagios
Establish a goodmonitoring baseline
- What are you going to monitor ?- Which plugins do you need ?- What software will you use ?- nrpe, nsca, ssh, snmp, wmi or winexe ?- Who are the monitoring admins ?- Who are the monitoring users (contacts)
Status interface
# yum install -y nagios adagios okconfig nagios-plugins-* nagios-okplugin-* mk-livestatus pnp4nagios thruk
Business Processes
Nice
Monitoring Core
Graphing
Configuration
Plugins
check_oracle_healthcheck_mysql_healthcheck_mssql_healthcheck_db2_health
nagios-plugins-*
nagios-okplugin-*
Data Sources
NRPE, NSClient
SNMP, WMI, SSH
Web Services
Graphite
Nagios
Monitoring Core
*
maps
status detail
graphs
status interface
service list
hostgroup overview
dashboard
Perfdata query
Performance Data
Yes, i believe that#monitoringsucks
Little bit of command-line love
palli@darkstar:~$ okconfig addhost example.com --template linux --group linux-serverspalli@darkstar:~$ okconfig install example.com --ssh --user root palli@darkstar:~$ check_nrpe -H example.compalli@darkstar:~$ sudo service nagios reloadpalli@darkstar:~$ pynag list host_name service_description where host_name=example.comhost_name service_description --------------------------------------------------------------------------------example.com CPU Utilization example.com Disk Usage example.com Ethernet Bond bond0 example.com Load example.com Multipath example.com Ping example.com Process crond example.com Running Processes example.com SELinux Status example.com SSH Connectivity example.com Security Updates example.com Swap Usage example.com Time example.com Uptime ----------16 objects matches search condition-----------------------------------palli@darkstar:~$ pynag update set check_command=check_http where host_name="example.com" and service_description="http://example.com"1 object updated.palli@darkstar:~$ pynag downtime where hostgroups=wolfram-hartSchedule downtime for these 25 objects ? (y/N)
Enterprise support
- Help us make awesome monitoring- Support contract or professional services- Get access to high quality builds and updates- Installation support- It means we can buy a better logo
palli@ok.ishttp://adagios.org
https://github.com/opinkerfi
"I am convinced its the future of nagios" - nelsonmandela"AWESOME stuff" - nagios_support
Testimonials from reddit