Improve Markdown syntax in Document (#12949)
* Use GitLab instead of Gitlab Only change text part, the Alert.Transport.Gitlab class left as is. * Fix href in document * Move section in document The agent list in this document is sorted by alphabetical order, "SDFS info" is the only exception. * Remove trailing spaces in document * Align code in document * Fix Markdown in document - Escape underline - Add syntax highlight - Add two space in the end of line to make it a newline - Add newline before list or code section * Update LibreNMS/Alert/Transport/Gitlab.php Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
This commit is contained in:
parent
7edc302f34
commit
bcedc0ed77
|
@ -14,7 +14,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/**
|
||||
* Gitlab API Transport
|
||||
* GitLab API Transport
|
||||
* @author Drew Hynes <drew.hynes@gmail.com>
|
||||
* @copyright 2018 Drew Hynes, LibreNMS
|
||||
* @license GPL
|
||||
|
@ -74,11 +74,11 @@ class Gitlab extends Transport
|
|||
$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
||||
if ($code == 200) {
|
||||
$gitlabout = json_decode($ret, true);
|
||||
d_echo('Created Gitlab issue ' . $gitlabout['key'] . ' for ' . $device);
|
||||
d_echo('Created GitLab issue ' . $gitlabout['key'] . ' for ' . $device);
|
||||
|
||||
return true;
|
||||
} else {
|
||||
d_echo('Gitlab connection error: ' . serialize($ret));
|
||||
d_echo('GitLab connection error: ' . serialize($ret));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -92,13 +92,13 @@ class Gitlab extends Transport
|
|||
[
|
||||
'title' => 'Host',
|
||||
'name' => 'gitlab-host',
|
||||
'descr' => 'Gitlab Host',
|
||||
'descr' => 'GitLab Host',
|
||||
'type' => 'text',
|
||||
],
|
||||
[
|
||||
'title' => 'Project ID',
|
||||
'name' => 'gitlab-id',
|
||||
'descr' => 'Gitlab Prokect ID',
|
||||
'descr' => 'GitLab Project ID',
|
||||
'type'=> 'text',
|
||||
],
|
||||
[
|
||||
|
|
|
@ -1310,7 +1310,7 @@ search all oxidized device configs for a string.
|
|||
Route: `api/v0/oxidized/config/search/:searchstring`
|
||||
|
||||
- searchstring is the specific string you would like to search for.
|
||||
|
||||
|
||||
Input:
|
||||
|
||||
-
|
||||
|
@ -1345,7 +1345,7 @@ Returns a specific device's config from oxidized.
|
|||
Route: `api/v0/oxidized/config/:device_name`
|
||||
|
||||
- device_name is the full dns name of the device used when adding the device to librenms.
|
||||
|
||||
|
||||
Input:
|
||||
|
||||
-
|
||||
|
|
|
@ -11,7 +11,7 @@ cage, then the sfp itself. The way this API call is designed is to
|
|||
enable a recursive lookup. The first call will retrieve the root
|
||||
entry, included within this response will be entPhysicalIndex, you can
|
||||
then call for entPhysicalContainedIn which will then return the next
|
||||
layer of results. To retrieve all items together, see
|
||||
layer of results. To retrieve all items together, see
|
||||
[get_inventory_for_device](#get_inventory_for_device).
|
||||
|
||||
Route: `/api/v0/inventory/:hostname`
|
||||
|
@ -69,8 +69,8 @@ Output:
|
|||
|
||||
### `get_inventory_for_device`
|
||||
|
||||
Retrieve the flattened inventory for a device. This retrieves all
|
||||
inventory items for a device regardless of their structure, and may be
|
||||
Retrieve the flattened inventory for a device. This retrieves all
|
||||
inventory items for a device regardless of their structure, and may be
|
||||
more useful for devices with with nested components.
|
||||
|
||||
Route: `/api/v0/inventory/:hostname/all`
|
||||
|
@ -114,4 +114,4 @@ Output:
|
|||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
```
|
||||
|
|
|
@ -261,11 +261,11 @@ The index pattern uses strftime() formatting.
|
|||
| Port | 9200 |
|
||||
| Index Patter | librenms-%Y.%m.%d |
|
||||
|
||||
## Gitlab
|
||||
## GitLab
|
||||
|
||||
LibreNMS will create issues for warning and critical level alerts
|
||||
however only title and description are set. Uses Personal access
|
||||
tokens to authenticate with Gitlab and will store the token in cleartext.
|
||||
tokens to authenticate with GitLab and will store the token in cleartext.
|
||||
|
||||
**Example:**
|
||||
|
||||
|
@ -359,9 +359,9 @@ As a small reminder, here is it's configuration directives including defaults:
|
|||
## Matrix
|
||||
|
||||
For using the Matrix transports, you have to create a room on the Matrix-server.
|
||||
The provided Auth_token belongs to an user, which is member of this room.
|
||||
The provided Auth_token belongs to an user, which is member of this room.
|
||||
The Message, sent to the matrix-room can be built from the variables defined in
|
||||
[Template-Syntax](Templates.md#syntax) but without the 'alert->' prefix.
|
||||
[Template-Syntax](Templates.md#syntax) but without the 'alert->' prefix.
|
||||
See API-Transport. The variable ``` $msg ``` is contains the result of the Alert template.
|
||||
The Matrix-Server URL is cutted before the beginning of the ``_matrix/client/r0/...`` API-part.
|
||||
|
||||
|
@ -376,9 +376,9 @@ The Matrix-Server URL is cutted before the beginning of the ``_matrix/client/r0/
|
|||
|
||||
## Microsoft Teams
|
||||
|
||||
LibreNMS can send alerts to Microsoft Teams [Incoming Webhooks](https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook) which are
|
||||
then posted to a specific channel. Microsoft recommends using
|
||||
[markdown](https://docs.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-format#markdown-formatting-for-connector-cards) formatting for connector cards.
|
||||
LibreNMS can send alerts to Microsoft Teams [Incoming Webhooks](https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook) which are
|
||||
then posted to a specific channel. Microsoft recommends using
|
||||
[markdown](https://docs.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-format#markdown-formatting-for-connector-cards) formatting for connector cards.
|
||||
Administrators can opt to [compose](https://messagecardplayground.azurewebsites.net/)
|
||||
the [MessageCard](https://docs.microsoft.com/en-us/outlook/actionable-messages/message-card-reference)
|
||||
themselves using JSON to get the full functionality.
|
||||
|
@ -658,7 +658,10 @@ You need a token you can find on your personnal space.
|
|||
LibreNMS can send alerts to a Splunk instance and provide all device
|
||||
and alert details.
|
||||
|
||||
Example output: `Feb 21 15:21:52 nms hostname="localhost", sysName="localhost",
|
||||
Example output:
|
||||
|
||||
```
|
||||
Feb 21 15:21:52 nms hostname="localhost", sysName="localhost",
|
||||
sysDescr="", sysContact="", os="fortigate", type="firewall", ip="localhost",
|
||||
hardware="FGT_50E", version="v5.6.9", serial="", features="", location="",
|
||||
uptime="387", uptime_short=" 6m 27s", uptime_long=" 6 minutes 27 seconds",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
source: Developing/Creating-Documentation.md
|
||||
source: Developing/Creating-Documentation.md
|
||||
path: blob/master/doc/
|
||||
|
||||
# Creating Documentation
|
||||
|
@ -63,13 +63,13 @@ This means you can use:
|
|||
|
||||
## Building docs
|
||||
|
||||
This is achieved with `mkdocs`, a python package.
|
||||
This is achieved with `mkdocs`, a python package.
|
||||
|
||||
1. Install the required packages.
|
||||
1. Install the required packages.
|
||||
|
||||
```
|
||||
pip install mkdocs mkdocs-exclude mkdocs-material mkdocs-macros-plugin
|
||||
```
|
||||
```
|
||||
If you encounter permissions issues, these might be reoslved by using the
|
||||
user option, with whatever user you are building as, e.g. `-u librenms`
|
||||
|
||||
|
@ -92,9 +92,9 @@ This will output all the documentation in html format to `/opt/librenms/out`
|
|||
|
||||
## Viewing docs
|
||||
|
||||
mkdocs includes it's own light-weight webserver for this purpose.
|
||||
mkdocs includes it's own light-weight webserver for this purpose.
|
||||
|
||||
Viewing is as simple as running the following command:
|
||||
Viewing is as simple as running the following command:
|
||||
|
||||
```
|
||||
$ mkdocs serve
|
||||
|
@ -105,7 +105,7 @@ INFO - Documentation built in 12.54 seconds
|
|||
INFO - Serving on http://127.0.0.1:8000
|
||||
<..>
|
||||
INFO - Start watching changes
|
||||
```
|
||||
```
|
||||
|
||||
Now you will find the complete set of LibreNMS documentation by opening your
|
||||
browser to `localhost:8000`.
|
||||
|
|
|
@ -16,7 +16,7 @@ If the user is overriding the option in config.php it would use the format `$con
|
|||
|
||||
## Translation
|
||||
|
||||
The config definition system inherently supports translation. You must add the English names in the
|
||||
The config definition system inherently supports translation. You must add the English names in the
|
||||
`resoures/lang/en/settings.php` file (and other languages if you can).
|
||||
|
||||
To update the javascript translation files, run:
|
||||
|
|
|
@ -142,7 +142,7 @@ case the oid is indexed multiple times) are also available: if
|
|||
$index="1.20", then $subindex0="1" and $subindex1="20".
|
||||
|
||||
When referencing an oid in another table the full index will be used to match the other table.
|
||||
If this is undesirable, you may use a single sub index by appending the sub index after a colon to
|
||||
If this is undesirable, you may use a single sub index by appending the sub index after a colon to
|
||||
the variable name. Example `{{ $ifName:2 }}`
|
||||
|
||||
> `skip_values` can also compare items within the OID table against
|
||||
|
@ -214,7 +214,7 @@ the discovery code in php.
|
|||
The directory structure for sensor information is
|
||||
`includes/discovery/sensors/$class/$os.inc.php`. The format of all of
|
||||
the sensors follows the same code format which is to collect sensor information
|
||||
via SNMP and then call the `discover_sensor()` function; with the exception of state
|
||||
via SNMP and then call the `discover_sensor()` function; with the exception of state
|
||||
sensors which requires additional code. Sensor information is commonly found in an ENTITY
|
||||
mib supplied by device's vendor in the form of a table. Other mib tables may be used as
|
||||
well. Sensor information is first collected by
|
||||
|
@ -324,7 +324,7 @@ line walks the cmEntityObject table to get information about the chassis and lin
|
|||
this information we extract the model type which will identify which tables in the CM-Facility-Mib
|
||||
the ports are populated in. The program then reads the appropriate table into the `$pre_cache`
|
||||
array `adva_fsp150_ports`. This array will have OID indexies for each port, which we will use
|
||||
later to identify our sensor OIDs.
|
||||
later to identify our sensor OIDs.
|
||||
|
||||
```
|
||||
$pre_cache['adva_fsp150'] = snmpwalk_cache_multi_oid($device, 'cmEntityObjects', [], 'CM-ENTITY-MIB', null, '-OQUbs');
|
||||
|
|
|
@ -12,7 +12,7 @@ To detect non-standard MIBs, they can be defined via Yaml.
|
|||
##### YAML
|
||||
|
||||
In order to successfully detect memory amount and usage, two of the for keys below are required. Some OS only
|
||||
provide a usage percentage, which will work, but a total RAM amount will not be displayed.
|
||||
provide a usage percentage, which will work, but a total RAM amount will not be displayed.
|
||||
|
||||
- total
|
||||
- used
|
||||
|
@ -36,7 +36,7 @@ including {{ }} parsing, skip_values, and precache.
|
|||
Valid data entry keys:
|
||||
|
||||
- `oid` oid to walk to collect processor data
|
||||
- `total` oid or integer total memory size in bytes (or precision),
|
||||
- `total` oid or integer total memory size in bytes (or precision)
|
||||
- `used` oid memory used in bytes (or precision)
|
||||
- `free` oid memory free in bytes (or precision)
|
||||
- `percent_used` oid of percentage of used memory
|
||||
|
|
|
@ -82,6 +82,6 @@ If you want to restrict which network adapter the agent listens on, do the follo
|
|||
|
||||
|
||||
## Windows
|
||||
1. Grab version 1.2.6b5 of the check_mk agent from the check_mk github repo (exe/msi or compile it yourself depending on your usage): https://github.com/tribe29/checkmk/tree/v1.2.6b5/agents/windows
|
||||
1. Grab version 1.2.6b5 of the check_mk agent from the check_mk github repo (exe/msi or compile it yourself depending on your usage): <https://github.com/tribe29/checkmk/tree/v1.2.6b5/agents/windows>
|
||||
2. Run the msi / exe
|
||||
3. Make sure your LibreNMS instance can reach TCP port 6556 on your target.
|
||||
|
|
|
@ -113,7 +113,7 @@ by following the steps under the `SNMP Extend` heading.
|
|||
1. [NTP Client](#ntp-client) - SNMP extend
|
||||
1. [NTP Server/NTPD](#ntp-server-aka-ntpd) - SNMP extend
|
||||
1. [Nvidia GPU](#nvidia-gpu) - SNMP extend
|
||||
1. [Open Grid Scheduler](#opengridscheduler) - SNMP extend
|
||||
1. [Open Grid Scheduler](#open-grid-scheduler) - SNMP extend
|
||||
1. [Opensips](#opensips) - SNMP extend
|
||||
1. [OS Updates](#os-updates) - SNMP extend
|
||||
1. [PHP-FPM](#php-fpm) - SNMP extend
|
||||
|
@ -126,7 +126,7 @@ by following the steps under the `SNMP Extend` heading.
|
|||
1. [PowerDNS dnsdist](#powerdns-dnsdist) - SNMP extend
|
||||
1. [PowerMon](#powermon) - SNMP extend
|
||||
1. [Proxmox](#proxmox) - SNMP extend
|
||||
1. [Puppet Agent](#puppet_agent) - SNMP extend
|
||||
1. [Puppet Agent](#puppet-agent) - SNMP extend
|
||||
1. [PureFTPd](#pureftpd) - SNMP extend
|
||||
1. [Raspberry PI](#raspberry-pi) - SNMP extend
|
||||
1. [Redis](#redis) - SNMP extend
|
||||
|
@ -374,6 +374,7 @@ via `wget https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/
|
|||
A small python3 script that checks age and remaining validity of certificates
|
||||
|
||||
This script needs following packages on Debian/Ubuntu Systems:
|
||||
|
||||
* python3
|
||||
* python3-openssl
|
||||
|
||||
|
@ -495,7 +496,7 @@ wget https://github.com/librenms/librenms-agent/raw/master/snmp/docker-stats.sh
|
|||
4: Edit your snmpd.conf file (usually /etc/snmp/snmpd.conf) and add:
|
||||
|
||||
```
|
||||
extend docker /etc/snmp/docker-stats.sh
|
||||
extend docker /etc/snmp/docker-stats.sh
|
||||
```
|
||||
|
||||
5: Restart snmpd on your host
|
||||
|
@ -951,7 +952,7 @@ Extend` heading top of page.
|
|||
|
||||
To create your own custom munin scripts, please see this example:
|
||||
|
||||
```
|
||||
```bash
|
||||
#!/bin/bash
|
||||
if [ "$1" = "config" ]; then
|
||||
echo 'graph_title Some title'
|
||||
|
@ -1022,7 +1023,7 @@ Verify it is working by running `/usr/lib/check_mk_agent/local/mysql`
|
|||
|
||||
## SNMP extend
|
||||
|
||||
1: Copy the mysql script to the desired host.
|
||||
1: Copy the mysql script to the desired host.
|
||||
```
|
||||
wget https://github.com/librenms/librenms-agent/raw/master/snmp/mysql -O /etc/snmp/mysql
|
||||
```
|
||||
|
@ -1053,10 +1054,10 @@ configuration responsible for the localhost server:
|
|||
```text
|
||||
location /nginx-status {
|
||||
stub_status on;
|
||||
access_log off;
|
||||
access_log off;
|
||||
allow 127.0.0.1;
|
||||
allow ::1;
|
||||
deny all;
|
||||
deny all;
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -1568,7 +1569,7 @@ script which method to use. The are several options to assist with testing, see
|
|||
|
||||
### Initial setup
|
||||
|
||||
1. Download the python script onto the host:
|
||||
1. Download the python script onto the host:
|
||||
```
|
||||
wget https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/powermon-snmp.py -O /usr/local/bin/powermon-snmp.py
|
||||
```
|
||||
|
@ -1866,6 +1867,33 @@ SNMP extend script to monitor your (remote) RRDCached via snmp
|
|||
extend rrdcached /etc/snmp/rrdcached
|
||||
```
|
||||
|
||||
# SDFS info
|
||||
|
||||
A small shell script that exportfs SDFS volume info.
|
||||
|
||||
## SNMP Extend
|
||||
|
||||
1: Download the script onto the desired host (the host must be added
|
||||
to LibreNMS devices)
|
||||
|
||||
```
|
||||
wget https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/sdfsinfo -O /etc/snmp/sdfsinfo
|
||||
```
|
||||
|
||||
2: Make the script executable (chmod +x /etc/snmp/sdfsinfo)
|
||||
|
||||
3: Edit your snmpd.conf file (usually /etc/snmp/snmpd.conf) and add:
|
||||
|
||||
```
|
||||
extend sdfsinfo /etc/snmp/sdfsinfo
|
||||
```
|
||||
|
||||
4: Restart snmpd on your host
|
||||
|
||||
The application should be auto-discovered as described at the top of
|
||||
the page. If it is not, please follow the steps set out under `SNMP
|
||||
Extend` heading top of page.
|
||||
|
||||
# Seafile
|
||||
|
||||
SNMP extend script to monitor your Seafile Server
|
||||
|
@ -2108,7 +2136,7 @@ The application should be auto-discovered as described at the top of
|
|||
the page. If it is not, please follow the steps set out under `SNMP
|
||||
Extend` heading top of page.
|
||||
|
||||
# Option 2: Agent
|
||||
## Option 2: Agent
|
||||
|
||||
[Install the agent](#agent-setup) on this device if it isn't already
|
||||
and copy the `unbound.sh` script to `/usr/lib/check_mk_agent/local/`
|
||||
|
@ -2168,33 +2196,6 @@ The application should be auto-discovered as described at the top of
|
|||
the page. If it is not, please follow the steps set out under `SNMP
|
||||
Extend` heading top of page.
|
||||
|
||||
# SDFS info
|
||||
|
||||
A small shell script that exportfs SDFS volume info.
|
||||
|
||||
## SNMP Extend
|
||||
|
||||
1: Download the script onto the desired host (the host must be added
|
||||
to LibreNMS devices)
|
||||
|
||||
```
|
||||
wget https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/sdfsinfo -O /etc/snmp/sdfsinfo
|
||||
```
|
||||
|
||||
2: Make the script executable (chmod +x /etc/snmp/sdfsinfo)
|
||||
|
||||
3: Edit your snmpd.conf file (usually /etc/snmp/snmpd.conf) and add:
|
||||
|
||||
```
|
||||
extend sdfsinfo /etc/snmp/sdfsinfo
|
||||
```
|
||||
|
||||
4: Restart snmpd on your host
|
||||
|
||||
The application should be auto-discovered as described at the top of
|
||||
the page. If it is not, please follow the steps set out under `SNMP
|
||||
Extend` heading top of page.
|
||||
|
||||
# Voip-monitor
|
||||
|
||||
Shell script that reports cpu-load/memory/open-files files stats of Voip Monitor
|
||||
|
|
|
@ -257,12 +257,12 @@ then need to assign the relevant permissions unless you set
|
|||
`$config['radius']['userlevel']` to be something other than 1.
|
||||
|
||||
```php
|
||||
$config['radius']['hostname'] = 'localhost';
|
||||
$config['radius']['port'] = '1812';
|
||||
$config['radius']['secret'] = 'testing123';
|
||||
$config['radius']['timeout'] = 3;
|
||||
$config['radius']['users_purge'] = 14;//Purge users who haven't logged in for 14 days.
|
||||
$config['radius']['default_level'] = 1;//Set the default user level when automatically creating a user.
|
||||
$config['radius']['hostname'] = 'localhost';
|
||||
$config['radius']['port'] = '1812';
|
||||
$config['radius']['secret'] = 'testing123';
|
||||
$config['radius']['timeout'] = 3;
|
||||
$config['radius']['users_purge'] = 14; // Purge users who haven't logged in for 14 days.
|
||||
$config['radius']['default_level'] = 1; // Set the default user level when automatically creating a user.
|
||||
```
|
||||
|
||||
## Old account cleanup
|
||||
|
@ -297,16 +297,16 @@ This will then assign the userlevel for guest to all authenticated users.
|
|||
|
||||
Config option: `ad-authorization`
|
||||
|
||||
This module is a combination of ___http-auth___ and ___active_directory___
|
||||
This module is a combination of ___http-auth___ and ___active\_directory___
|
||||
|
||||
LibreNMS will expect the user to have authenticated via your
|
||||
webservice already (e.g. using Kerberos Authentication in Apache) but
|
||||
will use Active Directory lookups to determine and assign the
|
||||
userlevel of a user. The userlevel will be calculated by using AD
|
||||
group membership information as the ___active_directory___ module
|
||||
group membership information as the ___active\_directory___ module
|
||||
does.
|
||||
|
||||
The configuration is the same as for the ___active_directory___ module
|
||||
The configuration is the same as for the ___active\_directory___ module
|
||||
with two extra, optional options: auth_ad_binduser and
|
||||
auth_ad_bindpassword. These should be set to a AD user with read
|
||||
capabilities in your AD Domain in order to be able to perform
|
||||
|
@ -428,7 +428,7 @@ supply environment variables or headers.
|
|||
### User Attribute
|
||||
|
||||
If for some reason your relying party doesn't store the username in
|
||||
___REMOTE_USER___, you can override this choice.
|
||||
___REMOTE\_USER___, you can override this choice.
|
||||
|
||||
```php
|
||||
$config['sso']['user_attr'] = 'HTTP_UID';
|
||||
|
@ -483,9 +483,9 @@ $config['sso']['level_attr'] = "entitlement";
|
|||
|
||||
If your Relying Party is capable of calculating the necessary
|
||||
privilege level, you can configure the module to read the privilege
|
||||
number straight from an attribute. ___sso_level_attr___ should contain
|
||||
number straight from an attribute. ___sso\_level\_attr___ should contain
|
||||
the name of the attribute that the Relying Party exposes to LibreNMS -
|
||||
as long as ___sso_mode___ is correctly set, the mechanism should find
|
||||
as long as ___sso\_mode___ is correctly set, the mechanism should find
|
||||
the value.
|
||||
|
||||
#### Group Map
|
||||
|
@ -500,14 +500,14 @@ $config['sso']['group_delimiter'] = ';';
|
|||
```
|
||||
|
||||
The mechanism expects to find a delimited list of groups within the
|
||||
attribute that ___sso_group_attr___ points to. This should be an
|
||||
attribute that ___sso\_group\_attr___ points to. This should be an
|
||||
associative array of group name keys, with privilege levels as
|
||||
values. The mechanism will scan the list and find the ___highest___
|
||||
privilege level that the user is entitled to, and assign that value to
|
||||
the user.
|
||||
|
||||
This format may be specific to Shibboleth; other relying party
|
||||
software may need changes to the mechanism (e.g. ___mod_auth_mellon___
|
||||
software may need changes to the mechanism (e.g. ___mod\_auth\_mellon___
|
||||
may create pseudo arrays).
|
||||
|
||||
There is an optional value for sites with large numbers of groups:
|
||||
|
|
|
@ -108,7 +108,7 @@ Enabled by default.
|
|||
This includes FDP, CDP and LLDP support based on the device type.
|
||||
|
||||
The LLDP/xDP links with neighbours will always be discovered as soon as the discovery module is enabled.
|
||||
However, LibreNMS will only try to add the new devices discovered with LLDP/xDP if `$config['autodiscovery']['xdp'] = true`;
|
||||
However, LibreNMS will only try to add the new devices discovered with LLDP/xDP if `$config['autodiscovery']['xdp'] = true;`.
|
||||
|
||||
Devices may be excluded from xdp discovery by sysName and sysDescr.
|
||||
|
||||
|
@ -187,4 +187,5 @@ optional arguments:
|
|||
# Discovered devices
|
||||
|
||||
Newly discovered devices will be added to the `default_poller_group`, this value defaults to 0 if unset.
|
||||
When using distributed polling, this value can be changed locally by setting `$config['default_poller_group`]` in config.php or globally by using `lnms config:set`.
|
||||
|
||||
When using distributed polling, this value can be changed locally by setting `$config['default_poller_group']` in config.php or globally by using `lnms config:set`.
|
||||
|
|
|
@ -16,7 +16,7 @@ LibreNMS has a whole list of Widgets to select from.
|
|||
|
||||
- Alerts Widget: Displays all alert notifications.
|
||||
- Availability Map: Displays all devices with colored tiles, green up,
|
||||
yellow for warning (device has been restarted in last 24 hours),red
|
||||
yellow for warning (device has been restarted in last 24 hours), red
|
||||
for down. You can also list all services and ignored/disabled
|
||||
devices in this widget.
|
||||
- Components Status: List all components Ok state, Warning state, Critical state.
|
||||
|
@ -42,8 +42,8 @@ LibreNMS has a whole list of Widgets to select from.
|
|||
from override sysLocation.
|
||||
|
||||
List of Widgets:
|
||||
![List of Widgets][image of widgets]
|
||||
|
||||
![List of Widgets][image of widgets]
|
||||
[image of widgets]: /img/list-widgets.png "List of the widgets"
|
||||
|
||||
## Dashboard Permissions
|
||||
|
@ -82,7 +82,7 @@ Also some web pages may not support html embedded or iframe.
|
|||
|
||||
In the dashboard, you want to create an interface graph select the widget called
|
||||
|
||||
'Graph' then select "Port" "Bits"
|
||||
'Graph' then select "Port" -> "Bits"
|
||||
![port-bits-graph](/img/port-bits-graph.png)
|
||||
|
||||
Note: you can map the port by description or the alias or by port
|
||||
|
|
|
@ -6,7 +6,7 @@ path: blob/master/doc/
|
|||
> Status: Release Candidate
|
||||
|
||||
The LibreNMS dispatcher service (`librenms-service.py`) is a new method
|
||||
of running the poller service at set times. It does not replace the php scripts,
|
||||
of running the poller service at set times. It does not replace the php scripts,
|
||||
just the cron entries running them.
|
||||
|
||||
# External Requirements
|
||||
|
@ -47,7 +47,7 @@ system. See <https://redis.io/topics/security>
|
|||
|
||||
LibreNMS can still use memcached as a locking mechanism when using
|
||||
distributed polling. So you can configure memcached for this purpose
|
||||
unless you have updates disabled.
|
||||
unless you have updates disabled.
|
||||
|
||||
See `Locking Mechanisms` at
|
||||
<https://docs.librenms.org/Extensions/Distributed-Poller/>
|
||||
|
@ -133,7 +133,7 @@ $config['distributed_poller_group'] = 0; # Which grou
|
|||
```
|
||||
### Tuning the number of workers
|
||||
|
||||
See https://your_librenms_install/poller
|
||||
See https://your_librenms_install/poller
|
||||
|
||||
You want to keep Consumed Worker Seconds comfortably below Maximum Worker Seconds. The closer the values are to each other, the flatter the CPU graph of the poller machine. Meaning that you are utilizing your CPU resources well. As long as Consumed WS stays below Maximum WS and Devices Pending is 0, you should be ok.
|
||||
|
||||
|
|
|
@ -9,10 +9,10 @@ A normal install contains all parts of LibreNMS:
|
|||
- RRD (Time series data store) *
|
||||
- Database *
|
||||
- Webserver (Web UI/API) *
|
||||
|
||||
|
||||
\* may only be installed on one server (however, some can be clustered)
|
||||
|
||||
Distributed Polling allows the workers to be spread across additional
|
||||
Distributed Polling allows the workers to be spread across additional
|
||||
servers for horizontal scaling. Distributed polling is not intended for
|
||||
remote polling.
|
||||
|
||||
|
@ -23,7 +23,7 @@ All pollers need to write to the same set of RRD files, preferably via
|
|||
RRDcached.
|
||||
|
||||
It is also a requirement that at least one locking service is in place
|
||||
to which all pollers can connect. There are currently three locking
|
||||
to which all pollers can connect. There are currently three locking
|
||||
mechanisms available
|
||||
|
||||
- memcached
|
||||
|
@ -67,7 +67,7 @@ time.
|
|||
|
||||
## Using REDIS
|
||||
|
||||
In your `.env` file you will need to specify a redis server, port and
|
||||
In your `.env` file you will need to specify a redis server, port and
|
||||
the driver.
|
||||
|
||||
```
|
||||
|
@ -85,7 +85,7 @@ memcached host and port, and then in your `.env` file you will need to add:
|
|||
CACHE_DRIVER=memcached
|
||||
```
|
||||
If you want to use memcached, you will also need to install an additional
|
||||
Python 3 python-memcached package.
|
||||
Python 3 python-memcached package.
|
||||
|
||||
## Example Setup
|
||||
|
||||
|
@ -180,7 +180,7 @@ Depending on your setup will depend on how you configure your discovery processe
|
|||
|
||||
**Cron based polling**
|
||||
|
||||
It's not necessary to run discovery services on all pollers. In fact, you should
|
||||
It's not necessary to run discovery services on all pollers. In fact, you should
|
||||
only run one discovery process per poller group.
|
||||
Designate a single poller to run discovery (or a separate server if required).
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ Collection](../Alerting/Rules.md#alert-rules-collection).
|
|||
1: If you are using [RRDCached](../Extensions/RRDCached.md), stop the service.
|
||||
|
||||
- This will flush all pending writes so that the rrdstep.php script can change the steps.
|
||||
|
||||
|
||||
2: Change the ping_rrd_step setting in config.php
|
||||
|
||||
```
|
||||
|
|
|
@ -49,7 +49,7 @@ Timezone must be PHP supported timezones, available at:
|
|||
|
||||
## Graylog Version
|
||||
If you are running a version earlier than Graylog then please set
|
||||
```php
|
||||
```php
|
||||
$config['graylog']['version']
|
||||
```
|
||||
to the version number of your Graylog
|
||||
|
@ -57,12 +57,12 @@ install. Earlier versions than 2.1 use the default port `12900`
|
|||
|
||||
## URI
|
||||
If you have altered the default uri for your Graylog setup then you
|
||||
can override the default of `/api/` using
|
||||
can override the default of `/api/` using
|
||||
```php
|
||||
$config['graylog']['base_uri'] = '/somepath/';
|
||||
```
|
||||
|
||||
## User Credentials
|
||||
## User Credentials
|
||||
If you choose to use another user besides the admin user, please note
|
||||
that currently you must give the user "admin" permissions from within
|
||||
Graylog, "read" permissions alone are not sufficient.
|
||||
|
@ -72,7 +72,7 @@ If you have enabled TLS for the Graylog API and you are using a
|
|||
self-signed certificate, please make sure that the certificate is
|
||||
trusted by your LibreNMS host, otherwise the connection will
|
||||
fail. Additionally, the certificate's Common Name (CN) has to match
|
||||
the FQDN or IP address specified in
|
||||
the FQDN or IP address specified in
|
||||
```php
|
||||
$config['graylog']['server']
|
||||
```
|
||||
|
@ -81,7 +81,7 @@ $config['graylog']['server']
|
|||
If you want to match the source address of the log entries against any
|
||||
IP address of a device instead of only against the primary address and
|
||||
the host name to assign the log entries to a device, you can activate
|
||||
this function using
|
||||
this function using
|
||||
|
||||
```php
|
||||
$config['graylog']['match-any-address'] = 'true';
|
||||
|
@ -90,13 +90,13 @@ $config['graylog']['match-any-address'] = 'true';
|
|||
## Recent Devices
|
||||
There are 2 configuration parameters to influence the behaviour of the
|
||||
"Recent Graylog" table on the overview page of the
|
||||
devices.
|
||||
devices.
|
||||
|
||||
```php
|
||||
$config['graylog']['device-page']['rowCount']
|
||||
```
|
||||
```
|
||||
|
||||
Sets the maximum number of rows to be displayed (default: 10)
|
||||
Sets the maximum number of rows to be displayed (default: 10)
|
||||
|
||||
|
||||
|
||||
|
@ -106,11 +106,11 @@ $config['graylog']['device-page']['loglevel']
|
|||
```
|
||||
|
||||
You can set which loglevels that should be displayed on the overview page. (default: 7, min:
|
||||
0, max: 7)
|
||||
0, max: 7)
|
||||
|
||||
```php
|
||||
$config['graylog']['device-page']['loglevel'] = 4
|
||||
```
|
||||
```
|
||||
Shows only entries with a log level less than or equal to 4 (Emergency,
|
||||
Alert, Critical, Error, Warning).
|
||||
|
||||
|
|
|
@ -37,8 +37,8 @@ Option | Default-Value | Notes
|
|||
`$config['irc_pass']` | | Optional; This sends the IRC-PASS Sequence to IRC-Servers that require Password on Connect
|
||||
`$config['irc_port']` | `6667` | Required; To enable SSL append a `+` before the Port. (Example: `+6697`)
|
||||
`$config['irc_ctcp']` | `false` | Optional; Enable/disable ctcp-replies from the bot (currently VERSION, PING and TIME).
|
||||
`$config['irc_ctcp_version']` | `LibreNMS IRCbot. https://www.librenms.org/` | Optional: Reply-string to CTCP VERSION requests
|
||||
`$config['irc_auth']` | | Optional: Array of hostmasks that are automatically authenticated.
|
||||
`$config['irc_ctcp_version']` | `LibreNMS IRCbot. https://www.librenms.org/` | Optional; Reply-string to CTCP VERSION requests
|
||||
`$config['irc_auth']` | | Optional; Array of hostmasks that are automatically authenticated.
|
||||
|
||||
### IRC-Commands
|
||||
|
||||
|
@ -57,7 +57,7 @@ Command | Description
|
|||
`.status <type>` | Prints status information for given `type`. Type can be `devices`, `services`, `ports`. Shorthands are: `dev`,`srv`,`prt`
|
||||
`.version` | Prints `$this->config['project_name_version']`.
|
||||
|
||||
( __/!\__ All commands are case-_insensitive_ but their arguments are case-_sensitive_)
|
||||
( __/!\\__ All commands are case-_insensitive_ but their arguments are case-_sensitive_)
|
||||
|
||||
# Examples
|
||||
|
||||
|
|
|
@ -84,4 +84,5 @@ to support the parsing of interface infor.
|
|||
There are no changes to be made or additions to install for the polling librenms.
|
||||
|
||||
Now you can set up your [keywords](#keywords) in your `/etc/network/interfaces`
|
||||
|
||||
``//Add more distributions than just Debian based``
|
||||
|
|
|
@ -10,12 +10,12 @@ path: blob/master/doc/
|
|||
The following is the configuration that can be used:
|
||||
|
||||
```php
|
||||
$config['nfsen_enable'] = 1;
|
||||
$config['nfsen_split_char'] = '_';
|
||||
$config['nfsen_rrds'][] = '/var/nfsen/profiles-stat/live/';
|
||||
$config['nfsen_rrds'][] = '/var/nfsen/profiles-stat';
|
||||
$config['nfsen_base'][] = '/var/nfsen/';
|
||||
$config['nfsen_suffix'] = "_yourdomain_com";
|
||||
$config['nfsen_enable'] = 1;
|
||||
$config['nfsen_split_char'] = '_';
|
||||
$config['nfsen_rrds'][] = '/var/nfsen/profiles-stat/live/';
|
||||
$config['nfsen_rrds'][] = '/var/nfsen/profiles-stat';
|
||||
$config['nfsen_base'][] = '/var/nfsen/';
|
||||
$config['nfsen_suffix'] = "_yourdomain_com";
|
||||
```
|
||||
|
||||
Set `$config['nfsen_enable'] = 1;` to enable NFSen support.
|
||||
|
@ -78,9 +78,9 @@ the same name.
|
|||
|
||||
Below are the default settings used with nfdump for stats.
|
||||
|
||||
For more defaulted information on that, please see nfdump(1).
|
||||
For more defaulted information on that, please see nfdump(1).
|
||||
The default location for nfdump is `/usr/bin/nfdump`. If nfdump
|
||||
is located elsewhere, set it with
|
||||
is located elsewhere, set it with
|
||||
`$config['nfdump'] = '/usr/local/bin/nfdump';` for example.
|
||||
|
||||
|
||||
|
@ -143,7 +143,7 @@ $config['nfsen_stat_default']='srcip';
|
|||
The above sets default stat type to use from the drop down.
|
||||
|
||||
```
|
||||
record Flow Records
|
||||
record Flow Records
|
||||
ip Any IP Address
|
||||
srcip SRC IP Address
|
||||
dstip DST IP Address
|
||||
|
|
|
@ -26,8 +26,9 @@ Groups can be drawn with Network Map.
|
|||
|
||||
# Network Map Configurator
|
||||
|
||||
This link will show you all the options and explain what they
|
||||
do. [Link](https://visjs.github.io/vis-network/docs/network/)
|
||||
[This link](https://visjs.github.io/vis-network/docs/network/) will
|
||||
show you all the options and explain what they do.
|
||||
|
||||
You may also access the dynamic configuration interface [example
|
||||
here](https://visjs.github.io/vis-network/examples/network/other/configuration.html)
|
||||
from within LibreNMS by adding the following to config.php
|
||||
|
|
|
@ -150,12 +150,12 @@ To edit an existing map, you must use the index to override it.
|
|||
```bash
|
||||
lnms config:get oxidized.maps.os.os
|
||||
array (
|
||||
0 =>
|
||||
0 =>
|
||||
array (
|
||||
'match' => 'airos-af-ltu',
|
||||
'value' => 'airfiber',
|
||||
),
|
||||
1 =>
|
||||
1 =>
|
||||
array (
|
||||
'match' => 'airos-af',
|
||||
'value' => 'airfiber',
|
||||
|
@ -245,8 +245,8 @@ ensure they are used in the correct location.
|
|||
|
||||
# Accessing configuration of a disabled/removed device
|
||||
|
||||
When you're disabling or removing a device from LibreNMS, the
|
||||
configuration will no longer be available via the LibreNMS web interface.
|
||||
When you're disabling or removing a device from LibreNMS, the
|
||||
configuration will no longer be available via the LibreNMS web interface.
|
||||
You can gain access to these configurations directly in the Git repository of
|
||||
Oxidized (if using Git for version control).
|
||||
|
||||
|
@ -271,7 +271,7 @@ git cat-file -p <object id>
|
|||
```
|
||||
|
||||
# Remove disabled/removed device
|
||||
If you want to purge saved config of a device that is not in LibreNMS anymore, you can run the following command:
|
||||
If you want to purge saved config of a device that is not in LibreNMS anymore, you can run the following command:
|
||||
|
||||
```
|
||||
git rm --cached <object id>
|
||||
|
|
|
@ -12,7 +12,7 @@ tune over rrdcached. To enable this set the following config:
|
|||
```php
|
||||
$config['rrdtool_version'] = '1.5.5';
|
||||
```
|
||||
This setting has to be the exact version of rrdtool you are running.
|
||||
This setting has to be the exact version of rrdtool you are running.
|
||||
|
||||
NOTE: This feature requires your client version of rrdtool to be 1.5.5
|
||||
or newer, in addition to your rrdcached version.
|
||||
|
@ -24,10 +24,10 @@ Shared FS: Is a shared filesystem required?
|
|||
Features: Supported features in the version indicated.
|
||||
|
||||
```
|
||||
G = Graphs.
|
||||
C = Create RRD files.
|
||||
U = Update RRD files.
|
||||
T = Tune RRD files.
|
||||
G = Graphs.
|
||||
C = Create RRD files.
|
||||
U = Update RRD files.
|
||||
T = Tune RRD files.
|
||||
```
|
||||
|
||||
| Version | Shared FS | Features |
|
||||
|
@ -48,7 +48,7 @@ so you can view the disk I/O usage delta.
|
|||
1. [RRDCached installation Debian Stretch](#rrdcached-installation-debian-stretch)
|
||||
1. [RRDCached installation CentOS 7 or 8](#rrdcached-installation-centos-7-or-8)
|
||||
1. [RRDCached installation CentOS 6](#rrdcached-installation-centos-6)
|
||||
1. [Securing RRCached](#Securing-RRCached)
|
||||
1. [Securing RRCached](#securing-rrcached)
|
||||
|
||||
|
||||
## RRDCached installation Ubuntu 16
|
||||
|
@ -129,7 +129,7 @@ chown librenms:librenms /var/lib/rrdcached/journal/
|
|||
4: Restart the rrdcached service
|
||||
|
||||
```bash
|
||||
systemctl restart rrdcached.service
|
||||
systemctl restart rrdcached.service
|
||||
```
|
||||
|
||||
5: Edit /opt/librenms/config.php to include:
|
||||
|
@ -187,7 +187,7 @@ chown librenms:librenms /var/lib/rrdcached/journal/
|
|||
4: Restart the rrdcached service
|
||||
|
||||
```bash
|
||||
systemctl restart rrdcached.service
|
||||
systemctl restart rrdcached.service
|
||||
```
|
||||
|
||||
5: Edit /opt/librenms/config.php to include:
|
||||
|
|
|
@ -3,9 +3,9 @@ path: blob/master/doc/
|
|||
|
||||
# SNMP trap handling
|
||||
|
||||
Currently, LibreNMS supports a lot of trap handlers. You can check them on
|
||||
Currently, LibreNMS supports a lot of trap handlers. You can check them on
|
||||
GitHub [here](https://github.com/librenms/librenms/tree/master/LibreNMS/Snmptrap/Handlers).
|
||||
To add more see [Adding new SNMP Trap handlers](../Developing/SNMP-Traps.md). Traps are handled via snmptrapd.
|
||||
To add more see [Adding new SNMP Trap handlers](../Developing/SNMP-Traps.md). Traps are handled via snmptrapd.
|
||||
|
||||
snmptrapd is an SNMP application that receives and logs SNMP TRAP and INFORM messages.
|
||||
> The default is to listen on UDP port 162 on all IPv4 interfaces. Since 162 is a
|
||||
|
@ -35,11 +35,11 @@ To enable snmptrapd to properly parse traps, we will need to add MIBs to service
|
|||
|
||||
Make the folder `/etc/systemd/system/snmptrapd.service.d/` and edit
|
||||
the file `/etc/systemd/system/snmptrapd.service.d/mibs.conf` and add
|
||||
the following content.
|
||||
the following content.
|
||||
|
||||
You may want to tweak to add vendor directories
|
||||
for devices you care about. In the example below, standard and cisco
|
||||
directories are defined, and only IF-MIB is loaded.
|
||||
directories are defined, and only IF-MIB is loaded.
|
||||
|
||||
```ini
|
||||
[Service]
|
||||
|
@ -85,7 +85,7 @@ Here is a list of snmptrapd options:
|
|||
| -f | Do not fork from the shell |
|
||||
| -n | Use numeric addresses instead of attempting hostname lookups (no DNS) [OPTIONAL] |
|
||||
| -m | MIBLIST: use MIBLIST (`FILE1-MIB:FILE2-MIB`). `ALL` = Load all MIBS in DIRLIST. (usually fails) |
|
||||
| -M | DIRLIST: use DIRLIST as the list of locations to look for MIBs. Option is not recursive, so you need to specify each DIR individually, separated by `:`. (For example: /opt/librenms/mibs:/opt/librenms/mibs/cisco:/opt/librenms/mibs/edgecos)|
|
||||
| -M | DIRLIST: use DIRLIST as the list of locations to look for MIBs. Option is not recursive, so you need to specify each DIR individually, separated by `:`. (For example: /opt/librenms/mibs:/opt/librenms/mibs/cisco:/opt/librenms/mibs/edgecos)|
|
||||
|
||||
Good practice is to avoid `-m ALL` because then it will try to load all the MIBs in DIRLIST, which
|
||||
will typically fail (snmptrapd cannot load that many mibs). Better is to specify the
|
||||
|
@ -116,7 +116,7 @@ sudo systemctl enable snmptrapd
|
|||
sudo systemctl restart snmptrapd
|
||||
```
|
||||
|
||||
## Testing
|
||||
## Testing
|
||||
|
||||
The easiest test is to generate a trap from your device. Usually, changing the configuration on a network device, or
|
||||
plugging/unplugging a network cable (LinkUp, LinkDown) will generate a trap. You can confirm it using a with `tcpdump`, `tshark` or `wireshark`.
|
||||
|
@ -137,7 +137,7 @@ Using OID's:
|
|||
snmptrap -v 2c -c public localhost '' 1.3.6.1.4.1.8072.2.3.0.1 1.3.6.1.4.1.8072.2.3.2.1 i 123456
|
||||
```
|
||||
|
||||
If you have configured logging of traps to ```/var/log/snmptrap/traps.log``` then you will see in `traps.log` new entry:
|
||||
If you have configured logging of traps to ```/var/log/snmptrap/traps.log``` then you will see in `traps.log` new entry:
|
||||
|
||||
```
|
||||
2020-03-09 16:22:59 localhost [UDP: [127.0.0.1]:58942->[127.0.0.1]:162]:
|
||||
|
|
|
@ -9,7 +9,7 @@ perform additional monitoring outside of SNMP. Services can also be used
|
|||
in conjunction with your SNMP monitoring for larger monitoring functionality.
|
||||
|
||||
**Services must be tied to a device to function properly. A good generic
|
||||
option is to use `localhost`, but it is suggested to attach the check to
|
||||
option is to use `localhost`, but it is suggested to attach the check to
|
||||
the device you are monitoring.**
|
||||
|
||||
## Nagios plugins source
|
||||
|
@ -75,8 +75,8 @@ $config['discover_services_templates'] = true;
|
|||
|
||||
Service checks are now distributable if you run a distributed
|
||||
setup. To leverage this, use the `dispatch` service. Alternatively,
|
||||
you could also replace `check-services.php` with `services-wrapper.py` in
|
||||
cron instead to run across all polling nodes.
|
||||
you could also replace `check-services.php` with `services-wrapper.py` in
|
||||
cron instead to run across all polling nodes.
|
||||
|
||||
If you need to debug the output of services-wrapper.py then you can
|
||||
add `-d` to the end of the command - it is NOT recommended to do this
|
||||
|
@ -217,28 +217,28 @@ $config['service_poller_enabled'] = true;
|
|||
$config['service_poller_workers'] = 16;
|
||||
```
|
||||
```php
|
||||
$config['service_poller_frequency'] = 300;
|
||||
$config['service_poller_frequency'] = 300;
|
||||
```
|
||||
```php
|
||||
$config['service_poller_down_retry'] = 5;
|
||||
$config['service_poller_down_retry'] = 5;
|
||||
```
|
||||
```php
|
||||
$config['service_discovery_enabled'] = true;
|
||||
$config['service_discovery_enabled'] = true;
|
||||
```
|
||||
```php
|
||||
$config['service_discovery_workers'] = 16;
|
||||
$config['service_discovery_workers'] = 16;
|
||||
```
|
||||
```php
|
||||
$config['service_discovery_frequency'] = 3600;
|
||||
$config['service_discovery_frequency'] = 3600;
|
||||
```
|
||||
```php
|
||||
$config['service_services_enabled'] = true;
|
||||
$config['service_services_enabled'] = true;
|
||||
```
|
||||
```php
|
||||
$config['service_services_workers'] = 16;
|
||||
$config['service_services_workers'] = 16;
|
||||
```
|
||||
```php
|
||||
$config['service_services_frequency'] = 60;
|
||||
$config['service_services_frequency'] = 60;
|
||||
```
|
||||
|
||||
## Service checks polling logic
|
||||
|
|
|
@ -202,9 +202,9 @@ Add the following configuration to your `/etc/nginx/conf.d/librenms` config file
|
|||
The following will configure Nginx to respond to `http://yourlibrenms/smokeping`:
|
||||
|
||||
```
|
||||
#Browsing to `http://librenms.xxx/smokeping/` should bring up the smokeping web interface
|
||||
# Browsing to `http://yourlibrenms/smokeping/` should bring up the smokeping web interface
|
||||
|
||||
location = /smokeping/ {
|
||||
location = /smokeping/ {
|
||||
fastcgi_intercept_errors on;
|
||||
|
||||
fastcgi_param SCRIPT_FILENAME /usr/lib/cgi-bin/smokeping.cgi;
|
||||
|
@ -228,17 +228,17 @@ The following will configure Nginx to respond to `http://yourlibrenms/smokeping`
|
|||
fastcgi_pass unix:/var/run/fcgiwrap.socket;
|
||||
}
|
||||
|
||||
location ^~ /smokeping/ {
|
||||
alias /usr/share/smokeping/www/;
|
||||
index smokeping.cgi;
|
||||
gzip off;
|
||||
}
|
||||
location ^~ /smokeping/ {
|
||||
alias /usr/share/smokeping/www/;
|
||||
index smokeping.cgi;
|
||||
gzip off;
|
||||
}
|
||||
```
|
||||
|
||||
After saving the configuration file, verify your Nginx configuration file syntax
|
||||
is OK with `sudo nginx -t`, then restart Nginx with `sudo systemctl restart nginx`
|
||||
|
||||
You should be able to load the Smokeping web interface at `http://yourhost/smokeping`
|
||||
You should be able to load the Smokeping web interface at `http://yourlibrenms/smokeping`
|
||||
|
||||
#### Nginx Password Authentication
|
||||
|
||||
|
|
|
@ -11,17 +11,14 @@ integrating syslog with LibreNMS.
|
|||
|
||||
### syslog-ng
|
||||
|
||||
For Debian / Ubuntu:
|
||||
|
||||
```ssh
|
||||
apt-get install syslog-ng
|
||||
```
|
||||
|
||||
For CentOS / RedHat
|
||||
|
||||
```ssh
|
||||
yum install syslog-ng
|
||||
```
|
||||
=== "Debian / Ubuntu"
|
||||
```ssh
|
||||
apt-get install syslog-ng
|
||||
```
|
||||
=== "CentOS / RedHat"
|
||||
```ssh
|
||||
yum install syslog-ng
|
||||
```
|
||||
|
||||
Once syslog-ng is installed, edit the relevant config file (most
|
||||
likely /etc/syslog-ng/syslog-ng.conf) and paste the following:
|
||||
|
|
|
@ -139,7 +139,7 @@ DAEMON_OPTS="-p thread_pool_min=5 -p thread_pool_max=500 -p thread_pool_timeout=
|
|||
|
||||
Edit librenms.conf and modify the Apache Virtual Host listening port.
|
||||
|
||||
- Modify:`<VirtualHost *:80>` to: `<VirtualHost *:8080>`
|
||||
- Modify: `<VirtualHost *:80>` to `<VirtualHost *:8080>`
|
||||
|
||||
```bash
|
||||
vim /etc/httpd/conf.d/librenms.conf
|
||||
|
@ -147,7 +147,7 @@ vim /etc/httpd/conf.d/librenms.conf
|
|||
|
||||
Varnish can not share a port with Apache. Change the Apache listening port to 8080.
|
||||
|
||||
- Modify:`Listen 80` to:`Listen 8080`
|
||||
- Modify: `Listen 80` to `Listen 8080`
|
||||
|
||||
```bash
|
||||
vim /etc/httpd/conf/httpd.conf
|
||||
|
|
|
@ -3,10 +3,8 @@ path: blob/master/doc/
|
|||
|
||||
# Network-WeatherMap with LibreNMS
|
||||
|
||||
Integrating LibreNMS with Network-Weathermap, allows you to build network
|
||||
Integrating LibreNMS with [Network-Weathermap](https://network-weathermap.com/), allows you to build network
|
||||
maps to help visulaize network traffic flow rates.
|
||||
[Link](https://network-weathermap.com/) to Network-Wearthermap Official
|
||||
Website
|
||||
|
||||
## Prerequisites
|
||||
|
||||
|
@ -19,17 +17,27 @@ Network-WeatherMap requires php pear to work.
|
|||
Extract to your LibreNMS plugins directory `/opt/librenms/html/plugins`
|
||||
so you should see something like `/opt/librenms/html/plugins/Weathermap/`
|
||||
The best way to do this is via git. Go to your install directory and
|
||||
then `/opt/librenms/html/plugins`
|
||||
Enter:
|
||||
`git clone https://github.com/librenms-plugins/Weathermap.git`
|
||||
then `/opt/librenms/html/plugins` enter:
|
||||
```bash
|
||||
git clone https://github.com/librenms-plugins/Weathermap.git
|
||||
```
|
||||
|
||||
## Step 2
|
||||
|
||||
Inside the html/plugins directory, change the ownership of the
|
||||
Weathermap directory by typing `chown -R librenms:librenms Weathermap/`
|
||||
Make the configs directory writeable `chmod 775 /opt/librenms/html/plugins/Weathermap/configs`
|
||||
Note if you are using SELinux you need to input the following
|
||||
command `chcon -R -t httpd_cache_t Weathermap/`
|
||||
|
||||
Make the configs directory writeable.
|
||||
|
||||
```bash
|
||||
chmod 775 /opt/librenms/html/plugins/Weathermap/configs
|
||||
```
|
||||
|
||||
Note if you are using SELinux you need to input the following command
|
||||
|
||||
```bash
|
||||
chcon -R -t httpd_cache_t Weathermap/
|
||||
```
|
||||
|
||||
## Step 3
|
||||
|
||||
|
@ -42,7 +50,7 @@ Enable the cron process by editing your current LibreNMS cron file
|
|||
|
||||
## Step 4
|
||||
|
||||
Enable the plugin from LibreNMS Web UI in OverView ->Plugins -> Plugin Admin menu.
|
||||
Enable the plugin from LibreNMS Web UI in OverView -> Plugins -> Plugin Admin menu.
|
||||
|
||||
## Step 5
|
||||
|
||||
|
@ -50,15 +58,15 @@ Now you should see Weathermap Overview -> Plugins -> Weathermap
|
|||
Create your maps, please note when you create a MAP, please click Map
|
||||
Style, ensure Overlib is selected for HTML Style and click submit.
|
||||
Also, ensure you set an output image filename and output HTML filename in Map Properties.
|
||||
I'd recommend you use the output folder as this is excluded from git
|
||||
updates (i.e enter output/mymap.png and output/mymap.html).
|
||||
I'd recommend you use the `output` folder as this is excluded from git
|
||||
updates (i.e. use `output/mymap.png` and `output/mymap.html`).
|
||||
|
||||
Optional: If your install is in another directory than standard, set
|
||||
`$basehref` within `map-poller.php`.
|
||||
|
||||
# WeatherMapper
|
||||
|
||||
Automatically generate weathermaps from a LibreNMS database using WeatherMapper [Link](https://github.com/pblasquez/weathermapper)
|
||||
Automatically generate weathermaps from a LibreNMS database using [WeatherMapper](https://github.com/pblasquez/weathermapper).
|
||||
|
||||
![Example Network Weather Map](/img/network-weather-map.png)
|
||||
|
||||
|
|
|
@ -77,21 +77,21 @@ $config['leaflet']['group_radius'] = 1;
|
|||
# Geocode engine config
|
||||
|
||||
```php
|
||||
$config['geoloc']['engine'] = "google";// Valid options are google, mapquest or bing
|
||||
$config['geoloc']['engine'] = "google"; // Valid options are google, mapquest or bing
|
||||
$config['geoloc']['api_key'] = "abcdefghijklmnopqrstuvwxyz";
|
||||
```
|
||||
|
||||
Google:
|
||||
Pros: fast, accurate
|
||||
Google:
|
||||
Pros: fast, accurate
|
||||
Cons: requires a credit card even for a free account
|
||||
|
||||
MapQuest:
|
||||
Pros: free, no credit card required
|
||||
MapQuest:
|
||||
Pros: free, no credit card required
|
||||
Cons: inaccurate: most addresses are returned as locations at the center of the US
|
||||
|
||||
Bing:
|
||||
Pros: free, no credit card required, accurate
|
||||
Cons: Microsoft(debatable)
|
||||
Bing:
|
||||
Pros: free, no credit card required, accurate
|
||||
Cons: Microsoft (debatable)
|
||||
|
||||
# Jquery-Mapael config
|
||||
|
||||
|
@ -100,11 +100,11 @@ world, set default coordinates of where the map will zoom and the zoom
|
|||
level by default. An example of this is:
|
||||
|
||||
```php
|
||||
$config['map']['engine'] = "jquery-mapael";
|
||||
$config['mapael']['default_map'] = 'mapael-maps/united_kingdom/united_kingdom.js';
|
||||
$config['mapael']['map_width'] = 400;
|
||||
$config['mapael']['default_lat'] = '50.898482';
|
||||
$config['mapael']['default_lng'] = '-3.401402';
|
||||
$config['map']['engine'] = "jquery-mapael";
|
||||
$config['mapael']['default_map'] = 'mapael-maps/united_kingdom/united_kingdom.js';
|
||||
$config['mapael']['map_width'] = 400;
|
||||
$config['mapael']['default_lat'] = '50.898482';
|
||||
$config['mapael']['default_lng'] = '-3.401402';
|
||||
$config['mapael']['default_zoom'] = 20;
|
||||
```
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ it calls back home to report some anonymous statistics.
|
|||
Let's start off by saying, all of the code that processes the data and
|
||||
submits it is included in the standard LibreNMS branch you've
|
||||
installed, the code that accepts this data and in turn generates some
|
||||
pretty graphs is all open source and available on Git Hub. Please feel
|
||||
pretty graphs is all open source and available on GitHub. Please feel
|
||||
free to review the code, comment on it and suggest changes /
|
||||
improvements. Also, don't forget - by default installations DO NOT
|
||||
call back home, you need to opt into this.
|
||||
|
|
|
@ -160,7 +160,7 @@ A big thank you to the following 38 contributors this last month:
|
|||
- dword4 (1)
|
||||
|
||||
#### Alerting
|
||||
* Changed variable name to resolve issue with Gitlab transport ([#9504](https://github.com/librenms/librenms/pull/9504)) - [dword4](https://github.com/dword4)
|
||||
* Changed variable name to resolve issue with GitLab transport ([#9504](https://github.com/librenms/librenms/pull/9504)) - [dword4](https://github.com/dword4)
|
||||
* Added ability to record traceroutes for devices down due to ICMP ([#9457](https://github.com/librenms/librenms/pull/9457)) - [laf](https://github.com/laf)
|
||||
* Fixed altering transport mapping in rules clearing all mappings ([#9455](https://github.com/librenms/librenms/pull/9455)) - [laf](https://github.com/laf)
|
||||
* Show visually in webui + cli when using deprecated templates or transports ([#9413](https://github.com/librenms/librenms/pull/9413)) - [laf](https://github.com/laf)
|
||||
|
@ -168,7 +168,7 @@ A big thank you to the following 38 contributors this last month:
|
|||
* Added support for using Transport name in templates ([#9411](https://github.com/librenms/librenms/pull/9411)) - [laf](https://github.com/laf)
|
||||
|
||||
#### Bug
|
||||
* Changed variable name to resolve issue with Gitlab transport ([#9504](https://github.com/librenms/librenms/pull/9504)) - [dword4](https://github.com/dword4)
|
||||
* Changed variable name to resolve issue with GitLab transport ([#9504](https://github.com/librenms/librenms/pull/9504)) - [dword4](https://github.com/dword4)
|
||||
* Fixed Procera ports ifIndex and ports added by the poller ([#9384](https://github.com/librenms/librenms/pull/9384)) - [murrant](https://github.com/murrant)
|
||||
* Fixed os additional information for some that were broke ([#9466](https://github.com/librenms/librenms/pull/9466)) - [murrant](https://github.com/murrant)
|
||||
* Bug-fix and new features routeros ([#9401](https://github.com/librenms/librenms/pull/9401)) - [takenalias](https://github.com/takenalias)
|
||||
|
|
|
@ -57,7 +57,7 @@ Remember to edit/remove them if you change (and you should) the VM network confi
|
|||
- WebUI (http://localhost:8080)
|
||||
- username: librenms
|
||||
- password: `D32fwefwef`
|
||||
|
||||
|
||||
- SSH (ssh://localhost:2023)
|
||||
- username: librenms
|
||||
- password: `CDne3fwdfds`
|
||||
|
|
|
@ -5,8 +5,8 @@ path: blob/master/doc/
|
|||
|
||||
## Docker
|
||||
|
||||
An official LibreNMS docker image based on Alpine Linux and Nginx is available
|
||||
on [DockerHub](https://hub.docker.com/r/librenms/librenms/). Documentation can
|
||||
An official LibreNMS docker image based on Alpine Linux and Nginx is available
|
||||
on [DockerHub](https://hub.docker.com/r/librenms/librenms/). Documentation can
|
||||
be found on the [GitHub repository](https://github.com/librenms/docker).
|
||||
|
||||
## Manually
|
||||
|
@ -18,7 +18,7 @@ This document includes instructions for:
|
|||
- Ubuntu 20.04
|
||||
- RHEL / CentOS 8
|
||||
- Debian 10
|
||||
|
||||
|
||||
** [Install LibreNMS](Install-LibreNMS.md) **
|
||||
|
||||
## Images
|
||||
|
|
|
@ -8,7 +8,7 @@ We now have support for polling data at intervals to fit your needs.
|
|||
> Please be aware of the following:
|
||||
|
||||
- If you just want faster up/down alerts, [Fast Ping](../Extensions/Fast-Ping-Check.md) is a much
|
||||
easier path to that goal.
|
||||
easier path to that goal.
|
||||
- You must also change your cron entry for `poller-wrapper.py` for
|
||||
this to work (if you change from the default 300 seconds).
|
||||
- Your polling _MUST_ complete in the time you configure for the
|
||||
|
|
|
@ -8,16 +8,21 @@ Database: This applies to all pollers and can be set with either `lnms config:se
|
|||
config.php: This applies to the local poller only. Configs set here will be disabled in the Web UI to prevent unexpected behaviour.
|
||||
|
||||
The LibreNMS uses dot notation for config items:
|
||||
|
||||
| Database | config.php |
|
||||
| -------- | ---------- |
|
||||
| `snmp.community` | `$config['snmp']['community']` |
|
||||
| `snmp.community.+` | `$config['snmp']['community'][]` |
|
||||
| `snmp.v3.0.authalgo` | `$config['snmp']['v3'][0]['authalgo']` |
|
||||
|
||||
> The documentation has not been updated to reflect using `lnms config:set` to set config items, but it will work for all settings. Not all settings have been defined in LibreNMS, but they can still be set with the `--ignore-checks` option. Without that option input is checked for correctness, that does not mean it is not possible to set bad values. Please report missing settings.
|
||||
> The documentation has not been updated to reflect using `lnms config:set` to
|
||||
> set config items, but it will work for all settings. Not all settings have
|
||||
> been defined in LibreNMS, but they can still be set with the `--ignore-checks`
|
||||
> option. Without that option input is checked for correctness, that does not
|
||||
> mean it is not possible to set bad values. Please report missing settings.
|
||||
|
||||
# CLI
|
||||
`lnms config:get` will fetch the current config settings (composite of database, config.php, and defaults).
|
||||
`lnms config:get` will fetch the current config settings (composite of database, config.php, and defaults).
|
||||
`lnms config:set` will set the config setting in the database. Calling `lnms config:set` on a setting with no value will reset it to the default value.
|
||||
|
||||
If you set up bash completion, you can use tab completion to find config settings.
|
||||
|
@ -138,10 +143,10 @@ configuring your install to record data more frequently.
|
|||
### fping
|
||||
|
||||
```php
|
||||
$config['fping'] = "/usr/bin/fping";
|
||||
$config['fping6'] = "fping6";
|
||||
$config['fping_options']['timeout'] = 500;
|
||||
$config['fping_options']['count'] = 3;
|
||||
$config['fping'] = "/usr/bin/fping";
|
||||
$config['fping6'] = "fping6";
|
||||
$config['fping_options']['timeout'] = 500;
|
||||
$config['fping_options']['count'] = 3;
|
||||
$config['fping_options']['interval'] = 500;
|
||||
```
|
||||
|
||||
|
@ -247,7 +252,7 @@ https_proxy=proxy.domain.com
|
|||
|
||||
# RRDCached
|
||||
|
||||
[RRDCached](../Extensions/RRDCached.md)
|
||||
Please refer to [RRDCached](../Extensions/RRDCached.md)
|
||||
|
||||
# WebUI Settings
|
||||
|
||||
|
@ -325,11 +330,11 @@ $config['show_locations_dropdown'] = 1; # Enable Locations dropdown on menu
|
|||
$config['show_services'] = 0; # Enable Services on menu
|
||||
$config['int_customers'] = 1; # Enable Customer Port Parsing
|
||||
$config['summary_errors'] = 0; # Show Errored ports in summary boxes on the dashboard
|
||||
$config['customers_descr'] = 'cust'; // The description to look for in ifDescr. Can be an array as well array('cust','cid');
|
||||
$config['transit_descr'] = 'transit'; // Add custom transit descriptions (can be an array)
|
||||
$config['peering_descr'] = 'peering'; // Add custom peering descriptions (can be an array)
|
||||
$config['core_descr'] = 'core'; // Add custom core descriptions (can be an array)
|
||||
$config['custom_descr'] = ''; // Add custom interface descriptions (can be an array)
|
||||
$config['customers_descr'] = 'cust'; # The description to look for in ifDescr. Can be an array as well array('cust','cid');
|
||||
$config['transit_descr'] = 'transit'; # Add custom transit descriptions (can be an array)
|
||||
$config['peering_descr'] = 'peering'; # Add custom peering descriptions (can be an array)
|
||||
$config['core_descr'] = 'core'; # Add custom core descriptions (can be an array)
|
||||
$config['custom_descr'] = ''; # Add custom interface descriptions (can be an array)
|
||||
$config['int_transit'] = 1; # Enable Transit Types
|
||||
$config['int_peering'] = 1; # Enable Peering Types
|
||||
$config['int_core'] = 1; # Enable Core Port Types
|
||||
|
@ -484,8 +489,8 @@ hostnames are resolved and the check is also performed. This helps
|
|||
prevents accidental duplicate hosts.
|
||||
|
||||
```php
|
||||
$config['addhost_alwayscheckip'] = false; #true - check for duplicate ips even when adding host by name.
|
||||
#false- only check when adding host by ip.
|
||||
$config['addhost_alwayscheckip'] = false; # true - check for duplicate ips even when adding host by name.
|
||||
# false- only check when adding host by ip.
|
||||
```
|
||||
|
||||
By default we allow hosts to be added with duplicate sysName's, you
|
||||
|
@ -502,8 +507,8 @@ OS](../Developing/os/Settings.md#poller-and-discovery-modules) or
|
|||
device.
|
||||
|
||||
```php
|
||||
$config['discovery_modules]['arp-table'] = true;
|
||||
$config['poller_modules']['bgp-peers'] = false;
|
||||
$config['discovery_modules']['arp-table'] = true;
|
||||
$config['poller_modules']['bgp-peers'] = false;
|
||||
```
|
||||
|
||||
# SNMP Settings
|
||||
|
@ -514,14 +519,14 @@ default version and port.
|
|||
```php
|
||||
$config['snmp']['timeout'] = 1; # timeout in seconds
|
||||
$config['snmp']['retries'] = 5; # how many times to retry the query
|
||||
$config['snmp']['transports'] = array('udp', 'udp6', 'tcp', 'tcp6'); # Transports to use
|
||||
$config['snmp']['version'] = ['v2c', 'v3', 'v1']; # Default versions to use
|
||||
$config['snmp']['port'] = 161; # Default port
|
||||
$config['snmp']['transports'] = ['udp', 'udp6', 'tcp', 'tcp6']; # Transports to use
|
||||
$config['snmp']['version'] = ['v2c', 'v3', 'v1']; # Default versions to use
|
||||
$config['snmp']['port'] = 161; # Default port
|
||||
$config['snmp']['exec_timeout'] = 1200; # execution time limit in seconds
|
||||
```
|
||||
|
||||
>NOTE: `timeout` is the time to wait for an answer and `exec_timeout`
|
||||
>is the max time to run a query.
|
||||
> NOTE: `timeout` is the time to wait for an answer and `exec_timeout`
|
||||
> is the max time to run a query.
|
||||
|
||||
The default v1/v2c snmp community to use, you can expand this array
|
||||
with `[1]`, `[2]`, `[3]`, etc.
|
||||
|
@ -545,7 +550,7 @@ $config['snmp']['v3'][0]['cryptoalgo'] = "AES"; # AES | DES
|
|||
|
||||
# Auto discovery settings
|
||||
|
||||
[Auto-Discovery](../Extensions/Auto-Discovery.md)
|
||||
Please refer to [Auto-Discovery](../Extensions/Auto-Discovery.md)
|
||||
|
||||
# Email configuration
|
||||
|
||||
|
@ -572,11 +577,11 @@ options after that are to support the different transports.
|
|||
|
||||
# Alerting
|
||||
|
||||
[Alerting](../Alerting/index.md)
|
||||
Please refer to [Alerting](../Alerting/index.md)
|
||||
|
||||
# Billing
|
||||
|
||||
[Billing](../Extensions/Billing-Module.md)
|
||||
Please refer to [Billing](../Extensions/Billing-Module.md)
|
||||
|
||||
# Global module support
|
||||
|
||||
|
@ -591,7 +596,7 @@ $config['enable_sla'] = 0; # Enable Cisco SLA collection and d
|
|||
|
||||
# Port extensions
|
||||
|
||||
[Port-Description-Parser](../Extensions/Port-Description-Parser.md)
|
||||
Please refer to [Port-Description-Parser](../Extensions/Port-Description-Parser.md)
|
||||
|
||||
```php
|
||||
$config['enable_ports_etherlike'] = 0;
|
||||
|
@ -618,7 +623,7 @@ will disable showing lines that start with #
|
|||
|
||||
## Oxidized
|
||||
|
||||
[Oxidized](../Extensions/Oxidized.md)
|
||||
Please refer to [Oxidized](../Extensions/Oxidized.md)
|
||||
|
||||
## CollectD
|
||||
|
||||
|
@ -663,11 +668,11 @@ drawn. Be sure that your web server has permissions to write to this socket.
|
|||
|
||||
## Smokeping
|
||||
|
||||
[Smokeping](../Extensions/Smokeping.md)
|
||||
Please refer to [Smokeping](../Extensions/Smokeping.md)
|
||||
|
||||
## NFSen
|
||||
|
||||
[NFSen](../Extensions/NFSen.md)
|
||||
Please refer to [NFSen](../Extensions/NFSen.md)
|
||||
|
||||
## Location mapping
|
||||
|
||||
|
@ -703,14 +708,14 @@ you don't need to configure full location within snmp.
|
|||
|
||||
# Interfaces to be ignored
|
||||
|
||||
Interfaces can be automatically ignored during discovery by modifying
|
||||
bad_if\* entries in a default array, unsetting a default array and
|
||||
customizing it, or creating an OS specific array. The preferred method
|
||||
for ignoring interfaces is to use an OS specific array. The default
|
||||
arrays can be found in misc/config_definitions.json. OS specific
|
||||
definitions (includes/definitions/_specific_os_.yaml) can contain
|
||||
bad_if\* arrays, but should only be modified via pull-request as
|
||||
manipulation of the definition files will block updating.
|
||||
Interfaces can be automatically ignored during discovery by modifying
|
||||
bad_if\* entries in a default array, unsetting a default array and
|
||||
customizing it, or creating an OS specific array. The preferred method
|
||||
for ignoring interfaces is to use an OS specific array. The default
|
||||
arrays can be found in misc/config_definitions.json. OS specific
|
||||
definitions (includes/definitions/\_specific_os_.yaml) can contain
|
||||
bad_if\* arrays, but should only be modified via pull-request as
|
||||
manipulation of the definition files will block updating:
|
||||
|
||||
Examples:
|
||||
|
||||
|
@ -758,7 +763,7 @@ $config['os']['ios']['good_if'][] = 'FastEthernet';
|
|||
```
|
||||
|
||||
`good_if` is matched against ifDescr value. This can be a bad_if value
|
||||
as well which would stop that port from being ignored. I.e If bad_if
|
||||
as well which would stop that port from being ignored. i.e. if bad_if
|
||||
and good_if both contained FastEthernet then ports with this value in
|
||||
the ifDescr will be valid.
|
||||
|
||||
|
@ -867,11 +872,11 @@ $config['os']['linux']['storage_perc_warn'] = 60;
|
|||
|
||||
# IRC Bot
|
||||
|
||||
[IRC Bot](../Extensions/IRC-Bot.md)
|
||||
Please refer to [IRC Bot](../Extensions/IRC-Bot.md)
|
||||
|
||||
# Authentication
|
||||
|
||||
[Authentication](../Extensions/Authentication.md)
|
||||
Please refer to [Authentication](../Extensions/Authentication.md)
|
||||
|
||||
# Cleanup options
|
||||
|
||||
|
@ -897,7 +902,7 @@ automatically purged. You can alter these individually. values are in days.
|
|||
|
||||
# Syslog options
|
||||
|
||||
[Syslog](../Extensions/Syslog.md)
|
||||
Please refer to [Syslog](../Extensions/Syslog.md)
|
||||
|
||||
# Virtualization
|
||||
|
||||
|
@ -932,7 +937,7 @@ You can use this array to rewrite the description of ASes that you have discover
|
|||
|
||||
# Auto updates
|
||||
|
||||
[Updating](../General/Updating.md)
|
||||
Please refer to [Updating](../General/Updating.md)
|
||||
|
||||
# IPMI
|
||||
|
||||
|
@ -949,7 +954,7 @@ $config['ipmi']['type'][] = "open";
|
|||
|
||||
# Distributed poller settings
|
||||
|
||||
[Distributed Poller](../Extensions/Distributed-Poller.md)
|
||||
Please refer to [Distributed Poller](../Extensions/Distributed-Poller.md)
|
||||
|
||||
# API Settings
|
||||
|
||||
|
|
|
@ -141,7 +141,7 @@ quick. However for devices with a lot of ports and good % of those are
|
|||
either deleted or disabled then this approach isn't optimal. So to
|
||||
counter this you can enable 'selected port polling' per device within
|
||||
the edit device -> misc section or by globally enabling it (**not
|
||||
recommended**): `$config['polling']['selected_ports'] = true;`.
|
||||
recommended**): `$config['polling']['selected_ports'] = true;`.
|
||||
This is truly not recommended, as it has been proven to affect cpu
|
||||
usage of your poller negatively. You can also set it for a specific OS:
|
||||
`$config['os']['ios']['polling']['selected_ports'] = true;`.
|
||||
|
@ -158,10 +158,10 @@ is run. There are a number of options:
|
|||
-e <percentage> Enable/disable selected ports polling for devices which would benefit <percentage> from a change
|
||||
```
|
||||
If you want to run this script to have it set selected port polling
|
||||
on devices where a change of **10% or more is evaluated**, run it with
|
||||
`./scripts/collect-port-polling.php -e 10`. But note: it will not
|
||||
on devices where a change of **10% or more is evaluated**, run it with
|
||||
`./scripts/collect-port-polling.php -e 10`. But note: it will not
|
||||
blindly use only the 10%. There is a second condition that the change
|
||||
has to be more than one second in polling time.
|
||||
has to be more than one second in polling time.
|
||||
|
||||
## Web interface
|
||||
|
||||
|
@ -177,7 +177,7 @@ For Apache (2.4.17 an above) set `Protocols h2 http/1.1` in the Virtualhost conf
|
|||
|
||||
## PHP-opcache
|
||||
|
||||
A lot of performance can be gained from setting up `php-opcache` correctly.
|
||||
A lot of performance can be gained from setting up `php-opcache` correctly.
|
||||
|
||||
**Note: Memory based caching with PHP cli will increase memory usage and slow things down. File based caching is not as fast as memory based and is more likely to have stale cache issues.**
|
||||
|
||||
|
@ -185,7 +185,7 @@ Some distributions allow separate cli, mod_php and php-fpm configurations, we ca
|
|||
|
||||
### For web servers using mod_php and php-fpm
|
||||
|
||||
Update your web PHP opcache.ini. Possible locations: `/etc/php/7.2/fpm/conf.d/opcache.ini`, `/etc/php.d/opcache.ini`, or `/etc/php/conf.d/opcache.ini`
|
||||
Update your web PHP opcache.ini. Possible locations: `/etc/php/7.2/fpm/conf.d/opcache.ini`, `/etc/php.d/opcache.ini`, or `/etc/php/conf.d/opcache.ini`.
|
||||
|
||||
```
|
||||
zend_extension=opcache
|
||||
|
@ -200,7 +200,7 @@ If you are having caching issues, you can clear the opcache by simply restarting
|
|||
Create a cache directory that is writable by the librenms user first:
|
||||
`sudo mkdir -p /tmp/cache && sudo chmod 775 /tmp/cache && sudo chown -R librenms /tmp/cache`
|
||||
|
||||
Update your PHP opcache.ini. Possible locations: `/etc/php/7.2/cli/conf.d/opcache.ini`, `/etc/php.d/opcache.ini`, or `/etc/php/conf.d/opcache.ini`
|
||||
Update your PHP opcache.ini. Possible locations: `/etc/php/7.2/cli/conf.d/opcache.ini`, `/etc/php.d/opcache.ini`, or `/etc/php/conf.d/opcache.ini`.
|
||||
|
||||
```
|
||||
zend_extension=opcache.so
|
||||
|
@ -212,6 +212,6 @@ opcache.file_cache_consistency_checks=1
|
|||
opcache.memory_consumption=256
|
||||
```
|
||||
|
||||
If you are having caching issues, you can clear the file based opcache with `rm -rf /tmp/cache`.
|
||||
If you are having caching issues, you can clear the file based opcache with `rm -rf /tmp/cache`.
|
||||
|
||||
|
||||
|
|
|
@ -203,8 +203,8 @@ Notes:
|
|||
|
||||
CLI SNMP v3 Configuration for *authPriv*
|
||||
```
|
||||
/snmp community
|
||||
add name="<COMMUNITY>" addresses="<ALLOWED-SRC-IPs/NETMASK>"
|
||||
/snmp community
|
||||
add name="<COMMUNITY>" addresses="<ALLOWED-SRC-IPs/NETMASK>"
|
||||
set "<COMMUNITY>" authentication-password="<AUTH_PASS>" authentication-protocol=MD5
|
||||
set "<COMMUNITY>" encryption-password="<ENCRYP_PASS>" encryption-protocol=AES
|
||||
set "<COMMUNITY>" read-access=yes write-access=no security=private
|
||||
|
@ -497,7 +497,7 @@ service snmpd restart
|
|||
|
||||
#### PowerShell
|
||||
The following example will install SNMP, set the Librenms IP and set a read only community string.
|
||||
Replace `$IP` and `$communitystring` with your values.
|
||||
Replace `$IP` and `$communitystring` with your values.
|
||||
|
||||
```Powershell
|
||||
Install-WindowsFeature -Name 'SNMP-Service','RSAT-SNMP'
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES('alert.transports.gitlab.host','','','Gitlab URL','alerting','0','transports','0','0','0');
|
||||
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES('alert.transports.gitlab.project_id','','','Gitlab Project ID','alerting','0','transports','0','0','0');
|
||||
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES('alert.transports.gitlab.key','','','Gitlab Private Token','alerting','0','transports','0','0','0');
|
||||
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES('alert.transports.gitlab.host','','','GitLab URL','alerting','0','transports','0','0','0');
|
||||
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES('alert.transports.gitlab.project_id','','','GitLab Project ID','alerting','0','transports','0','0','0');
|
||||
INSERT INTO `config` (`config_name`,`config_value`,`config_default`,`config_descr`,`config_group`,`config_group_order`,`config_sub_group`,`config_sub_group_order`,`config_hidden`,`config_disabled`) VALUES('alert.transports.gitlab.key','','','GitLab Private Token','alerting','0','transports','0','0','0');
|
||||
|
|
Loading…
Reference in New Issue