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:
Sean 2021-06-17 03:16:21 +08:00 committed by GitHub
parent 7edc302f34
commit bcedc0ed77
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 281 additions and 264 deletions

View File

@ -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',
],
[

View File

@ -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:
-

View File

@ -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:
}
]
}
```
```

View File

@ -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",

View File

@ -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`.

View File

@ -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:

View File

@ -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');

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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:

View File

@ -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`.

View File

@ -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

View File

@ -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.

View File

@ -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).

View File

@ -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
```

View File

@ -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).

View File

@ -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

View File

@ -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``

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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:

View File

@ -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]:

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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)

View File

@ -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;
```

View File

@ -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.

View File

@ -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)

View File

@ -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`

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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`.

View File

@ -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'

View File

@ -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');