telegraf/plugins/inputs/fail2ban/README.md

69 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

2017-08-25 18:42:07 +00:00
# Fail2ban Input Plugin
2017-06-21 19:42:13 +00:00
2019-08-02 19:34:19 +00:00
The fail2ban plugin gathers the count of failed and banned ip addresses using
[fail2ban](https://www.fail2ban.org).
2017-06-21 19:42:13 +00:00
2017-08-25 18:42:07 +00:00
This plugin runs the `fail2ban-client` command which generally requires root access.
Acquiring the required permissions can be done using several methods:
2017-06-21 19:42:13 +00:00
2019-08-02 19:34:19 +00:00
- [Use sudo](#using-sudo) run fail2ban-client.
2017-08-25 18:42:07 +00:00
- Run telegraf as root. (not recommended)
2017-06-21 19:42:13 +00:00
2019-08-02 19:34:19 +00:00
### Configuration
2017-06-21 19:42:13 +00:00
```toml
2019-08-02 19:34:19 +00:00
# Read metrics from fail2ban.
[[inputs.fail2ban]]
2019-08-02 19:34:19 +00:00
## Use sudo to run fail2ban-client
use_sudo = false
```
2017-06-21 19:42:13 +00:00
2019-08-02 19:34:19 +00:00
### Using sudo
Make sure to set `use_sudo = true` in your configuration file.
You will also need to update your sudoers file. It is recommended to modify a
file in the `/etc/sudoers.d` directory using `visudo`:
```bash
2019-08-02 19:34:19 +00:00
$ sudo visudo -f /etc/sudoers.d/telegraf
```
Add the following lines to the file, these commands allow the `telegraf` user
to call `fail2ban-client` without needing to provide a password and disables
logging of the call in the auth.log. Consult `man 8 visudo` and `man 5
sudoers` for details.
```
Cmnd_Alias FAIL2BAN = /usr/bin/fail2ban-client status, /usr/bin/fail2ban-client status *
telegraf ALL=(root) NOEXEC: NOPASSWD: FAIL2BAN
Defaults!FAIL2BAN !logfile, !syslog, !pam_session
2017-06-21 19:42:13 +00:00
```
2019-08-02 19:34:19 +00:00
### Metrics
2017-06-21 19:42:13 +00:00
- fail2ban
2019-08-02 19:34:19 +00:00
- tags:
- jail
- fields:
- failed (integer, count)
- banned (integer, count)
2017-08-25 18:42:07 +00:00
2019-08-02 19:34:19 +00:00
### Example Output
2017-06-21 19:42:13 +00:00
```
# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 5
| |- Total failed: 20
| `- File list: /var/log/secure
`- Actions
|- Currently banned: 2
|- Total banned: 10
`- Banned IP list: 192.168.0.1 192.168.0.2
```
```
fail2ban,jail=sshd failed=5i,banned=2i 1495868667000000000
```