81 lines
1.7 KiB
Markdown
81 lines
1.7 KiB
Markdown
|
# Ansible role: Telegraf
|
||
|
|
||
|
Install and configure Telegraf
|
||
|
|
||
|
## Requirements
|
||
|
|
||
|
* Ansible >= 2.9
|
||
|
* Debian
|
||
|
* Buster
|
||
|
* Bullseye
|
||
|
|
||
|
## Role variables
|
||
|
|
||
|
* `telegraf_config` - hash with the general configuration (see [telegraf documentation](https://docs.influxdata.com/telegraf/latest/administration/configuration/))
|
||
|
|
||
|
```
|
||
|
agent:
|
||
|
interval: 10s
|
||
|
round_interval: true
|
||
|
metric_batch_size: 1000
|
||
|
metric_buffer_limit: 10000
|
||
|
collection_jitter: 0s
|
||
|
flush_interval: 10s
|
||
|
flush_jitter: 0s
|
||
|
precision: ''
|
||
|
hostname: ''
|
||
|
omit_hostname: false
|
||
|
```
|
||
|
|
||
|
* `telegraf_inputs` - hash with inputs configuration
|
||
|
|
||
|
```
|
||
|
cpu:
|
||
|
percpu: true
|
||
|
totalcpu: true
|
||
|
collect_cpu_time: false
|
||
|
report_active: false
|
||
|
```
|
||
|
|
||
|
* `telegraf_outputs` - hash with outputs configuration
|
||
|
|
||
|
```
|
||
|
file:
|
||
|
files: ['stdout', '/tmp/metrics.out']
|
||
|
```
|
||
|
|
||
|
## How to use
|
||
|
|
||
|
```
|
||
|
- hosts: server
|
||
|
roles:
|
||
|
- telegraf
|
||
|
```
|
||
|
|
||
|
## Development
|
||
|
|
||
|
### Test with molecule and docker
|
||
|
|
||
|
* install [docker](https://docs.docker.com/engine/installation/)
|
||
|
* install `python3` and `python3-pip`
|
||
|
* install molecule and dependencies `pip3 install molecule molecule-docker docker ansible-lint pytest-testinfra yamllint`
|
||
|
* run `molecule test`
|
||
|
|
||
|
## License
|
||
|
|
||
|
```
|
||
|
Copyright (c) 2021 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.
|
||
|
```
|