Skip to content

Commit 47d7fdf

Browse files
authored
# changes librenms_monitoring_server.md (#1412)
* wording changes * some simplification * still requires a thorough edit to remove passive voice and further simplify sentences (edit for another time)
1 parent 97b45a8 commit 47d7fdf

File tree

1 file changed

+32
-31
lines changed

1 file changed

+32
-31
lines changed

docs/guides/network/librenms_monitoring_server.md

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,37 +8,38 @@ tags:
88
- network
99
---
1010

11-
# LibreNMS Monitoring Server
11+
# LibreNMS monitoring server
1212

1313
## Introduction
1414

15-
Network and systems administrators almost always need some form of monitoring. This can include graphing bandwidth usage at router end points, monitoring the up/down of services running on various servers, and much, much more. There are many monitoring options out there, but one option that is very good and has many, if not all, of the monitoring components available under one roof, is LibreNMS.
15+
Network and systems administrators almost always need some form of monitoring. This can include graphing bandwidth usage at router end points, monitoring the status of services running on various servers, and much more. There are many monitoring options out there, but one good option with many, if not all, of the monitoring components available under one roof, is LibreNMS.
1616

17-
This document will only get you started with LibreNMS, but we will point you to the project's excellent (and extensive) documentation to get you going further. There are lots of other options for monitoring out there that this author has used before, Nagios and Cacti being two, but LibreNMS offers what those two projects offer individually, in one spot.
17+
This document is just a starting point for LibreNMS. We will point you to the project's excellent (and extensive) documentation for more options. There are many other monitoring options out there that this author has used before, Nagios and Cacti being two, but LibreNMS offers what those two projects offer individually, in one spot.
1818

