Hi there, I have recently installed LibreNMS and configured it correctly on one of the servers, adding devices worked all fine. I wanted to install another version of LibreNMS on a different server and have a completely separate database and make the two monitor the same virtual hosts at the same time (High Availability). My new Installation succeeded on the 2nd server and I am able to access the WebUI normally and can do SNMPGET and SNMPWALK using v3 on the command line, however, I am unable to add the hosts as devices like I did on the first server. Any help please, Thank you
Please pastebin the output of ./validate.php
Also, what response do you get back when you try and add the device?
Hey @laf below is the output I get from running ./validate.php
==========================================================
Component | Version |
---|---|
LibreNMS | d06aaaa222fefc083dd1c60dce1ad1cbbaf8100b |
DB Schema | |
PHP | 7.0.15-1~dotdeb+8.1 |
MySQL | 10.0.29-MariaDB-0+deb8u1 |
RRDTool | 1.4.8 |
SNMP | NET-SNMP 5.7.2.1 |
==========================================================
[WARN] Your install is out of date, last update: Thu, 16 Feb 2017 08:18:40 +0000
[FAIL] We have found some files that are owned by a different user than librenms, this will stop you updating automatically and / or rrd files being updated causing graphs to fail:
If you don’t run a bespoke install then you can fix this by running chown -R librenms:librenms /opt/librenms
/opt/librenms/html/plugins/Weathermap
/opt/librenms/html/plugins/Weathermap/check.php
/opt/librenms/html/plugins/Weathermap/overlib.js
/opt/librenms/html/plugins/Weathermap/index.php
/opt/librenms/html/plugins/Weathermap/output
/opt/librenms/html/plugins/Weathermap/output/index.php
/opt/librenms/html/plugins/Weathermap/output/.gitignore
/opt/librenms/html/plugins/Weathermap/defaults.inc.php
/opt/librenms/html/plugins/Weathermap/data-pick.php
/opt/librenms/html/plugins/Weathermap/.git
and 230 more…
[OK] Database connection successful
[FAIL] fping should be suid, please chmod u+s /usr/bin/fping
[FAIL] fping6 should be suid, please chmod u+s /usr/bin/fping6
[FAIL] Discovery has never run, check the cron job
[FAIL] The poller has never run, check the cron job
This is the response I get when I try to add it through the WebUI:
Could not connect, please check the snmp details and snmp reachability
SNMP v3: No reply with credentials librenms/AuthPriv
kind of off-topic - but can I ask why you don’t just setup LibreNMS using the available high-availability features? It seems like it would be easier than maintaining two completely separate instances.
@Gorian I am running two separate instances because I want to fetch the exact same data into two databases at the same. The data is most important for me as we use the graphs generated by LibreNMS in another application through the API, so if something happens to one database we would still have another database that we can switch over to without losing the data. I do not understand what you mean by the “available high-availability features”? What is the the other way that you know of?
Are you absolutely sure the snmpd is configured to allow that other host? From the validate output you don’t have the dbSchema / cron configured potentially so you’ll have bigger issues than not being able to add hosts
Thanks @laf it was the DB Schema that’s not configured correctly I am now able to add all my hosts.
I simply ran the command php build-base.php
inside the LibreNMS installation directory /opt/librenms and it worked.
Might be better to make another thread for this, but you can setup a mariadb cluster with as many master-master nodes as you want, so multiple nodes can fail without taking the database down, and setup multiple LibreNMS web front ends to all query the same DB so that if either a Web node does down OR a database node goes down, you can still access stuff. You can also setup multiple remote pollers to send data to an rrdcached host that your Web nodes get their RRD info from so that your poller nodes are seperate from the web nodes. You can proxy all this behind something like nginx so it’s a single url for all the clusters in question, and all accessible from a single url like “monitoring.example.com” that automatically send you to the best online web node. This is how I’m implementing a single “instance” for my production monitoring.
A few links to get you started
MariaDB + Galera:
LibreNMS distributed pollers:
LibreNMS and rrdcached:
If you have further questions, please feel free to open a new topic and tag me, or find me in IRC as “Gorian”