Files

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

169 lines
4.7 KiB
Markdown
Raw Permalink Normal View History

2015-08-11 09:44:35 -07:00
# Graylog integration
2019-09-09 05:48:35 -05:00
We have simple integration for Graylog, you will be able to view any
logs from within LibreNMS that have been parsed by the syslog input
from within Graylog itself. This includes logs from devices which
aren't in LibreNMS still, you can also see logs for a specific device
under the logs section for the device.
2015-08-11 09:44:35 -07:00
2019-09-09 05:48:35 -05:00
Currently, LibreNMS does not associate shortnames from Graylog with
full FQDNS. If you have your devices in LibreNMS using full FQDNs,
such as hostname.example.com, be aware that rsyslogd, by default,
sends the shortname only. To fix this, add
2016-10-05 01:09:46 -07:00
`$PreserveFQDN on`
2019-09-09 05:48:35 -05:00
to your rsyslog config to send the full FQDN so device logs will be
associated correctly in LibreNMS. Also see near the bottom of this
document for tips on how to enable/suppress the domain part of
hostnames in syslog-messages for some platforms.
2016-10-05 01:09:46 -07:00
2019-09-09 05:48:35 -05:00
Graylog itself isn't included within LibreNMS, you will need to
install this separately either on the same infrastructure as LibreNMS
or as a totally standalone appliance.
2015-08-11 09:44:35 -07:00
Config is simple, here's an example based on Graylog 2.4:
2015-08-11 09:44:35 -07:00
!!! setting "external/graylog"
```bash
lnms config:set graylog.server 'http://127.0.0.1'
lnms config:set graylog.port 9000
lnms config:set graylog.username admin
lnms config:set graylog.password 'admin'
lnms config:set graylog.version 2.4
2023-07-16 04:56:31 +09:30
```
2020-12-30 09:38:14 -05:00
## Timezone
2019-09-09 05:48:35 -05:00
Graylog messages are stored using GMT timezone. You can display
graylog messages in LibreNMS webui using your desired timezone by
setting the following option using `lnms config:set`:
2017-12-04 09:56:13 +02:00
!!! setting "external/graylog"
```bash
lnms config:set graylog.timezone 'Europe/Bucharest'
```
2017-12-04 09:56:13 +02:00
2019-09-09 05:48:35 -05:00
Timezone must be PHP supported timezones, available at:
2021-02-09 00:29:04 +01:00
<https://php.net/manual/en/timezones.php>
2019-09-09 05:48:35 -05:00
2020-12-30 09:38:14 -05:00
## Graylog Version
2019-09-09 05:48:35 -05:00
If you are running a version earlier than Graylog then please set
!!! setting "external/graylog"
```bash
lnms config:set graylog.version 2.1
```
2020-12-30 09:38:14 -05:00
to the version number of your Graylog
2019-09-09 05:48:35 -05:00
install. Earlier versions than 2.1 use the default port `12900`
2020-12-30 09:38:14 -05:00
## URI
2019-09-09 05:48:35 -05:00
If you have altered the default uri for your Graylog setup then you
can override the default of `/api/` using
!!! setting "external/graylog"
```bash
lnms config:set graylog.base_uri '/somepath/'
```
## User Credentials
2019-09-09 05:48:35 -05:00
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.
2016-10-05 01:09:46 -07:00
2020-12-30 09:38:14 -05:00
## TLS Certificate
2019-09-09 05:48:35 -05:00
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
!!! setting "external/graylog"
```bash
lnms config:set graylog.server example.com
2023-07-16 04:56:31 +09:30
```
2016-10-05 01:09:46 -07:00
2020-12-30 09:38:14 -05:00
## Match Any Address
2019-09-09 05:48:35 -05:00
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
```bash
lnms config:set graylog.match-any-address true
2020-12-30 09:38:14 -05:00
```
## Recent Devices
2019-09-09 05:48:35 -05:00
There are 2 configuration parameters to influence the behaviour of the
"Recent Graylog" table on the overview page of the
devices.
2020-12-30 09:38:14 -05:00
!!! setting "external/graylog"
```bash
lnms config:set graylog.device-page.rowCount 10
```
2020-12-30 09:38:14 -05:00
Sets the maximum number of rows to be displayed (default: 10)
2020-12-30 09:38:14 -05:00
!!! setting "external/graylog"
```bash
lnms config:set graylog.device-page.loglevel 7
```
2020-12-30 09:38:14 -05:00
You can set which loglevels that should be displayed on the overview page. (default: 7, min:
0, max: 7)
2020-12-30 09:38:14 -05:00
!!! setting "external/graylog"
```bash
lnms config:set graylog.device-page.loglevel 4
```
2020-12-30 09:38:14 -05:00
Shows only entries with a log level less than or equal to 4 (Emergency,
2019-09-09 05:48:35 -05:00
Alert, Critical, Error, Warning).
2019-09-09 05:48:35 -05:00
You can set a default Log Level Filter with
```bash
lnms config:set graylog.loglevel 7
2020-12-30 09:38:14 -05:00
```
(applies to /graylog and /device/device=/tab=logs/section=graylog/ (min: 0, max: 7)
## Domain and hostname handling
Suppressing/enabling the domain part of a hostname for specific platforms
2019-09-09 05:48:35 -05:00
You should see if what you get in syslog/Graylog matches up with your
configured hosts first. If you need to modify the syslog messages from
specific platforms, this may be of assistance:
### IOS (Cisco)
```
router(config)# logging origin-id hostname
```
2019-09-09 05:48:35 -05:00
or
2019-09-09 05:48:35 -05:00
```
router(config)# logging origin-id string
```
### JunOS (Juniper Networks)
2019-09-09 05:48:35 -05:00
```
set system syslog host yourlogserver.corp log-prefix YOUR_PREFERRED_STRING
```
### PanOS (Palo Alto Networks)
2019-09-09 05:48:35 -05:00
```
set deviceconfig setting management hostname-type-in-syslog hostname
```
2019-09-09 05:48:35 -05:00
or
```
set deviceconfig setting management hostname-type-in-syslog FQDN
```