LibreNMS RPM

Hi, I repost here to gain a little more visibility. I spent more than a full month of my free time integrating LibreNMS in RPM format for Fedora/Red Hat and Clones, with full support for SELinux and Nagios services from which I took the package architecture, to meet my needs in our Medical School.

PHP dependencies are pre-packaged and updated from a shell installation performed for each new monthly release.

It seems stable enough to be tested by others, as you can get a complete install in less than half an hour.

The list packages is:
librenms-common (LibreNMS dependencies ala Nagios, tested)
librenms (LibreNMS web portal, tested)
librenms-rddcached (LibreNMS RRDCached, tested)
librenms-services (Nagios services check, tested)
librenms-nagios-plugins-* (Nagios plugins, tested)
librenms-weathermap (WheatherMap plugin, half tested)
librenms-snmp-agent (SNMP client agent, tested)
librenms-snmp-extend (SNMP client extend, not tested)
librenms-check-mk-agent (Check-MK agent, not tested)

Feedback is welcome to improve the inital work.

More informations in the COPR repository :
https://copr.fedorainfracloud.org/coprs/ligenix/enterprise-librenms/

2 Likes

Hi,

Great project. I’ll take a look!
Do you have a public repo used to build this so I can check what you did?

Hello, our school’s gitlab repository is actually private but I can push it to my own github if necessary.

Buf fot a shorcut, all latest builds with spec and log files can be found here :
https://download.copr.fedorainfracloud.org/results/ligenix/enterprise-librenms/

1 Like

Thanks, great job!

I have this documentation open PR to fix a polling use case from GUI that you could take into account for your policies.
Also, I personnally try to avoid httpd_unified bool but I think it might avoid some issues for rpm users.
I found on my side that I need to set httpd_setrlimit bool to 1 to permit nginx auto.
Maybe I miss it but I don’t see a module to allow snmp trap reception, there is one in documentation here
That’s all for the diff with my librenms selinux documentation.

Next I’ll need to install it to give some more reports.
Thanks again!
Edit: also you did not include opcache installation and configuration? Is it intended?

1 Like

Thank you for your report. Despite the fact that I followed some nagios and other spec files from my previous packaging jobs, it has been solitary and totally from scratch, filling my needs and discovery firstly, before exposing it to receive valuable feedback like yours.

In this context, I totaly missed the snmp trap reception, but I will test and add it in a new subpackage, and so on for the opcache installation and configuration I missed also.

On the apache side, httpd_setrlimit bool to 1 is not a requirement instead of httpd_unified which solves some AVC audit, but maybe this could be avoid in anoher way.

So again, thank you for your report, more is welcome.

Hi, after some tests, I pushed the following update :

Sat Jan 20 2024 Jean-Marc Liger [email protected] - 24.1.0~20240120-1

  • Recommend php-ldap
  • Recommend php-opache #Félix Bouynot
  • Enable snmptrap subpackage #Félix Bouynot
  • Move /etc/snmp/conf.d in common subpackage
  • Update selinux for librenms-service.py
  • Rearrange spec file
1 Like

You might want to also post this on LibreNMS discord where it will have more visibility.
Great job anyway!

CREATE USER ‘%{name}’@‘localhost’ IDENTIFIED BY ‘password’;

Maybe I’m missing something on later steps, but if I don’t it could be good to generate a random password instead.

Also it might be good to set a php max version to avoid running into errors when fedora upgrade the php package.

If you setup a GitHub / equivalent with at least the spec file it could be better to contribute, if you’re willing to / are allowed to.