An
Introduction to LibreNMS
Neil Lathwood
NLNOG-day 2017, Sept 8th
www.librenms.org
History
Fork of Observium
• 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)
Auto-discovering NMS.
• PHP / MySQL based
• Data collection is done via SNMP
• Data storage via RRDTool / InfluxDB / Graphite /
OpenTSDB
• Network and Inventory information
• Graphing via RRDTool - up and to the right
Like this
But not like this :(
Overview
Community driven project
Aim to be inclusive to everyone
Open-source (GPLv3)
Github statistics
400+ Contributors
14k Commits
4k+ Pull requests
2k+ Issues
Features
Auto-discovery
CDP, LLDP or FDP
SNMP Scan
Even OSPF, ARP and BGP
Dashboards
Alerting
Simple rule
Not so simple
Transports
20+ Transports available
Email, IRC, Slack, + more
Even obscure ones like Syslog and Elasticsearch
Templates
%title
Severity: %severity
{if %state == 0}Time elapsed: %elapsed
{/if}Timestamp: %timestamp
Unique-ID: %uid
Rule: {if %name}%name{else}%rule{/if}
{if %faults}Faults:
{foreach %faults} #%key: %value.string
{/foreach}{/if}Alert sent to: {foreach %contacts}
%value <%key> {/foreach}
Various authentication methods:
• Active Directory
• HTTP
• LDAP
• Radius
• 2FA
Syslog + Graylog2
Oxidized + Rancid
Oxidized + Rancid
API
{
"status": "ok",
"devices": [
{
"device_id": "279",
"hostname": "localhost",
"sysName": "web01.1.novalocal",
"ip": null,
"community": “librenms",
…..
"icon": "centos.svg",
"poller_group": "0",
"override_sysLocation": "0",
"notes": null,
"port_association_mode": "2"
}
]
}
Distributed polling
Traffic billing
CDR or Quota based
Billing day
Customer and billing references
Data available via API
Granular graphs available
Traffic billing
Automatic updates
Two available update channels:
Stable (GitHub releases)
Development (master branch)
iPhone and Android Apps
Made available courtesy of Paul @ WaveDirect
Installation
Manual install:
• Master branch is development.
• Monthly stable releases available (v1.31) currently.
Virtual images available including 3rd party
docker container.
User contributed automated scripts
• Ansible
• Chef
Device support
Detection for over 350 vendors
Each month 30+ new or improved vendors added
Working to simplify adding additional support
• Moving to yaml for detection
• OS Discovery done
• Health / Sensor discovery done
Getting help
IRC – Primary method
Community site
Reddit
GitHub for bugs
Getting involved
Code
Docs
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/
team@librenms.org
##librenms on freenode