mirror of
https://github.com/dj-wasabi/ansible-telegraf.git
synced 2025-07-17 08:46:37 +00:00
Compare commits
31 Commits
0.14.1
...
fix-pr-run
Author | SHA1 | Date | |
---|---|---|---|
084df32f10 | |||
1c6c4b02fb | |||
2088fc7001 | |||
1f142bd1a5 | |||
dc3825add5 | |||
6552bb02fc | |||
b10164589d | |||
0c7f32937f | |||
2f2619580b | |||
9363cfd04b | |||
ff77201873 | |||
9febe3fa4c | |||
45ad4915eb | |||
b798c93a6a | |||
68af70ea86 | |||
7c9c047c67 | |||
732dffa435 | |||
570f81a779 | |||
29fb3ea5e0 | |||
c318de1e2e | |||
8a5a7187fa | |||
6f30799a7f | |||
2b8cb8a9d8 | |||
108284cda1 | |||
51c2bb66f5 | |||
bfe52cd752 | |||
b5179f4dfe | |||
c8a2209fe5 | |||
bd5dfd18c1 | |||
870e56c5a7 | |||
5fb03da151 |
55
.github/workflows/telegraf.yml
vendored
55
.github/workflows/telegraf.yml
vendored
@ -22,53 +22,54 @@ on:
|
|||||||
- '.github/workflows/telegraf.yml'
|
- '.github/workflows/telegraf.yml'
|
||||||
jobs:
|
jobs:
|
||||||
molecule:
|
molecule:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
molecule_distro:
|
molecule_distro:
|
||||||
- container: rocky8
|
# - container: rocky8
|
||||||
image: geerlingguy/docker-rockylinux8-ansible
|
# image: geerlingguy/docker-rockylinux8-ansible
|
||||||
- container: rocky9
|
- container: rocky9
|
||||||
image: geerlingguy/docker-rockylinux9-ansible
|
image: geerlingguy/docker-rockylinux9-ansible
|
||||||
- container: ubuntu2204
|
- container: ubuntu2204
|
||||||
image: geerlingguy/docker-ubuntu2204-ansible:latest
|
image: geerlingguy/docker-ubuntu2204-ansible:latest
|
||||||
- container: ubuntu2004
|
- container: ubuntu2004
|
||||||
image: geerlingguy/docker-ubuntu2004-ansible:latest
|
image: geerlingguy/docker-ubuntu2004-ansible:latest
|
||||||
- container: ubuntu1804
|
# - container: ubuntu1804
|
||||||
image: geerlingguy/docker-ubuntu1804-ansible:latest
|
# image: geerlingguy/docker-ubuntu1804-ansible:latest
|
||||||
- container: debian9
|
|
||||||
image: geerlingguy/docker-debian9-ansible:latest
|
|
||||||
- container: debian10
|
- container: debian10
|
||||||
image: geerlingguy/docker-debian10-ansible:latest
|
image: geerlingguy/docker-debian10-ansible:latest
|
||||||
- container: debian11
|
- container: debian11
|
||||||
image: geerlingguy/docker-debian11-ansible:latest
|
image: geerlingguy/docker-debian11-ansible:latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code
|
- name: Check out code
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python 3.9
|
- name: Set up Python 3.11
|
||||||
uses: actions/setup-python@v1
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: 3.9
|
python-version: 3.11.11
|
||||||
|
|
||||||
- name: Install dependencies
|
# - name: Install dependencies
|
||||||
run: |
|
# run: |
|
||||||
python -m pip install --upgrade pip
|
# python -m pip install --upgrade pip
|
||||||
pip install -r requirements.txt
|
# pip install -r requirements.txt
|
||||||
|
|
||||||
|
- name: Install test dependencies.
|
||||||
|
run: pip3 install ansible molecule molecule-plugins[docker] docker pytest testinfra
|
||||||
|
|
||||||
- name: Run role tests on empty systems in check-mode
|
- name: Run role tests on empty systems in check-mode
|
||||||
run: >-
|
env:
|
||||||
MY_MOLECULE_CONTAINER=${{ matrix.molecule_distro.container }}
|
MY_MOLECULE_CONTAINER: ${{ matrix.molecule_distro.container }}
|
||||||
MY_MOLECULE_IMAGE=${{ matrix.molecule_distro.image }}
|
MY_MOLECULE_IMAGE: ${{ matrix.molecule_distro.image }}
|
||||||
MY_MOLECULE_GROUP=${{ matrix.molecule_distro.group }}
|
MY_MOLECULE_GROUP: ${{ matrix.molecule_distro.group }}
|
||||||
MY_MOLECULE_DOCKER_COMMAND=${{ matrix.molecule_distro.command }}
|
MY_MOLECULE_DOCKER_COMMAND: ${{ matrix.molecule_distro.command }}
|
||||||
molecule test -s empty-checkmode
|
run: molecule test -s empty-checkmode
|
||||||
|
|
||||||
- name: Run role tests
|
- name: Run role tests
|
||||||
run: >-
|
env:
|
||||||
MY_MOLECULE_CONTAINER=${{ matrix.molecule_distro.container }}
|
MY_MOLECULE_CONTAINER: ${{ matrix.molecule_distro.container }}
|
||||||
MY_MOLECULE_IMAGE=${{ matrix.molecule_distro.image }}
|
MY_MOLECULE_IMAGE: ${{ matrix.molecule_distro.image }}
|
||||||
MY_MOLECULE_GROUP=${{ matrix.molecule_distro.group }}
|
MY_MOLECULE_GROUP: ${{ matrix.molecule_distro.group }}
|
||||||
MY_MOLECULE_DOCKER_COMMAND=${{ matrix.molecule_distro.command }}
|
MY_MOLECULE_DOCKER_COMMAND: ${{ matrix.molecule_distro.command }}
|
||||||
molecule test
|
run: molecule test
|
||||||
|
43
CHANGELOG.md
43
CHANGELOG.md
@ -2,7 +2,46 @@
|
|||||||
|
|
||||||
## [Unreleased](https://github.com/dj-wasabi/ansible-telegraf/tree/HEAD)
|
## [Unreleased](https://github.com/dj-wasabi/ansible-telegraf/tree/HEAD)
|
||||||
|
|
||||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.14.0...HEAD)
|
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.14.2...HEAD)
|
||||||
|
|
||||||
|
**Merged pull requests:**
|
||||||
|
|
||||||
|
- Bump ansible-core from 2.18.0 to 2.18.1 [\#192](https://github.com/dj-wasabi/ansible-telegraf/pull/192) ([dependabot[bot]](https://github.com/apps/dependabot))
|
||||||
|
- Bump ansible-core from 2.16.8 to 2.18.0 [\#191](https://github.com/dj-wasabi/ansible-telegraf/pull/191) ([dependabot[bot]](https://github.com/apps/dependabot))
|
||||||
|
|
||||||
|
## [0.14.2](https://github.com/dj-wasabi/ansible-telegraf/tree/0.14.2) (2024-11-26)
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.14.1...0.14.2)
|
||||||
|
|
||||||
|
**Implemented enhancements:**
|
||||||
|
|
||||||
|
- Repo installation fails for Almalinux [\#172](https://github.com/dj-wasabi/ansible-telegraf/issues/172)
|
||||||
|
- Support for sub\_inputs in extra plugins [\#184](https://github.com/dj-wasabi/ansible-telegraf/pull/184) ([lisuml](https://github.com/lisuml))
|
||||||
|
|
||||||
|
**Fixed bugs:**
|
||||||
|
|
||||||
|
- Add default repository handling for SUSE releases [\#154](https://github.com/dj-wasabi/ansible-telegraf/issues/154)
|
||||||
|
- Fix Python package dependencies on SUSE releases [\#153](https://github.com/dj-wasabi/ansible-telegraf/issues/153)
|
||||||
|
|
||||||
|
**Closed issues:**
|
||||||
|
|
||||||
|
- amazon.aws.ec2\_tag\_info [\#177](https://github.com/dj-wasabi/ansible-telegraf/issues/177)
|
||||||
|
- Failing on Debian Bookwork, telegraf recomends stable main rather than specific release [\#175](https://github.com/dj-wasabi/ansible-telegraf/issues/175)
|
||||||
|
- Unable to run against linux machines \(redhat\) [\#159](https://github.com/dj-wasabi/ansible-telegraf/issues/159)
|
||||||
|
- How to add the sub inputs into the same config file using telegraf\_plugin\_extra [\#149](https://github.com/dj-wasabi/ansible-telegraf/issues/149)
|
||||||
|
|
||||||
|
**Merged pull requests:**
|
||||||
|
|
||||||
|
- Updating the Python packages to make Molecule work [\#190](https://github.com/dj-wasabi/ansible-telegraf/pull/190) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||||
|
- fix: add missing tasks for RedHat distro \(rpm install\) [\#189](https://github.com/dj-wasabi/ansible-telegraf/pull/189) ([vfreitassentient](https://github.com/vfreitassentient))
|
||||||
|
- Bump ansible-core from 2.15.9 to 2.17.6 [\#188](https://github.com/dj-wasabi/ansible-telegraf/pull/188) ([dependabot[bot]](https://github.com/apps/dependabot))
|
||||||
|
- Use `rhel` within yum url for almalinux [\#187](https://github.com/dj-wasabi/ansible-telegraf/pull/187) ([kuhball](https://github.com/kuhball))
|
||||||
|
- Add Archlinux OS [\#186](https://github.com/dj-wasabi/ansible-telegraf/pull/186) ([Frankkkkk](https://github.com/Frankkkkk))
|
||||||
|
- Fixes Role for Almalinux 8.8, Closes \#172 [\#183](https://github.com/dj-wasabi/ansible-telegraf/pull/183) ([mira-miracoli](https://github.com/mira-miracoli))
|
||||||
|
|
||||||
|
## [0.14.1](https://github.com/dj-wasabi/ansible-telegraf/tree/0.14.1) (2024-02-17)
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.14.0...0.14.1)
|
||||||
|
|
||||||
**Implemented enhancements:**
|
**Implemented enhancements:**
|
||||||
|
|
||||||
@ -22,7 +61,7 @@
|
|||||||
- Bump ansible-core from 2.15.2 to 2.15.9 [\#182](https://github.com/dj-wasabi/ansible-telegraf/pull/182) ([dependabot[bot]](https://github.com/apps/dependabot))
|
- Bump ansible-core from 2.15.2 to 2.15.9 [\#182](https://github.com/dj-wasabi/ansible-telegraf/pull/182) ([dependabot[bot]](https://github.com/apps/dependabot))
|
||||||
- Bump ansible from 8.2.0 to 8.5.0 [\#181](https://github.com/dj-wasabi/ansible-telegraf/pull/181) ([dependabot[bot]](https://github.com/apps/dependabot))
|
- Bump ansible from 8.2.0 to 8.5.0 [\#181](https://github.com/dj-wasabi/ansible-telegraf/pull/181) ([dependabot[bot]](https://github.com/apps/dependabot))
|
||||||
- Change Debian repo location [\#179](https://github.com/dj-wasabi/ansible-telegraf/pull/179) ([danclough](https://github.com/danclough))
|
- Change Debian repo location [\#179](https://github.com/dj-wasabi/ansible-telegraf/pull/179) ([danclough](https://github.com/danclough))
|
||||||
- replace depracted aws module [\#178](https://github.com/dj-wasabi/ansible-telegraf/pull/178) ([ThorstenHeck](https://github.com/ThorstenHeck))
|
- replace depracted aws module [\#178](https://github.com/dj-wasabi/ansible-telegraf/pull/178) ([daparm](https://github.com/daparm))
|
||||||
- added yaml 1.2.2 compatibility [\#176](https://github.com/dj-wasabi/ansible-telegraf/pull/176) ([DEvil0000](https://github.com/DEvil0000))
|
- added yaml 1.2.2 compatibility [\#176](https://github.com/dj-wasabi/ansible-telegraf/pull/176) ([DEvil0000](https://github.com/DEvil0000))
|
||||||
- Migrate from io to diskio to fix deprecation warning [\#173](https://github.com/dj-wasabi/ansible-telegraf/pull/173) ([mprasil](https://github.com/mprasil))
|
- Migrate from io to diskio to fix deprecation warning [\#173](https://github.com/dj-wasabi/ansible-telegraf/pull/173) ([mprasil](https://github.com/mprasil))
|
||||||
|
|
||||||
|
10
CONTRIBUTORS
10
CONTRIBUTORS
@ -1,13 +1,16 @@
|
|||||||
|
A. Binzxxxxxx
|
||||||
Alejandro
|
Alejandro
|
||||||
Angristan
|
Angristan
|
||||||
Anthony ARNAUD
|
Anthony ARNAUD
|
||||||
Carl Bäckström
|
Carl Bäckström
|
||||||
DEvil0000
|
DEvil0000
|
||||||
DJΞRFY
|
DJΞRFY
|
||||||
|
Dan Clough
|
||||||
Daniel Werdermann
|
Daniel Werdermann
|
||||||
Diego Nava
|
Diego Nava
|
||||||
Emerson Knapp
|
Emerson Knapp
|
||||||
Farshad Nematdoust
|
Farshad Nematdoust
|
||||||
|
Frank Villaro-Dixon
|
||||||
Greg
|
Greg
|
||||||
Harald Kraemer
|
Harald Kraemer
|
||||||
Heckel, Robert J
|
Heckel, Robert J
|
||||||
@ -24,6 +27,9 @@
|
|||||||
Markus Langer
|
Markus Langer
|
||||||
Matt
|
Matt
|
||||||
Max Nasonov
|
Max Nasonov
|
||||||
|
Michał Lisowski
|
||||||
|
Mira
|
||||||
|
Miro Prasil
|
||||||
Miroslav Prasil
|
Miroslav Prasil
|
||||||
NotDead
|
NotDead
|
||||||
Olivier Boukili
|
Olivier Boukili
|
||||||
@ -37,15 +43,19 @@
|
|||||||
Romain BUREAU
|
Romain BUREAU
|
||||||
Ryan Conway
|
Ryan Conway
|
||||||
Simo Tuomisto
|
Simo Tuomisto
|
||||||
|
Simon
|
||||||
Slawomir Skowron
|
Slawomir Skowron
|
||||||
Steve Durrheimer
|
Steve Durrheimer
|
||||||
Steven Wirges
|
Steven Wirges
|
||||||
TheCodeAssassin
|
TheCodeAssassin
|
||||||
Thomas Szymanski
|
Thomas Szymanski
|
||||||
|
ThorstenHeck
|
||||||
Troy Jendra
|
Troy Jendra
|
||||||
|
Vinicius Freitas
|
||||||
Werner Dijkerman
|
Werner Dijkerman
|
||||||
Werner Dijkerman [GH bot]
|
Werner Dijkerman [GH bot]
|
||||||
aroglian
|
aroglian
|
||||||
|
dependabot[bot]
|
||||||
gaelL
|
gaelL
|
||||||
kingphil
|
kingphil
|
||||||
maxwondercorn
|
maxwondercorn
|
||||||
|
26
README.md
26
README.md
@ -55,6 +55,7 @@ This role supports the following systems:
|
|||||||
* (Open)Suse
|
* (Open)Suse
|
||||||
* Windows (Best effort)
|
* Windows (Best effort)
|
||||||
* FreeBSD (Best effort)
|
* FreeBSD (Best effort)
|
||||||
|
* Archlinux (only "online" mode)
|
||||||
|
|
||||||
So, you'll need one of those systems.. :-)
|
So, you'll need one of those systems.. :-)
|
||||||
Please sent Pull Requests or suggestions when you want to use this role for other systems.
|
Please sent Pull Requests or suggestions when you want to use this role for other systems.
|
||||||
@ -289,6 +290,7 @@ Telegraf plugin options:
|
|||||||
* `interval`: How often to gather this metric. Normal plugins use a single global interval, but if one particular plugin should be run less or more often, you can configure that here.
|
* `interval`: How often to gather this metric. Normal plugins use a single global interval, but if one particular plugin should be run less or more often, you can configure that here.
|
||||||
* `filter.name`: Like when there is an extra filter that needs to be configured, like `grok` for a `logparser` plugin.
|
* `filter.name`: Like when there is an extra filter that needs to be configured, like `grok` for a `logparser` plugin.
|
||||||
* `filter.config`: The extra configuration for the - in the `filter.name` example - `grok` filter. (See example below)
|
* `filter.config`: The extra configuration for the - in the `filter.name` example - `grok` filter. (See example below)
|
||||||
|
* `sub_inputs`: If the input requires other sub inputs, you can add them here (see example below).
|
||||||
|
|
||||||
An example might look like this:
|
An example might look like this:
|
||||||
|
|
||||||
@ -325,6 +327,30 @@ When you want to make use of the `grok` filter for the logparser:
|
|||||||
config:
|
config:
|
||||||
- patterns = ["invoked oom-killer"]
|
- patterns = ["invoked oom-killer"]
|
||||||
|
|
||||||
|
When you want to include a sub inputs with their own configuration:
|
||||||
|
```yaml
|
||||||
|
sqs:
|
||||||
|
plugin: cloudwatch
|
||||||
|
config:
|
||||||
|
- region = "eu-west-1"
|
||||||
|
- access_key = "foo"
|
||||||
|
- secret_key = "bar"
|
||||||
|
- period = "1m"
|
||||||
|
- delay = "2m"
|
||||||
|
- interval = "1m"
|
||||||
|
- namespace = "AWS/SQS"
|
||||||
|
- statistic_include = ["average"]
|
||||||
|
sub_inputs:
|
||||||
|
metrics:
|
||||||
|
- names = [
|
||||||
|
"ApproximateAgeOfOldestMessage",
|
||||||
|
"ApproximateNumberOfMessagesVisible",
|
||||||
|
]
|
||||||
|
metrics.dimensions:
|
||||||
|
- name = "QueueName"
|
||||||
|
- value = "*"
|
||||||
|
```
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
No dependencies
|
No dependencies
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
telegraf_enabled: True
|
telegraf_enabled: True
|
||||||
# defaults file for ansible-telegraf
|
# defaults file for ansible-telegraf
|
||||||
|
|
||||||
telegraf_agent_version: 1.18.2
|
telegraf_agent_version: 1.32.3
|
||||||
telegraf_agent_version_patch: 1
|
telegraf_agent_version_patch: 1
|
||||||
telegraf_agent_package: telegraf
|
telegraf_agent_package: telegraf
|
||||||
telegraf_agent_package_file_deb: telegraf_{{ telegraf_agent_version }}-{{ telegraf_agent_version_patch }}_{{ telegraf_agent_package_arch }}.deb
|
telegraf_agent_package_file_deb: telegraf_{{ telegraf_agent_version }}-{{ telegraf_agent_version_patch }}_{{ telegraf_agent_package_arch }}.deb
|
||||||
@ -77,6 +77,7 @@ telegraf_yum_baseurl:
|
|||||||
default: "https://repos.influxdata.com/{{ ansible_distribution|lower }}/{{ telegraf_redhat_releasever }}/$basearch/stable"
|
default: "https://repos.influxdata.com/{{ ansible_distribution|lower }}/{{ telegraf_redhat_releasever }}/$basearch/stable"
|
||||||
redhat: "https://repos.influxdata.com/rhel/{{ telegraf_redhat_releasever }}/$basearch/stable"
|
redhat: "https://repos.influxdata.com/rhel/{{ telegraf_redhat_releasever }}/$basearch/stable"
|
||||||
rocky: "https://repos.influxdata.com/rhel/{{ telegraf_redhat_releasever }}/$basearch/stable"
|
rocky: "https://repos.influxdata.com/rhel/{{ telegraf_redhat_releasever }}/$basearch/stable"
|
||||||
|
almalinux: "https://repos.influxdata.com/rhel/{{ telegraf_redhat_releasever }}/$basearch/stable"
|
||||||
telegraf_yum_gpgkey: "https://repos.influxdata.com/influxdata-archive_compat.key"
|
telegraf_yum_gpgkey: "https://repos.influxdata.com/influxdata-archive_compat.key"
|
||||||
|
|
||||||
telegraf_zypper_repos:
|
telegraf_zypper_repos:
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
---
|
---
|
||||||
- hosts: telegraf
|
- hosts: telegraf
|
||||||
roles:
|
roles:
|
||||||
- role: ansible-telegraf
|
- role: ../../ansible-telegraf
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
---
|
---
|
||||||
- hosts: telegraf
|
- hosts: telegraf
|
||||||
roles:
|
roles:
|
||||||
- role: ansible-telegraf
|
- role: ../../../ansible-telegraf
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
ansible==8.5.0
|
ansible==11.2.0
|
||||||
ansible-compat==4.1.7
|
ansible-compat==25.1.2
|
||||||
ansible-core==2.15.9
|
ansible-core==2.18.2
|
||||||
docker==6.1.3
|
docker==7.1.0
|
||||||
molecule==6.0.1
|
molecule==25.2.0
|
||||||
molecule-docker==2.1.0
|
molecule-docker==2.1.0
|
||||||
netaddr==0.8.0
|
molecule-plugins==23.7.0
|
||||||
pytest==7.4.2
|
netaddr==1.3.0
|
||||||
pytest-testinfra==9.0.0
|
pytest==8.3.4
|
||||||
|
pytest-testinfra==10.1.1
|
||||||
testinfra==6.0.0
|
testinfra==6.0.0
|
||||||
|
86
tasks/Archlinux.yml
Normal file
86
tasks/Archlinux.yml
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: "Archlinux | Set name if state != latest"
|
||||||
|
set_fact:
|
||||||
|
telegraf_agent_binary: telegraf={{ telegraf_agent_version }}-{{ telegraf_agent_version_patch }}
|
||||||
|
when:
|
||||||
|
- telegraf_agent_package_state != "latest"
|
||||||
|
|
||||||
|
- name: "Archlinux | Set telegraf_agent_package_arch"
|
||||||
|
set_fact:
|
||||||
|
telegraf_agent_package_arch: "{{ ansible_architecture }}"
|
||||||
|
|
||||||
|
- name: "Archlinux | Set telegraf_agent_package_arch specific for x86_64"
|
||||||
|
set_fact:
|
||||||
|
telegraf_agent_package_arch: "amd64"
|
||||||
|
when:
|
||||||
|
- ansible_architecture == "x86_64"
|
||||||
|
|
||||||
|
- name: "Archlinux | Set telegraf_agent_package_arch specific for arm64/armv7l"
|
||||||
|
set_fact:
|
||||||
|
telegraf_agent_package_arch: "armhf"
|
||||||
|
when:
|
||||||
|
- ansible_architecture == "arm64" or ansible_architecture == "armv7l"
|
||||||
|
|
||||||
|
- name: "Archlinux | Create telegraf user"
|
||||||
|
user:
|
||||||
|
name: telegraf
|
||||||
|
system: yes
|
||||||
|
shell: /bin/false
|
||||||
|
home: /etc/telegraf
|
||||||
|
when:
|
||||||
|
- telegraf_agent_package_method == "online"
|
||||||
|
|
||||||
|
- name: "Archlinux | Create telegraf directory"
|
||||||
|
file:
|
||||||
|
path: /etc/telegraf
|
||||||
|
state: directory
|
||||||
|
when:
|
||||||
|
- telegraf_agent_package_method == "online"
|
||||||
|
|
||||||
|
- name: "Archlinux | Extract telegraf binary"
|
||||||
|
ansible.builtin.unarchive:
|
||||||
|
src: "https://dl.influxdata.com/telegraf/releases/telegraf-{{ telegraf_agent_version }}_linux_{{ telegraf_agent_package_arch }}.tar.gz"
|
||||||
|
dest: /tmp/
|
||||||
|
remote_src: yes
|
||||||
|
when:
|
||||||
|
- telegraf_agent_package_method == "online"
|
||||||
|
|
||||||
|
- name: "Archlinux | Copy telegraf binary"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "/tmp/telegraf-{{ telegraf_agent_version }}/usr/bin/telegraf"
|
||||||
|
remote_src: yes
|
||||||
|
dest: /usr/bin/
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0755
|
||||||
|
when:
|
||||||
|
- telegraf_agent_package_method == "online"
|
||||||
|
|
||||||
|
- name: "Archlinux | Copy telegraf unit file"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "/tmp/telegraf-{{ telegraf_agent_version }}/usr/lib/telegraf/scripts/telegraf.service"
|
||||||
|
remote_src: yes
|
||||||
|
dest: /etc/systemd/system/telegraf.service
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0755
|
||||||
|
when:
|
||||||
|
- telegraf_agent_package_method == "online"
|
||||||
|
|
||||||
|
- name: "Archlinux | Copy telegraf unit file"
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "/tmp/telegraf-{{ telegraf_agent_version }}/usr/lib/telegraf/scripts/telegraf.service"
|
||||||
|
remote_src: yes
|
||||||
|
dest: /etc/systemd/system/telegraf.service
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: 0755
|
||||||
|
when:
|
||||||
|
- telegraf_agent_package_method == "online"
|
||||||
|
register: telegraf_service
|
||||||
|
|
||||||
|
- name: Reload systemd
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
daemon_reload: yes
|
||||||
|
when: telegraf_service.changed
|
@ -17,7 +17,7 @@
|
|||||||
yum_repository:
|
yum_repository:
|
||||||
name: influxdb
|
name: influxdb
|
||||||
description: InfluxDB Repository - RHEL $releasever
|
description: InfluxDB Repository - RHEL $releasever
|
||||||
baseurl: "{{ telegraf_yum_baseurl[ansible_distribution|lower] | default(telegraf_yum_baseurl['default']) }}"
|
baseurl: "{{ telegraf_yum_baseurl['redhat'] | default(telegraf_yum_baseurl['default']) }}"
|
||||||
gpgcheck: "{{ telegraf_yum_gpgcheck | default('true') }}"
|
gpgcheck: "{{ telegraf_yum_gpgcheck | default('true') }}"
|
||||||
gpgkey: "{{ telegraf_yum_gpgkey }}"
|
gpgkey: "{{ telegraf_yum_gpgkey }}"
|
||||||
become: true
|
become: true
|
||||||
@ -27,7 +27,7 @@
|
|||||||
- name: "RedHat | Download Telegraf package (online)"
|
- name: "RedHat | Download Telegraf package (online)"
|
||||||
get_url:
|
get_url:
|
||||||
url: https://dl.influxdata.com/telegraf/releases/{{ telegraf_agent_package_file_rpm }}
|
url: https://dl.influxdata.com/telegraf/releases/{{ telegraf_agent_package_file_rpm }}
|
||||||
dest: "{{ telegraf_agent_package }}"
|
dest: "{{ telegraf_agent_package_path }}"
|
||||||
use_proxy: "{{ true if http_proxy is defined and http_proxy else false }}"
|
use_proxy: "{{ true if http_proxy is defined and http_proxy else false }}"
|
||||||
environment:
|
environment:
|
||||||
http_proxy: "{{ http_proxy | default(None) | default(omit) }}"
|
http_proxy: "{{ http_proxy | default(None) | default(omit) }}"
|
||||||
@ -35,7 +35,7 @@
|
|||||||
when:
|
when:
|
||||||
- telegraf_agent_package_method == "online"
|
- telegraf_agent_package_method == "online"
|
||||||
|
|
||||||
- name: "RedHat | Install Telegraf package"
|
- name: "RedHat | Install Telegraf package (repo)"
|
||||||
package:
|
package:
|
||||||
name: "{{ telegraf_agent_package }}"
|
name: "{{ telegraf_agent_package }}"
|
||||||
state: "{{ telegraf_agent_package_state }}"
|
state: "{{ telegraf_agent_package_state }}"
|
||||||
@ -44,3 +44,19 @@
|
|||||||
become: true
|
become: true
|
||||||
notify: "Restart Telegraf"
|
notify: "Restart Telegraf"
|
||||||
ignore_errors: "{{ ansible_check_mode }}"
|
ignore_errors: "{{ ansible_check_mode }}"
|
||||||
|
when:
|
||||||
|
- telegraf_agent_package_method == "repo"
|
||||||
|
|
||||||
|
|
||||||
|
- name: "RedHat | Install Telegraf package (online)"
|
||||||
|
dnf:
|
||||||
|
name: "{{ telegraf_agent_package_path }}/{{ telegraf_agent_package_file_rpm }}"
|
||||||
|
disable_gpg_check: true
|
||||||
|
state: "{{ telegraf_agent_package_state }}"
|
||||||
|
register: is_telegraf_package_installed
|
||||||
|
until: is_telegraf_package_installed is succeeded
|
||||||
|
become: true
|
||||||
|
notify: "Restart Telegraf"
|
||||||
|
ignore_errors: "{{ ansible_check_mode }}"
|
||||||
|
when:
|
||||||
|
- telegraf_agent_package_method == "online"
|
||||||
|
@ -14,6 +14,11 @@
|
|||||||
- telegraf
|
- telegraf
|
||||||
- packages
|
- packages
|
||||||
|
|
||||||
|
- name: "Install on Archlinux"
|
||||||
|
include_tasks: "Archlinux.yml"
|
||||||
|
when:
|
||||||
|
- ansible_os_family == "Archlinux" and not telegraf_agent_docker
|
||||||
|
|
||||||
- name: "Install on Suse"
|
- name: "Install on Suse"
|
||||||
include_tasks: "Suse.yml"
|
include_tasks: "Suse.yml"
|
||||||
when: ansible_os_family == "Suse" and not telegraf_agent_docker
|
when: ansible_os_family == "Suse" and not telegraf_agent_docker
|
||||||
|
@ -55,3 +55,11 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if item.value.sub_inputs is defined and item.value.sub_inputs is iterable %}
|
||||||
|
{% for sub_input, config in item.value.sub_inputs.items() %}
|
||||||
|
[[inputs.{{ item.value.plugin | default(item.key) }}.{{ sub_input }}]]
|
||||||
|
{% for items in config %}
|
||||||
|
{{ items }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
Reference in New Issue
Block a user