19-
While the installation will pretty closely follow the official install instructions found [here](https://docs.librenms.org/Installation/Install-LibreNMS/), we've added some explanation and even some minor changes, which make this procedure preferable to that excellent document.
19+
While the installation will closely follow the [official install instructions found here](https://docs.librenms.org/Installation/Install-LibreNMS/), we have added some explanation and minor changes, which make this procedure preferable to that excellent document.
2020

2121
## Prerequisites, Assumptions and Conventions
2222

23-
* A server or container (yes, LibreNMS will run in a container, however if you have a lot to monitor, your best bet would be to install on its own hardware) running Rocky Linux. All commands assume a fresh install of Rocky Linux.
24-
* Assumption: that you are able to execute commands as root or can _sudo_ to do so
23+
* A server or container (yes, LibreNMS will run in a container, however, if you a great deal to monitor, your best bet would be to install on its own hardware) running Rocky Linux. All commands assume a fresh install of Rocky Linux.
24+
* Assumption: that you can run commands as root or can _sudo_ to do so
2525
* Working knowledge of command-line tools, including text editors such as _vi_
26-
* We are assuming the use of SNMP v2. If you want to use SNMP v3, it is supported by LibreNMS and will work. You'll just need to switch up the SNMP configuration and options on your devices to match up to v3.
27-
* While we have included the SELinux procedure in this document, the container that we are using in the lab does not include it by default. For this reason, the SELinux procedure has **not** been lab tested.
26+
* We are assuming the use of SNMP v2. If you want to use SNMP v3, it is supported by LibreNMS and will work. You will need to switch up the SNMP configuration and options on your devices to match up to v3.
27+
* While we have included the SELinux procedure in this document, the container we use in the lab does not include it by default. For this reason, the SELinux procedure has **not** been lab tested.
2828
* Throughout this document, the examples use the _vi_ editor as mentioned. When the document says to save your changes and exit, this is done with `SHIFT:wq!`
29-
* Some trouble-shooting skills, including log monitoring, web testing, and more, are required.
29+
* The procedure requires some troubleshooting skills, including log monitoring, web testing, and more
3030

3131
## Installing Packages
3232

33-
These commands should be entered as the root user. Before we begin, note that this installation procedure focuses on *httpd*, rather than *nginx*. If you prefer to use the latter, head up to the [Librenms Install Instructions](https://docs.librenms.org/Installation/Install-LibreNMS/) and follow the guide there.
33+
These commands should be entered as the root user. Before we begin, note that this installation procedure focuses on *httpd*, rather than *nginx*. If you prefer the latter, follow the [Librenms Install Instructions](https://docs.librenms.org/Installation/Install-LibreNMS/) and guide there.
34+
35+
We are assuming a fresh install, so we must do a few things with the repositories before continuing. First, we need to install the EPEL repository (Extra Packages for Enterprise Linux):
3436

35-
We are assuming a fresh install, so we need to do a few things with the repositories before we can continue. First, we need to install the EPEL repository (Extra Packages for Enterprise Linux):
3637

3738
```
3839
dnf install -y epel-release
3940
```
4041

41-
The current version of LibreNMS requires a minimum PHP version of 8.1. The default package in Rocky Linux 9.0 is PHP 8.0, so we will need to enable a third party repository (true for Rocky Linux 8.6 as well) for this newer version.
42+
The current version of LibreNMS requires a minimum PHP version of 8.1. The default package in Rocky Linux 9.0 is PHP 8.0, so you must enable a third party repository (also in Rocky Linux 8.6) for this newer version.
4243

4344
We will install the REMI repository for this. The version of the repository you install will depend on the version of Rocky Linux you are running. We are assuming version 9 below, but change this accordingly for the version you are running:
4445

@@ -66,7 +67,7 @@ With this command, we are setting the default directory for our new user to "/op
6667

6768
## Download LibreNMS and Set Permissions
6869

69-
The downloading is all done through git. You may be familiar with the process as it is used for many projects these days. First, switch over to the /opt directory:
70+
The downloading is all done through git. You may be familiar with the process as it is used for many projects. First, switch over to the /opt directory:
7071

7172
```
7273
cd /opt
@@ -111,11 +112,11 @@ exit
111112

112113
### Failure Of PHP Dependency Install Workaround
113114

114-
LibreNMS documentation says that when you are behind a proxy server, the above procedure may fail. I've found that it can fail for other reasons as well. For this reason, I've added a procedure for installing Composer later in the process.
115+
LibreNMS documentation says that the above procedrue may fail when you are behind a proxy server. I have found that it can fail for other reasons also. For this reason, I have added a procedure for installing Composer later.
115116

116117
## Set Timezone
117118

118-
We need to make sure that this is set correctly, both for the system and for PHP. You can find a list of valid timezone settings for PHP [here](https://php.net/manual/en/timezones.php). For instance, for the Central timezone, a common entry would be "America/Chicago". Let's start by editing the php.ini file:
119+
We need to ensure the correct setting for the system and for PHP. You can find a list of [valid timezone settings for PHP here](https://php.net/manual/en/timezones.php). For instance, for the Central timezone, a common entry would be "America/Chicago". Let's start by editing the php.ini file:
119120

120121
```
121122
vi /etc/opt/remi/php81/php.ini
@@ -157,7 +158,7 @@ systemctl enable mariadb
157158
systemctl restart mariadb
158159
```
159160

160-
Now gain access to mariadb as the root user. Remember to use the password that you created when folloing the "Securing mariadb-server" section that you performed above:
161+
Now gain access to mariadb as the root user. Remember to use the password that you created when following the "Securing mariadb-server" section that you performed above:
161162

162163

163164
```
@@ -443,25 +444,25 @@ If you've been following along diligently, then you've got that saved in a safe
443444

444445
![LibreNMS Database](../images/librenms_configure_database.png)
445446

446-
Once you click that, if it comes back green, then you are ready to click the "Build Database" button.
447+
Once you click that, you can click the "Build Database" button if it comes back green.
447448

448449
![LibreNMS Database Status](../images/librenms_configure_database_status.png)
449450

450-
Once that is complete, the third button will be active, which is "Create Admin User", so go ahead and click this. You will be prompted for an admin user name. In our lab we are simply going to use "admin", and a password for that user.
451+
Once that is complete, the "Create Admin User" button will be active, so click this. You will be prompted for an admin user name. In our lab we are simply going to use "admin", and a password for that user.
451452

452-
Make sure the password is secure and, again, log it somewhere safe, such as a password manager. You'll also need to fill in the email address for the administrative user. Once all of that is completed, simply click the "Add User" button.
453+
Emsure the password is secure and, again, log it somewhere safe, such as a password manager. You'll also need to fill in the email address for the administrative user. Once all of that is completed, simply click the "Add User" button.
453454

454455
![LibreNMS Administrative User](../images/librenms_administrative_user.png)
455456

456-
Once you do this, you'll be faced with a screen for "Finish Install." There should only be one item left to finish the install and that is a line that asks you to "validate your install".
457+
Once you do this, you will see a screen for "Finish Install." There should only be one item left to finish the install and that is a line that asks you to "validate your install".
457458

458459
Click the link. Once you've done this and everything is successful, you'll be redirected to the login page. Login with your administrative user and password.
459460

460461
## Adding Devices
461462

462463
Again, one of our assumptions was that you are using SNMP v2. Remember that each device you add must be member of your community string. We are adding two devices as examples here. An Ubuntu workstation and a CentOS server.
463464

464-
You will more than likely have managed switches, routers, and other devices to add. The author can tell you from past experience that adding switches and routers tends to be a whole lot easier than adding workstations and servers, which is why we are including the more difficult examples.
465+
You will likely have managed switches, routers, and other devices to add. The author can tell you from experience that adding switches and routers is easier than adding workstations and servers, which is why we include the more complex examples.
465466

466467
### Ubuntu Workstation Setup
467468

@@ -522,7 +523,7 @@ If you are running a firewall on your internal workstations, then you will need
522523

523524
### CentOS or Rocky Linux Server Setup
524525

525-
We are assuming that you are root here or that you can _sudo_ to become so. First, we need to install some packages:
526+
We assume you are root or that you can _sudo_ to become so. First, we need to install some packages:
526527

527528
```
528529
dnf install net-snmp net-snmp-utils
@@ -581,17 +582,17 @@ If you are running a server, then you **are** running a firewall, right? If you
581582
firewall-cmd --zone=trusted --add-source=192.168.1.140 --permanent
582583
```
583584

584-
Again, we assumed the "trusted" zone here, but you may want something else, even "public", just consder your rules and their affects before adding them in.
585+
Again, we assumed the "trusted" zone here, but you may want something else, even "public". Consider your rules and their effect before adding them in.
585586

586587
## Adding The Devices In Librenms
587588

588-
Now that our sample devices are configured to accept snmp traffic from our LibreNMS server, the next step is to add those devices in LibreNMS. We are assuming that you have the web interface for LibreNMS open, and if so, it is going to be showing you that you have no devices added and asking you to add one.
589+
Now that our sample devices are configured to accept SNMP traffic from our LibreNMS server, the next step is adding those devices to LibreNMS. We are assuming that you have the web interface for LibreNMS open, and if so, it will show you that you have no devices added and ask you to add one.
589590

590591
So go ahead and do that. Once you click to add a device, you'll be faced with this screen:
591592

592593
![LibreNMS Add Device](../images/librenms_add_device.png)
593594

594-
Put in the information we used for our test devices. In our case, we are using the IP for the Ubuntu workstation to start, in our example that is 192.168.1.122. The only other thing we will need to add here is the community string in the "Community" field, so we would type in "LABone" here.
595+
Put in the information we used for our test devices. In our case, we are using the IP for the Ubuntu workstation to start, in our example that is 192.168.1.122. We will need to add the community string in the "Community" field, so enter "LABone" here.
595596

596597
Now click the "Add Device" button. Assuming that you have done everything correctly above when adding the device, your device should be added successfully.
597598

@@ -601,28 +602,28 @@ If you run into a "failure to add" error, review the SNMP setup for the workstat
601602

602603
As we said from the start, this document will only get you started with LibreNMS. There are a large number of additional configuration items, an extensive API (Application Programming Interface), an alerts system that provides a huge number of options for delivery, called "Transports", and much more.
603604

604-
We are not going to create any alert rules, but instead we will be editing the built-in alert rule "Device Down! Due to no ICMP response" that is pre-configured out of the box, and for "Transports" we are going to stick with "Mail", which is just email. Just know that you are not limited.
605+
We will not create any alert rules. Instead we will edit the built-in alert rule "Device Down! Due to no ICMP response" that is pre-configured out of the box. For "Transports" we are going to stick with "Mail", which is just email. Just know that you are not limited.
605606

606-
In order to use email for our transport, however, we need to have mail working on our server. To get this going, we are going to use this [Postfix Procedure](../email/postfix_reporting.md).
607+
Mail must be working to use email for our transport. To get this going, use this [Postfix Procedure](../email/postfix_reporting.md).
607608

608609
Run through that procedure to configure postfix so that it will properly identify where the messages are coming from, but you can stop after the configuration process and come back here.
609610

610611
### Transports
611612

612-
We need a way to send out our alerts. As noted earlier, LibreNMS supports a huge number of transports. We are going to do our alert by email, which is defined as the "Mail" transport. To set up the transport:
613+
We need a way to send out our alerts. As noted earlier, LibreNMS supports a huge number of transports. We will do our email alert, which is defined as the "Mail" transport. To set up the transport:
613614

614615
1. Go to the dashboard
615616
2. Let your mouse hover over "Alerts"
616617
3. Go down to "Alert Transports" and click on it
617-
4. Click on on the "Create alert transport" button (Note the "Create transport group" button. You can use this to have alerts go to several individuals)
618+
4. Click on the "Create alert transport" button (Note the "Create transport group" button. You can use this to have alerts go to several individuals)
618619
5. In the "Transport name:" field, type in "Alert By Email"
619620
6. In the "Transport type: field, use the drop down to select "Mail"
620621
7. Make sure the "Default alert:" field is set to "On"
621622
8. In the "Email:" field, type the email address of the administrator
622623

623624
### Organizing Devices Into Groups
624625

625-
The best way to set up alerts is to first organize your devices into some logical order. Currently, we have a workstation and a server in devices. While we may not normally wish combine the two, we will for this example.
626+
The best way to set up alerts is to organize your devices logically. Currently, we have a workstation and a server in devices. While we may not normally wish combine the two, we will for this example.
626627

627628
Keep in mind that our example is also redundant, as there is an "All Devices" group that would work for this as well. To set up a device group:
628629

@@ -637,7 +638,7 @@ Keep in mind that our example is also redundant, as there is an "All Devices" gr
637638

638639
### Setting Up The Alert Rules
639640

640-
Now that we have the transport and the device group set up, let's configure the alert rule. By default, LibreNMS has several alert rules already created for you:
641+
Now that we have set up the transport and device group, configure the alert rule. By default, LibreNMS has several alert rules already created for you:
641642

642643
1. Go to the dashboard
643644
2. Let your mouse hover over "Alerts"

0 commit comments

Comments
 (0)