ansible-role-logstash/README.md

103 lines
2.5 KiB
Markdown
Raw Normal View History

2019-09-10 06:57:26 +00:00
# Ansible role: Logstash
2021-08-24 15:03:28 +00:00
[![Version](https://img.shields.io/badge/latest_version-1.1.0-green.svg)](https://git.yaegashi.fr/nishiki/ansible-role-logstash/releases)
2019-09-10 06:57:26 +00:00
[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://git.yaegashi.fr/nishiki/ansible-role-logstash/src/branch/master/LICENSE)
Install and configure logstash
## Requirements
2021-08-24 14:58:34 +00:00
* Ansible >= 2.9
* Debian
2023-07-05 08:33:28 +00:00
* Bookworm
2019-09-10 06:57:26 +00:00
## Role variables
* `logstash_major_version` set major version to install- (default: `7`)
* `logstash_plugins` - array with the plugins to install
```
- name: logstash-output-influxdb
state: present
```
* `logstash_config` - hash with the configuration (see [logstash documentation](https://www.elastic.co/guide/en/logstash/current/configuration.html))
```
path.data: /var/lib/logstash
path.logs: /var/log/logstash
```
- `logstash_inputs` - hash with the inputs configurations
```
file:
path: /var/log/syslog
beats:
port: 5444
```
- `logstash_outputs` - array with the outputs configuration
```
- >
file {
path => "/var/log/syslog"
codec => "json"
}
```
- `logstash_filters` - array with the filters configuration
```
- >
grok {
match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
}
```
2021-08-24 14:55:01 +00:00
- `logstash_pattern` hash with grok patterns
```
postfix: |
# Syslog stuff
PROCESS ([\w._\/%-]+)
COMPID postfix\/%{PROCESS:process}(?:\[%{NUMBER:pid}\])?
POSTFIX (?:%{SYSLOGTIMESTAMP:timestamp}|%{TIMESTAMP_ISO8601:timestamp8601}) (?:%{SYSLOGFACILITY} )?%{SYSLOGHOST:logsource} %{COMPID}:
```
2019-09-10 06:57:26 +00:00
## How to use
```
- hosts: server
roles:
- logstash
```
## Development
2021-08-24 14:58:34 +00:00
### Test with molecule and docker
2019-09-10 06:57:26 +00:00
* install [docker](https://docs.docker.com/engine/installation/)
2021-08-24 14:58:34 +00:00
* install `python3` and `python3-pip`
* install molecule and dependencies `pip3 install molecule molecule-docker docker ansible-lint pytest-testinfra yamllint`
* run `molecule test`
2019-09-10 06:57:26 +00:00
## License
```
Copyright (c) 2019 Adrien Waksberg
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```