monitoring your network with librenms - dknog (indico) · monitoring your network with librenms...
TRANSCRIPT
Monitoring your network with LibreNMS
DKNOG8 Mar 8-9th 2018 www.librenms.org
Neil Lathwood
History
HistoryFork of ……….
• Actual fork was Oct 2013
• Last GPL code May 2012
• 18 months code regression
Initial fork was done by:
• Paul Gear (Project founder) (@paulgear1)
• Tyler Christiansen (@supertylerc)
Overview
• Open source - GPLv3
• Community driven
• Aim to be inclusive to everyone
• 5 Years old this year - Party?
What is LibreNMS?
Auto-discovering NMS• PHP / MySQL based
• Network and Inventory information
• Data collection is done via SNMP
• Data storage via RRDTool / InfluxDB / Graphite / OpenTSDB
• Graphing via RRDTool - up and to the right
Like this
But not like this :(
GitHub Statistics
• 480+ Contributors
• 14k+ Commits
• 5k+ Pull requests
• 2.5k+ Issues
Installation
InstallationManual install from GitHub / Composer
Virtual images available including 3rd party docker container.
User contributed automation scripts
• Ansible
• Chef
Vendor support
Vendor Support• Detection for over 350 vendors
• Continuously adding or improving support
• Working to simplify adding additional support
• Moving to yaml for detection
• OS Discovery done
• Health / Sensor Discovery done
• Processor Discovery done
Features
Auto-discovery
•CDP, LLDP or FDP
•SNMP Scan
•Even OSPF, ARP and BGP
•Service discovery
Dashboards
Alerting
Simple rule
Not so simple rule
Alert rules v2
Transports
•20+ transports available
•Email, IRC, Slack + More
•Even obscure ones like Syslog and Elasticsearch
Templates:(Needstobere-done
%titleSeverity:%severity{if%state==0}Timeelapsed:%elapsed{/if}Timestamp:%timestampUnique-ID:%uidRule:%name{if%faults}Faults:{foreach%faults}#%key:%value.string{/foreach}{/if}
Templates
Templates
Templates
Templates
Device Dependancy
Alerting system 2018
•Introduce new templating system
•Per rule transports
•Multiple recipients per rule
•Improved UI for group mapping
Authentication
Authentication• Active Directory
• HTTP
• LDAP
• Radius
• SSO
• 2FA
Logging
Syslog and Graylog2
Device configs
Rancid and Oxidized
API
API
•Extensive restful API - Currently v0
•Supports Devices, Ports, Routing, Switching
•Alerting, Inventory, Bills and Logs
•Powers the myLibreNMS mobile apps
Scaling
Distributed Polling•Allows you to scale out your install
•Supports n+1 for resilience
•Supports polling within NAT environments
Traffic billing
Traffic Billing
•CDR or Quota based
•Customer and billing references
•Data available via API
•Granular graphs available
Traffic Billing
Routing Support
BGP
OSPF
OTV
CEF
PeeringDB Support
PeeringDB
Updates
Automatic updates
Two available update channels:
•Development (master branch)
•Stable (GitHub releases)
Mobile Apps
Mobile Apps
Made available courtesy of Paul @ WaveDirectNow released as Open Source
Support
Asking for help
• Discord – Primary method
• Community site
• GitHub for bugs
Getting involved
•Code contributions / pull requests
•Documentation
•Help others
•Find / report bugs and ask for device support
Contact
https://github.com/librenms/librenms
https://community.librenms.org
https://www.twitter.com/librenms
https://www.facebook.com/LibreNMS/
https://www.reddit.com/r/LibreNMS/
https://t.libren.ms/discord