mirror of
https://github.com/dj-wasabi/ansible-telegraf.git
synced 2025-07-17 08:46:37 +00:00
Compare commits
99 Commits
Author | SHA1 | Date | |
---|---|---|---|
8670792f6f | |||
4803b33f89 | |||
0c7f32937f | |||
2f2619580b | |||
9363cfd04b | |||
ff77201873 | |||
9febe3fa4c | |||
45ad4915eb | |||
b798c93a6a | |||
68af70ea86 | |||
7c9c047c67 | |||
732dffa435 | |||
570f81a779 | |||
29fb3ea5e0 | |||
c318de1e2e | |||
8a5a7187fa | |||
6f30799a7f | |||
2b8cb8a9d8 | |||
108284cda1 | |||
51c2bb66f5 | |||
bfe52cd752 | |||
b5179f4dfe | |||
c8a2209fe5 | |||
bd5dfd18c1 | |||
870e56c5a7 | |||
5fb03da151 | |||
39bc504fd5 | |||
171ecb0434 | |||
06117f38a1 | |||
d84931411e | |||
d5ab4b07a8 | |||
5c160d6bbe | |||
d36c400cd3 | |||
cec761a336 | |||
da55c4a711 | |||
ccdb9bd98e | |||
94774fbc8d | |||
73c00ab7b6 | |||
f241fd34d0 | |||
4064c8b040 | |||
fdcff0b195 | |||
6b6aa755f6 | |||
ca76832c24 | |||
6f6fdf7f5e | |||
f915bc0bd9 | |||
5066c5c7f9 | |||
adb678a9e5 | |||
b8e8710ccf | |||
e4728f4a6a | |||
8ac7c14045 | |||
8c665829e6 | |||
68da943438 | |||
5fad4a7a64 | |||
5eeb4d6409 | |||
83fda666a8 | |||
9a548d825d | |||
6d3d9741f0 | |||
df4af3eeef | |||
6432640e89 | |||
4fd39fe753 | |||
e59d785c7e | |||
4bef71819d | |||
e13c62d918 | |||
f329d9e207 | |||
554434c7ad | |||
a89b6aff93 | |||
fd18c08145 | |||
3596c7b95e | |||
8e4b34d4bd | |||
632fe13972 | |||
4b7d9713e3 | |||
968b005f3a | |||
28cd5b8f6e | |||
eb55757a01 | |||
1c15756019 | |||
9a1c543906 | |||
805071d0d9 | |||
81246d67ea | |||
0ca3c1ddda | |||
ecce0edb9b | |||
d7863b10ef | |||
a9809890ee | |||
84d31bdaa6 | |||
e2001ee2c7 | |||
4d57c29311 | |||
4e31a334a7 | |||
8d25c09575 | |||
55b4b6530e | |||
518f60132e | |||
7960f96a2a | |||
0b24ff0853 | |||
f206e93e1b | |||
57fe305579 | |||
a9e6a96183 | |||
7eda3206fd | |||
2c91f9de08 | |||
132e39ed47 | |||
ab3730e24f | |||
1fae6b597f |
49
.github/workflows/main.yml
vendored
Normal file
49
.github/workflows/main.yml
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
# This will execute some scripts on main branch.
|
||||
|
||||
name: MasterRun
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
runme:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout dj-wasabi-release repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: dj-wasabi/dj-wasabi-release
|
||||
path: dj-wasabi-release
|
||||
|
||||
- name: Checkout current repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: main
|
||||
|
||||
- name: Commit Changelog file
|
||||
run: |
|
||||
# We are cloned in the 'main' directory and the dj-wasabi-release
|
||||
# repository is the 'dj-wasabi-release' next to 'main'
|
||||
cd main
|
||||
|
||||
# Generate CHANGELOG.md file
|
||||
../dj-wasabi-release/release.sh -d
|
||||
|
||||
# Let commit the changes if there are any? (Well there should be!)
|
||||
if [[ $(git status | grep -c 'CHANGELOG.md' || true) -gt 0 ]]
|
||||
then echo "Committing file"
|
||||
git config --global user.name 'Werner Dijkerman [GH bot]'
|
||||
git config --global user.email 'github@dj-wasabi.nl'
|
||||
|
||||
git add CHANGELOG.md
|
||||
git commit -m "Updated CHANGELOG.md on \"$(date "+%Y-%m-%d %H:%M:%S")\"" CHANGELOG.md
|
||||
git push
|
||||
fi
|
||||
env:
|
||||
CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
35
.github/workflows/telegraf.yml
vendored
35
.github/workflows/telegraf.yml
vendored
@ -22,40 +22,47 @@ on:
|
||||
- '.github/workflows/telegraf.yml'
|
||||
jobs:
|
||||
molecule:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
molecule_distro:
|
||||
- container: centos8
|
||||
image: geerlingguy/docker-centos8-ansible:latest
|
||||
- container: centos7
|
||||
image: geerlingguy/docker-centos7-ansible:latest
|
||||
- container: rocky8
|
||||
image: geerlingguy/docker-rockylinux8-ansible
|
||||
- container: rocky9
|
||||
image: geerlingguy/docker-rockylinux9-ansible
|
||||
- container: ubuntu2204
|
||||
image: geerlingguy/docker-ubuntu2204-ansible:latest
|
||||
- container: ubuntu2004
|
||||
image: geerlingguy/docker-ubuntu2004-ansible:latest
|
||||
- container: ubuntu1804
|
||||
image: geerlingguy/docker-ubuntu1804-ansible:latest
|
||||
- container: ubuntu1604
|
||||
image: geerlingguy/docker-ubuntu1604-ansible:latest
|
||||
- container: debian9
|
||||
image: geerlingguy/docker-debian9-ansible:latest
|
||||
- container: debian8
|
||||
image: geerlingguy/docker-debian8-ansible:latest
|
||||
- container: debian10
|
||||
image: geerlingguy/docker-debian10-ansible:latest
|
||||
- container: debian11
|
||||
image: geerlingguy/docker-debian11-ansible:latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: Set up Python 3.7
|
||||
- name: Set up Python 3.11
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.7
|
||||
python-version: 3.11.10
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
curl -so requirements.txt 'https://raw.githubusercontent.com/dj-wasabi/dj-wasabi-release/main/requirements.txt'
|
||||
pip install -r requirements.txt
|
||||
|
||||
- name: Run role tests on empty systems in check-mode
|
||||
run: >-
|
||||
MY_MOLECULE_CONTAINER=${{ matrix.molecule_distro.container }}
|
||||
MY_MOLECULE_IMAGE=${{ matrix.molecule_distro.image }}
|
||||
MY_MOLECULE_GROUP=${{ matrix.molecule_distro.group }}
|
||||
MY_MOLECULE_DOCKER_COMMAND=${{ matrix.molecule_distro.command }}
|
||||
molecule test -s empty-checkmode
|
||||
|
||||
- name: Run role tests
|
||||
run: >-
|
||||
MY_MOLECULE_CONTAINER=${{ matrix.molecule_distro.container }}
|
||||
|
@ -1,9 +1,14 @@
|
||||
---
|
||||
repos:
|
||||
# - repo: https://github.com/dj-wasabi/pre-commit-hooks
|
||||
# rev: master
|
||||
# hooks:
|
||||
# - id: ansible-lint
|
||||
- repo: local
|
||||
hooks:
|
||||
- id: ansible-lint
|
||||
name: Ansible-lint
|
||||
description: This hook runs ansible-lint.
|
||||
entry: ansible-lint --force-color .
|
||||
language: python
|
||||
pass_filenames: false
|
||||
always_run: true
|
||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||
rev: v3.2.0
|
||||
hooks:
|
||||
|
473
CHANGELOG.md
473
CHANGELOG.md
@ -1,152 +1,387 @@
|
||||
dj-wasabi.telegraf
|
||||
------------------
|
||||
# Changelog
|
||||
|
||||
Below an overview of all changes in the releases.
|
||||
## [Unreleased](https://github.com/dj-wasabi/ansible-telegraf/tree/HEAD)
|
||||
|
||||
Version (Release date)
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.14.2...HEAD)
|
||||
|
||||
0.12.0 (2019-03-12)
|
||||
**Merged pull requests:**
|
||||
|
||||
* Download from influxdb #109
|
||||
* Don't override package name unless "latest" #108 (By pull request: matttrach (Thanks!))
|
||||
* Adding support for arm64 systems #106 (By pull request: remkade (Thanks!))
|
||||
* Use items() instead of iteritems() #104 (By pull request: diego1q2w
|
||||
* Fix: ensure apt-cache is updated before install #103 (By pull request: asfaltboy (Thanks!))
|
||||
* on FreeBSD the telegeraf.conf is in root of /usr/local/etc. #102 (By pull request: langerma (Thanks!))
|
||||
* Some changes for fixing FreeBSD #101
|
||||
* basic FreeBSD support #100 (By pull request: langerma (Thanks!))
|
||||
* Added the use_proxy argument to use a proxy (or not) #98
|
||||
* Various small changes for molecule #97
|
||||
- Better sub inputs handling [\#193](https://github.com/dj-wasabi/ansible-telegraf/pull/193) ([lisuml](https://github.com/lisuml))
|
||||
- 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.12.0 (2019-03-12)
|
||||
## [0.14.2](https://github.com/dj-wasabi/ansible-telegraf/tree/0.14.2) (2024-11-26)
|
||||
|
||||
* Add support for extra win_perf_counters and prevent python u'' strings #76 (By pull request: jdivy (Thanks!))
|
||||
* Fix to work with Fedora Linux #78 (By pull request: ikke-t (Thanks!))
|
||||
* Add Yum repo support for Amazon Linux #79 (By pull request: anthonysr-mc (Thanks!))
|
||||
* Updating Telegraf default to 1.9.2 #80 (and some to other versions as well) (By pull request: sdurrheimer (Thanks!))
|
||||
* [bug] debian - add cache_valid_time #81 (By pull request: pad92 (Thanks!))
|
||||
* Fix tagpass and tagdrop #83 (By pull request: jgeusebroek (Thanks!))
|
||||
* Remove legacy options #84 (By pull request: jgeusebroek (Thanks!))
|
||||
* Add Docker container support #85 (By pull request: jgeusebroek (Thanks!))
|
||||
* Added register for installation of packages #86
|
||||
* Docker enhancements #88 (By pull request: jgeusebroek (Thanks!))
|
||||
* Updated to Telegraf 1.10.0;Different installation methods #93
|
||||
* Add processors section in Telegraf config #94 (By pull request: ph4r5h4d (Thanks!))
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.14.1...0.14.2)
|
||||
|
||||
0.11.0 (2018-12-11)
|
||||
**Implemented enhancements:**
|
||||
|
||||
* Added support for plugins being managed exclusively by this playbook #60 (By pull request: gaizeror (Thanks!))
|
||||
* Pin apt key ID #61 (By pull request: tszym (Thanks!))
|
||||
* Wen copying/removing plugins show only plugin name #62 (By pull request: mprasil (Thanks!))
|
||||
* Using base ci requirements.txt #64
|
||||
* telegraf-extra-plugin.conf.j2: fix template typo #65 (By pull request: gaelL (Thanks!))
|
||||
* Some small improvements #66
|
||||
* Want to use latest #67
|
||||
* Added Windows as OS #68
|
||||
* Added support for (Open)Suse #69
|
||||
* Added default pluging if nothing is configured #70
|
||||
* Replace 'ec2_facts' with 'ec2_metadata_facts' to fix a deprecation warning #72 (By pull request: Rylon (Thanks!))
|
||||
* A few enhancements and fixes to windows support #73 (By pull request: jdivy (Thanks!))
|
||||
* Renamed the tojson to to_json #74
|
||||
- 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))
|
||||
|
||||
0.10.0 (2018-08-12)
|
||||
**Fixed bugs:**
|
||||
|
||||
* Updating to telegraf 1.7.3
|
||||
* Fix Deprecation warnings #54
|
||||
* Changed 'include' to 'include_tasks' to remove deprecation warning #53 (By pull request: tjend (Thanks!))
|
||||
* Add option to remove extra plugin config files #52 (By pull request: tjend (Thanks!))
|
||||
* Plugins extra hash allow multiple inputs same type #50 (By pull request: tjend (Thanks!))
|
||||
* Using specific version for tests
|
||||
* Update minimum Ansible version to 2.4
|
||||
- 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)
|
||||
|
||||
0.9.0 (2018-05-06)
|
||||
**Closed issues:**
|
||||
|
||||
* plugins: be able to specify the filename of extra plugings #40 (By pull request: gaelL (Thanks!))
|
||||
* Fix markdown #41 (By pull request: Angristan (Thanks!))
|
||||
* Allow to override RedHat release version #43 (By pull request: tszym (Thanks!))
|
||||
* Improved comments, split up role, moved tags and added defaults #45 (By pull request: boxrick (Thanks!))
|
||||
* Fix Travis Tests #42
|
||||
* Convert the telegraf_plugins_extra varaible to a hash so that we can … #46 (By pull request: tjend (Thanks!))
|
||||
- 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)
|
||||
|
||||
0.8.0 (2017-10-30)
|
||||
**Merged pull requests:**
|
||||
|
||||
* Updating to Molecule V2
|
||||
* Test if LSB codename exists before using it #35 (By pull request: tszym (Thanks!))
|
||||
* Remove useless packages on RedHat. fix #28 #36 (By pull request: tszym (Thanks!))
|
||||
* Fix extra plugins by file / Change apt source filename / Change tags by global_tags #37 (By pull request: aarnaud (Thanks!))
|
||||
* Use telegra_global_tags for oldest telegraf versions #38 (By pull request: tszym (Thanks!))
|
||||
- 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.7.0 (2017-02-23)
|
||||
## [0.14.1](https://github.com/dj-wasabi/ansible-telegraf/tree/0.14.1) (2024-02-17)
|
||||
|
||||
* Replace action by modules #26 (By pull request: tszym (Thanks!))
|
||||
* Use yum repository to install telegraf on RedHat #25 (By pull request: tszym (Thanks!))
|
||||
* Remove for-loop in extra-plugin template #24 (By pull request: emersondispatch (Thanks!))
|
||||
* Update Debian.yml #23 (By pull request: zend0 (Thanks!))
|
||||
* extra plugins tags #21 (By pull request: oboukili (Thanks!))
|
||||
* Input tags support #20 (By pull request: szibis (Thanks!))
|
||||
* Fix telegraf confguration permissions #19 (By pull request: szibis (Thanks!))
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.14.0...0.14.1)
|
||||
|
||||
0.6.0 (2017-01-02)
|
||||
**Implemented enhancements:**
|
||||
|
||||
* Fix the Influxdb repo for "hybrid" debian distros (like "jessie/sid") #9 (By pull request: Ismael (Thanks!))
|
||||
* Do "become" for the steps that require root access on Debian #10 (By pull request: Ismael (Thanks!))
|
||||
* Fix the Influxdb repo for "hybrid" debian distros (like "jessie/sid") #11 (By pull request: Ismael (Thanks!))
|
||||
* Removed imports #12
|
||||
* Fixing molecule #15
|
||||
* set telegraf hostname in defaults. #13 (By pull request: romainbureau (Thanks!))
|
||||
* use version_compare filter … #14 (By pull request: lhoss (Thanks!))
|
||||
* support missing agent settings upto telegraf v1.1 #16 (By pull request: lhoss (Thanks!))
|
||||
* update the README with the latest v0.13 - v1.1 agent settings #17 (By pull request: lhoss (Thanks!))
|
||||
- Fix check-mode failures [\#168](https://github.com/dj-wasabi/ansible-telegraf/pull/168) ([pieterlexis-tomtom](https://github.com/pieterlexis-tomtom))
|
||||
|
||||
0.5.1 (2016-08-24)
|
||||
**Fixed bugs:**
|
||||
|
||||
* fixed issue with ansible not getting the package #6 (By pull request: thecodeassassin (Thanks!))
|
||||
- Fix molecule tests so that PR's can properly validated [\#180](https://github.com/dj-wasabi/ansible-telegraf/pull/180) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Replace apt\_key with get\_url [\#170](https://github.com/dj-wasabi/ansible-telegraf/pull/170) ([danclough](https://github.com/danclough))
|
||||
|
||||
0.5.0 (2016-07-17)
|
||||
**Closed issues:**
|
||||
|
||||
* Removed Test Kitchen tests
|
||||
* Added Molecule tests and travis make use of them
|
||||
* Updated default version to 1.0.0 beta2
|
||||
* Feature/add extra plugins to telegrafd folder #5 (By pull request: stvnwrgs (Thanks!))
|
||||
- Failure due to apt-key when run against newer Debian/Ubuntu releases [\#169](https://github.com/dj-wasabi/ansible-telegraf/issues/169)
|
||||
|
||||
0.4.0 (2016-02-05)
|
||||
**Merged pull requests:**
|
||||
|
||||
* Fixed test for test-kitchen
|
||||
* Added travis-ci test for testing default installation when PR is made
|
||||
* Fixed Download url for Debian
|
||||
* Removed default entry for telegraf_plugins_extra
|
||||
- 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))
|
||||
- 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) ([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))
|
||||
- Migrate from io to diskio to fix deprecation warning [\#173](https://github.com/dj-wasabi/ansible-telegraf/pull/173) ([mprasil](https://github.com/mprasil))
|
||||
|
||||
0.3.0 (2016-01-13)
|
||||
## [0.14.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.14.0) (2023-01-30)
|
||||
|
||||
* Made it work with telegraf 0.10.0
|
||||
* Default installation: 0.10.0
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.13.3...0.14.0)
|
||||
|
||||
0.2.0 (2015-11-14)
|
||||
**Implemented enhancements:**
|
||||
|
||||
* Fixed kitchen test setup
|
||||
* Adding "net" to the telegraf_plugins_default property
|
||||
* Update etc-opt-telegraf-telegraf.conf.j2 #2 (By pull request: aferrari-technisys (Thanks!))
|
||||
* Improvement and upgrade for v0.2.0 of telegraf #1 (By pull request: aferrari-technisys (Thanks!))
|
||||
- Added/removed OS'es for Molecule CI testing [\#167](https://github.com/dj-wasabi/ansible-telegraf/pull/167) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Ensure check-mode works [\#163](https://github.com/dj-wasabi/ansible-telegraf/pull/163) ([pieterlexis-tomtom](https://github.com/pieterlexis-tomtom))
|
||||
- Downgrade support [\#160](https://github.com/dj-wasabi/ansible-telegraf/pull/160) ([maxnasonov](https://github.com/maxnasonov))
|
||||
|
||||
0.1.0 (2015-09-23)
|
||||
**Fixed bugs:**
|
||||
|
||||
* Updated `telegraf_agent_version` to 0.1.9
|
||||
* Added restart when package is changed (When updated for example)
|
||||
* Added several plugin options:
|
||||
* pass
|
||||
* drop
|
||||
* tagpass
|
||||
* tagdrop
|
||||
* interval
|
||||
* Updated documentation
|
||||
- Don't install init script on SUSE/openSUSE systems running systemd [\#152](https://github.com/dj-wasabi/ansible-telegraf/issues/152)
|
||||
- Fix the molecule run as part of CI process [\#166](https://github.com/dj-wasabi/ansible-telegraf/pull/166) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- update influxdata GPG key after rotation [\#165](https://github.com/dj-wasabi/ansible-telegraf/pull/165) ([Tetha](https://github.com/Tetha))
|
||||
- Fixed issues with Windows paths containing spaces [\#162](https://github.com/dj-wasabi/ansible-telegraf/pull/162) ([KlettIT](https://github.com/KlettIT))
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- Influxdata key rotation causing failure [\#164](https://github.com/dj-wasabi/ansible-telegraf/issues/164)
|
||||
- Influxdb2 output [\#158](https://github.com/dj-wasabi/ansible-telegraf/issues/158)
|
||||
|
||||
## [0.13.3](https://github.com/dj-wasabi/ansible-telegraf/tree/0.13.3) (2022-03-21)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.13.2...0.13.3)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- Adding support for aggregators [\#156](https://github.com/dj-wasabi/ansible-telegraf/pull/156) ([simo-tuomisto](https://github.com/simo-tuomisto))
|
||||
- Add support for Rocky Linux [\#147](https://github.com/dj-wasabi/ansible-telegraf/pull/147) ([maxwondercorn](https://github.com/maxwondercorn))
|
||||
- Add Windows feature of upgrade agents [\#146](https://github.com/dj-wasabi/ansible-telegraf/pull/146) ([PeterSzegedi](https://github.com/PeterSzegedi))
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Improve usage on SUSE releases [\#155](https://github.com/dj-wasabi/ansible-telegraf/pull/155) ([jeffmahoney](https://github.com/jeffmahoney))
|
||||
- Add variable for openSUSE RPM repository [\#151](https://github.com/dj-wasabi/ansible-telegraf/pull/151) ([kingphil](https://github.com/kingphil))
|
||||
- Fixed issues with Windows paths containing spaces & removed redundant "telegraf" folder in path [\#144](https://github.com/dj-wasabi/ansible-telegraf/pull/144) ([treanorjp](https://github.com/treanorjp))
|
||||
|
||||
## [0.13.2](https://github.com/dj-wasabi/ansible-telegraf/tree/0.13.2) (2021-03-05)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.13.1...0.13.2)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- Remove telegraf repository after switching to online method [\#142](https://github.com/dj-wasabi/ansible-telegraf/pull/142) ([djerfy](https://github.com/djerfy))
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Fix spacing for telegraf\_plugins\_extra example in readme.md [\#143](https://github.com/dj-wasabi/ansible-telegraf/pull/143) ([isclever](https://github.com/isclever))
|
||||
|
||||
## [0.13.1](https://github.com/dj-wasabi/ansible-telegraf/tree/0.13.1) (2021-01-06)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.13.0...0.13.1)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- Added GH Action to automatically update CHANGELOG.md [\#141](https://github.com/dj-wasabi/ansible-telegraf/pull/141) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- adjustments for Windows \>= 1.15 [\#139](https://github.com/dj-wasabi/ansible-telegraf/pull/139) ([billabongrob](https://github.com/billabongrob))
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- Newer versions of Telegraf fail on Windows [\#138](https://github.com/dj-wasabi/ansible-telegraf/issues/138)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Added property telegraf\_agent\_docker\_image\_version for using a specific version of the Docker image [\#137](https://github.com/dj-wasabi/ansible-telegraf/pull/137) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Apply ansible-lint in pre-commit hook and fix changes [\#136](https://github.com/dj-wasabi/ansible-telegraf/pull/136) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Using version as version\_compare is deprecated [\#135](https://github.com/dj-wasabi/ansible-telegraf/pull/135) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Using command instead of shell module [\#134](https://github.com/dj-wasabi/ansible-telegraf/pull/134) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
|
||||
## [0.13.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.13.0) (2020-10-16)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.12.0...0.13.0)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- Setup the system for individual plugins [\#125](https://github.com/dj-wasabi/ansible-telegraf/issues/125)
|
||||
- Logparser configuration [\#111](https://github.com/dj-wasabi/ansible-telegraf/issues/111)
|
||||
- ansible\_fqdn problematic for getting hostname [\#105](https://github.com/dj-wasabi/ansible-telegraf/issues/105)
|
||||
- FreeBSD support [\#99](https://github.com/dj-wasabi/ansible-telegraf/issues/99)
|
||||
- Proxy not taken into consideration when using 'online' [\#96](https://github.com/dj-wasabi/ansible-telegraf/issues/96)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- telegraf\_agent\_aws\_tags creates an invalid Telegraf configuration [\#128](https://github.com/dj-wasabi/ansible-telegraf/issues/128)
|
||||
- Broken on Ubuntu 20.04 [\#121](https://github.com/dj-wasabi/ansible-telegraf/issues/121)
|
||||
- Broken on RedHat [\#119](https://github.com/dj-wasabi/ansible-telegraf/issues/119)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- corrected "Example Docker configuration" to make it work by default [\#132](https://github.com/dj-wasabi/ansible-telegraf/pull/132) ([NotDead](https://github.com/NotDead))
|
||||
- Removing requirements file and use it from ci-base repo [\#131](https://github.com/dj-wasabi/ansible-telegraf/pull/131) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Going to Github Actions [\#130](https://github.com/dj-wasabi/ansible-telegraf/pull/130) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- quote aws ec2 global tags [\#129](https://github.com/dj-wasabi/ansible-telegraf/pull/129) ([Puneeth-n](https://github.com/Puneeth-n))
|
||||
- made service status configurable [\#127](https://github.com/dj-wasabi/ansible-telegraf/pull/127) ([DEvil0000](https://github.com/DEvil0000))
|
||||
- Plugin dependencies are installed and configured [\#126](https://github.com/dj-wasabi/ansible-telegraf/pull/126) ([carlba](https://github.com/carlba))
|
||||
- fix debian packagename on state latest [\#124](https://github.com/dj-wasabi/ansible-telegraf/pull/124) ([dwerder](https://github.com/dwerder))
|
||||
- MacOS support [\#123](https://github.com/dj-wasabi/ansible-telegraf/pull/123) ([carlba](https://github.com/carlba))
|
||||
- gpgkey yum repo fix [\#122](https://github.com/dj-wasabi/ansible-telegraf/pull/122) ([marcinwito](https://github.com/marcinwito))
|
||||
- Fix RedHat task list [\#120](https://github.com/dj-wasabi/ansible-telegraf/pull/120) ([rohit-gohri](https://github.com/rohit-gohri))
|
||||
- added installation method manual - skip installation [\#117](https://github.com/dj-wasabi/ansible-telegraf/pull/117) ([DEvil0000](https://github.com/DEvil0000))
|
||||
- Support postgresql\_extensible queries [\#116](https://github.com/dj-wasabi/ansible-telegraf/pull/116) ([rlex](https://github.com/rlex))
|
||||
- Added extra filtering possibilities for a plugin [\#113](https://github.com/dj-wasabi/ansible-telegraf/pull/113) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Minor changes to get Travis working again [\#112](https://github.com/dj-wasabi/ansible-telegraf/pull/112) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Download from influxdb [\#109](https://github.com/dj-wasabi/ansible-telegraf/pull/109) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Don't override package name unless "latest" [\#108](https://github.com/dj-wasabi/ansible-telegraf/pull/108) ([matttrach](https://github.com/matttrach))
|
||||
- Adding support for arm64 systems [\#106](https://github.com/dj-wasabi/ansible-telegraf/pull/106) ([remkade](https://github.com/remkade))
|
||||
- Use items\(\) instead of iteritems\(\) [\#104](https://github.com/dj-wasabi/ansible-telegraf/pull/104) ([diego1q2w](https://github.com/diego1q2w))
|
||||
- Fix: ensure apt-cache is updated before install [\#103](https://github.com/dj-wasabi/ansible-telegraf/pull/103) ([asfaltboy](https://github.com/asfaltboy))
|
||||
- on FreeBSD the telegeraf.conf is in root of /usr/local/etc. [\#102](https://github.com/dj-wasabi/ansible-telegraf/pull/102) ([langerma](https://github.com/langerma))
|
||||
- Some changes for fixing FreeBSD [\#101](https://github.com/dj-wasabi/ansible-telegraf/pull/101) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- basic FreeBSD support [\#100](https://github.com/dj-wasabi/ansible-telegraf/pull/100) ([langerma](https://github.com/langerma))
|
||||
- Added the use\_proxy argument to use a proxy \(or not\) [\#98](https://github.com/dj-wasabi/ansible-telegraf/pull/98) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
|
||||
## [0.12.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.12.0) (2019-03-12)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.11.0...0.12.0)
|
||||
|
||||
**Implemented enhancements:**
|
||||
|
||||
- Install telegraf from package file instead of repository [\#89](https://github.com/dj-wasabi/ansible-telegraf/issues/89)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- Docker container support [\#82](https://github.com/dj-wasabi/ansible-telegraf/issues/82)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Various small changes for molecule [\#97](https://github.com/dj-wasabi/ansible-telegraf/pull/97) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Add processors section in Telegraf config [\#94](https://github.com/dj-wasabi/ansible-telegraf/pull/94) ([ph4r5h4d](https://github.com/ph4r5h4d))
|
||||
- Updated to Telegraf 1.10.0;Different installation methods [\#93](https://github.com/dj-wasabi/ansible-telegraf/pull/93) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Updating Telegraf default to 1.9.5 [\#92](https://github.com/dj-wasabi/ansible-telegraf/pull/92) ([sdurrheimer](https://github.com/sdurrheimer))
|
||||
- Updating Telegraf default to 1.9.4 [\#90](https://github.com/dj-wasabi/ansible-telegraf/pull/90) ([sdurrheimer](https://github.com/sdurrheimer))
|
||||
- Docker enhancements [\#88](https://github.com/dj-wasabi/ansible-telegraf/pull/88) ([jgeusebroek](https://github.com/jgeusebroek))
|
||||
- Updating Telegraf default to 1.9.3 [\#87](https://github.com/dj-wasabi/ansible-telegraf/pull/87) ([sdurrheimer](https://github.com/sdurrheimer))
|
||||
- Added register for installation of packages [\#86](https://github.com/dj-wasabi/ansible-telegraf/pull/86) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Add Docker container support [\#85](https://github.com/dj-wasabi/ansible-telegraf/pull/85) ([jgeusebroek](https://github.com/jgeusebroek))
|
||||
- Remove legacy options [\#84](https://github.com/dj-wasabi/ansible-telegraf/pull/84) ([jgeusebroek](https://github.com/jgeusebroek))
|
||||
- Fix tagpass and tagdrop [\#83](https://github.com/dj-wasabi/ansible-telegraf/pull/83) ([jgeusebroek](https://github.com/jgeusebroek))
|
||||
- \[bug\] debian - add cache\_valid\_time [\#81](https://github.com/dj-wasabi/ansible-telegraf/pull/81) ([pad92](https://github.com/pad92))
|
||||
- Updating Telegraf default to 1.9.2 [\#80](https://github.com/dj-wasabi/ansible-telegraf/pull/80) ([sdurrheimer](https://github.com/sdurrheimer))
|
||||
- Add Yum repo support for Amazon Linux [\#79](https://github.com/dj-wasabi/ansible-telegraf/pull/79) ([anthonysr](https://github.com/anthonysr))
|
||||
- Fix to work with Fedora Linux [\#78](https://github.com/dj-wasabi/ansible-telegraf/pull/78) ([ikke-t](https://github.com/ikke-t))
|
||||
- Updating to newer version of Telegraf [\#77](https://github.com/dj-wasabi/ansible-telegraf/pull/77) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Add support for extra win\_perf\_counters and prevent python u'' strings [\#76](https://github.com/dj-wasabi/ansible-telegraf/pull/76) ([jdivy](https://github.com/jdivy))
|
||||
|
||||
## [0.11.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.11.0) (2018-12-11)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.10.0...0.11.0)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- No telegraf\_plugin\_extra info is added to plugins [\#71](https://github.com/dj-wasabi/ansible-telegraf/issues/71)
|
||||
- Daemon crash because of empty config.conf and plugin.conf files. [\#63](https://github.com/dj-wasabi/ansible-telegraf/issues/63)
|
||||
- Pin telegraf to {present, latest, specific-version} [\#59](https://github.com/dj-wasabi/ansible-telegraf/issues/59)
|
||||
- Ability to add multiple times the same extra-plugin [\#57](https://github.com/dj-wasabi/ansible-telegraf/issues/57)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Renamed the tojson to to\_json [\#74](https://github.com/dj-wasabi/ansible-telegraf/pull/74) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- A few enhancements and fixes to windows support [\#73](https://github.com/dj-wasabi/ansible-telegraf/pull/73) ([jdivy](https://github.com/jdivy))
|
||||
- Replace 'ec2\_facts' with 'ec2\_metadata\_facts' to fix a deprecation warning [\#72](https://github.com/dj-wasabi/ansible-telegraf/pull/72) ([Rylon](https://github.com/Rylon))
|
||||
- Added default pluging if nothing is configured [\#70](https://github.com/dj-wasabi/ansible-telegraf/pull/70) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Added support for \(Open\)Suse [\#69](https://github.com/dj-wasabi/ansible-telegraf/pull/69) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Added Windows as OS [\#68](https://github.com/dj-wasabi/ansible-telegraf/pull/68) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Want to use latest [\#67](https://github.com/dj-wasabi/ansible-telegraf/pull/67) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Some small improvements [\#66](https://github.com/dj-wasabi/ansible-telegraf/pull/66) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- telegraf-extra-plugin.conf.j2: fix template typo [\#65](https://github.com/dj-wasabi/ansible-telegraf/pull/65) ([gaelL](https://github.com/gaelL))
|
||||
- Using base ci requirements.txt [\#64](https://github.com/dj-wasabi/ansible-telegraf/pull/64) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Wen copying/removing plugins show only plugin name [\#62](https://github.com/dj-wasabi/ansible-telegraf/pull/62) ([mprasil](https://github.com/mprasil))
|
||||
- Pin apt key ID [\#61](https://github.com/dj-wasabi/ansible-telegraf/pull/61) ([tszym](https://github.com/tszym))
|
||||
- Added support for plugins being managed exclusively by this playbook [\#60](https://github.com/dj-wasabi/ansible-telegraf/pull/60) ([gaizeror](https://github.com/gaizeror))
|
||||
|
||||
## [0.10.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.10.0) (2018-08-12)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.9.0...0.10.0)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- Package changed namespace and broke our Tower instance [\#56](https://github.com/dj-wasabi/ansible-telegraf/issues/56)
|
||||
- PR \#46 break telegraf "Multiple inputs of the same type" [\#48](https://github.com/dj-wasabi/ansible-telegraf/issues/48)
|
||||
- telegraf\_plugins\_extra is override when multiple call [\#30](https://github.com/dj-wasabi/ansible-telegraf/issues/30)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updating to Telegraf 1.7.3;Updating changelog [\#58](https://github.com/dj-wasabi/ansible-telegraf/pull/58) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Added bunch of files [\#55](https://github.com/dj-wasabi/ansible-telegraf/pull/55) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Fix Deprecation warnings [\#54](https://github.com/dj-wasabi/ansible-telegraf/pull/54) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Changed 'include' to 'include\_tasks' to remove deprecation warning [\#53](https://github.com/dj-wasabi/ansible-telegraf/pull/53) ([tjend](https://github.com/tjend))
|
||||
- Add option to remove extra plugin config files [\#52](https://github.com/dj-wasabi/ansible-telegraf/pull/52) ([tjend](https://github.com/tjend))
|
||||
- Plugins extra hash allow multiple inputs same type [\#50](https://github.com/dj-wasabi/ansible-telegraf/pull/50) ([tjend](https://github.com/tjend))
|
||||
- Update to 2.4;Using specific versions of libraries [\#49](https://github.com/dj-wasabi/ansible-telegraf/pull/49) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
|
||||
## [0.9.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.9.0) (2018-05-06)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.8.0...0.9.0)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- Cannot call plugin multiple times anymore [\#39](https://github.com/dj-wasabi/ansible-telegraf/issues/39)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updating to 0.9.0 [\#47](https://github.com/dj-wasabi/ansible-telegraf/pull/47) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Convert the telegraf\_plugins\_extra varaible to a hash so that we can … [\#46](https://github.com/dj-wasabi/ansible-telegraf/pull/46) ([tjend](https://github.com/tjend))
|
||||
- Improved comments, split up role, moved tags and added defaults [\#45](https://github.com/dj-wasabi/ansible-telegraf/pull/45) ([boxrick](https://github.com/boxrick))
|
||||
- Allow to override RedHat release version [\#43](https://github.com/dj-wasabi/ansible-telegraf/pull/43) ([tszym](https://github.com/tszym))
|
||||
- Fix Travis Tests [\#42](https://github.com/dj-wasabi/ansible-telegraf/pull/42) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Fix markdown [\#41](https://github.com/dj-wasabi/ansible-telegraf/pull/41) ([angristan](https://github.com/angristan))
|
||||
- plugins: be able to specify the filename of extra plugings [\#40](https://github.com/dj-wasabi/ansible-telegraf/pull/40) ([gaelL](https://github.com/gaelL))
|
||||
- tags: give an option to use AWS tags as telegraf tags [\#32](https://github.com/dj-wasabi/ansible-telegraf/pull/32) ([gaelL](https://github.com/gaelL))
|
||||
|
||||
## [0.8.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.8.0) (2017-10-30)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.7.0...0.8.0)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- PIP dependencies conflicting with native yum packages [\#28](https://github.com/dj-wasabi/ansible-telegraf/issues/28)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Use telegra\_global\_tags for oldest telegraf versions [\#38](https://github.com/dj-wasabi/ansible-telegraf/pull/38) ([tszym](https://github.com/tszym))
|
||||
- Fix extra plugins by file / Change apt source filename / Change tags by global\_tags [\#37](https://github.com/dj-wasabi/ansible-telegraf/pull/37) ([aarnaud](https://github.com/aarnaud))
|
||||
- Remove useless packages on RedHat. fix \#28 [\#36](https://github.com/dj-wasabi/ansible-telegraf/pull/36) ([tszym](https://github.com/tszym))
|
||||
- Test if LSB codename exists before using it [\#35](https://github.com/dj-wasabi/ansible-telegraf/pull/35) ([tszym](https://github.com/tszym))
|
||||
- Updating to Molecule V2 [\#31](https://github.com/dj-wasabi/ansible-telegraf/pull/31) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
|
||||
## [0.7.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.7.0) (2017-02-23)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.6.0...0.7.0)
|
||||
|
||||
**Fixed bugs:**
|
||||
|
||||
- multiple plugins in telegraf\_plugins\_extra are duplicated [\#22](https://github.com/dj-wasabi/ansible-telegraf/issues/22)
|
||||
- Deleting extra plugins doesn't delete them [\#8](https://github.com/dj-wasabi/ansible-telegraf/issues/8)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Updating to release 0.7.0 [\#27](https://github.com/dj-wasabi/ansible-telegraf/pull/27) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Replace action by modules [\#26](https://github.com/dj-wasabi/ansible-telegraf/pull/26) ([tszym](https://github.com/tszym))
|
||||
- Use yum repository to install telegraf on RedHat [\#25](https://github.com/dj-wasabi/ansible-telegraf/pull/25) ([tszym](https://github.com/tszym))
|
||||
- Remove for-loop in extra-plugin template [\#24](https://github.com/dj-wasabi/ansible-telegraf/pull/24) ([emersondispatch](https://github.com/emersondispatch))
|
||||
- Update Debian.yml [\#23](https://github.com/dj-wasabi/ansible-telegraf/pull/23) ([zend0](https://github.com/zend0))
|
||||
- extra plugins tags [\#21](https://github.com/dj-wasabi/ansible-telegraf/pull/21) ([oboukili](https://github.com/oboukili))
|
||||
- Input tags support [\#20](https://github.com/dj-wasabi/ansible-telegraf/pull/20) ([szibis](https://github.com/szibis))
|
||||
- Fix telegraf confguration permissions [\#19](https://github.com/dj-wasabi/ansible-telegraf/pull/19) ([szibis](https://github.com/szibis))
|
||||
|
||||
## [0.6.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.6.0) (2017-01-02)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.5.1...0.6.0)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- update the README with the latest v0.13 - v1.1 agent settings [\#17](https://github.com/dj-wasabi/ansible-telegraf/pull/17) ([lhoss](https://github.com/lhoss))
|
||||
- support missing agent settings upto telegraf v1.1 [\#16](https://github.com/dj-wasabi/ansible-telegraf/pull/16) ([lhoss](https://github.com/lhoss))
|
||||
- Fixing molecule [\#15](https://github.com/dj-wasabi/ansible-telegraf/pull/15) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- use version\_compare filter … [\#14](https://github.com/dj-wasabi/ansible-telegraf/pull/14) ([lhoss](https://github.com/lhoss))
|
||||
- set telegraf hostname in defaults. [\#13](https://github.com/dj-wasabi/ansible-telegraf/pull/13) ([airbe](https://github.com/airbe))
|
||||
- Removed imports [\#12](https://github.com/dj-wasabi/ansible-telegraf/pull/12) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
- Fix the Influxdb repo for "hybrid" debian distros \(like "jessie/sid"\) [\#11](https://github.com/dj-wasabi/ansible-telegraf/pull/11) ([Ismael](https://github.com/Ismael))
|
||||
- Do "become" for the steps that require root access on Debian [\#10](https://github.com/dj-wasabi/ansible-telegraf/pull/10) ([Ismael](https://github.com/Ismael))
|
||||
- Added new code for correct molecule verification [\#7](https://github.com/dj-wasabi/ansible-telegraf/pull/7) ([dj-wasabi](https://github.com/dj-wasabi))
|
||||
|
||||
## [0.5.1](https://github.com/dj-wasabi/ansible-telegraf/tree/0.5.1) (2016-08-24)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.5.0...0.5.1)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- fixed issue with ansible not getting the package [\#6](https://github.com/dj-wasabi/ansible-telegraf/pull/6) ([thecodeassassin](https://github.com/thecodeassassin))
|
||||
|
||||
## [0.5.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.5.0) (2016-07-17)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.4.0...0.5.0)
|
||||
|
||||
**Closed issues:**
|
||||
|
||||
- A new Release for the .deb package url change [\#3](https://github.com/dj-wasabi/ansible-telegraf/issues/3)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Feature/add extra plugins to telegrafd folder [\#5](https://github.com/dj-wasabi/ansible-telegraf/pull/5) ([stvnwrgs](https://github.com/stvnwrgs))
|
||||
|
||||
## [0.4.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.4.0) (2016-02-05)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.3.0...0.4.0)
|
||||
|
||||
## [0.3.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.3.0) (2016-01-13)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.2.0...0.3.0)
|
||||
|
||||
## [0.2.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.2.0) (2015-11-14)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.1.0...0.2.0)
|
||||
|
||||
**Merged pull requests:**
|
||||
|
||||
- Update etc-opt-telegraf-telegraf.conf.j2 [\#2](https://github.com/dj-wasabi/ansible-telegraf/pull/2) ([aferrari-technisys](https://github.com/aferrari-technisys))
|
||||
- Improvement and upgrade for v0.2.0 of telegraf [\#1](https://github.com/dj-wasabi/ansible-telegraf/pull/1) ([aferrari-technisys](https://github.com/aferrari-technisys))
|
||||
|
||||
## [0.1.0](https://github.com/dj-wasabi/ansible-telegraf/tree/0.1.0) (2015-09-23)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.0.2...0.1.0)
|
||||
|
||||
## [0.0.2](https://github.com/dj-wasabi/ansible-telegraf/tree/0.0.2) (2015-09-20)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/0.0.1...0.0.2)
|
||||
|
||||
## [0.0.1](https://github.com/dj-wasabi/ansible-telegraf/tree/0.0.1) (2015-09-20)
|
||||
|
||||
[Full Changelog](https://github.com/dj-wasabi/ansible-telegraf/compare/03adb259af33123c917cdc960d23aeee07e01fef...0.0.1)
|
||||
|
||||
|
||||
0.0.2 (2015-09-20)
|
||||
|
||||
* Updated README dus to missing colon
|
||||
* Forgot to update the meta file
|
||||
* Added Changelog file
|
||||
|
||||
0.0.1 (2015-09-20)
|
||||
|
||||
* Initial release
|
||||
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
||||
|
@ -44,13 +44,14 @@ Style guides are important because they ensure consistency in the content, look,
|
||||
|
||||
## (local) Development
|
||||
|
||||
This role make use of Molecule to test the execution of the role and verificate it. In the root of the repository, a file named `requirements.txt` exists and contains the versions used by the tests.
|
||||
This role make use of Molecule to test the execution of the role and verificate it. In the repository https://github.com/dj-wasabi/dj-wasabi-release, a file named `requirements.txt` exists and contains the versions used by the tests.
|
||||
|
||||
### Requirements
|
||||
|
||||
You can install them with the following command:
|
||||
|
||||
```
|
||||
wget https://raw.githubusercontent.com/dj-wasabi/dj-wasabi-release/main/requirements.txt
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
@ -67,6 +68,10 @@ It should run without any issues.
|
||||
|
||||
# Other
|
||||
|
||||
## pre-commit
|
||||
|
||||
This repository contains a pre-commit hook. This means that when you want to commit the changes, 1 or more tests are executed to validate the changes. Please take a look at how to install the `pre-commit` package from the official [site](https://pre-commit.com/). Also make sure to install `ansible-lint` via `pip install ansible-lint` as this is 1 of the tools that is executed while a pre-commit hooks runs.
|
||||
|
||||
## Virtualenv
|
||||
|
||||
Suggestion is to create a virtualenv so you won't have issues with other projects.
|
||||
|
64
CONTRIBUTORS
Normal file
64
CONTRIBUTORS
Normal file
@ -0,0 +1,64 @@
|
||||
A. Binzxxxxxx
|
||||
Alejandro
|
||||
Angristan
|
||||
Anthony ARNAUD
|
||||
Carl Bäckström
|
||||
DEvil0000
|
||||
DJΞRFY
|
||||
Dan Clough
|
||||
Daniel Werdermann
|
||||
Diego Nava
|
||||
Emerson Knapp
|
||||
Farshad Nematdoust
|
||||
Frank Villaro-Dixon
|
||||
Greg
|
||||
Harald Kraemer
|
||||
Heckel, Robert J
|
||||
Ilkka Tengvall
|
||||
Ismael
|
||||
Jack Ivy
|
||||
Jeff Mahoney
|
||||
Jeroen Geusebroek
|
||||
Klett IT
|
||||
Kyle
|
||||
Laurent Hoss
|
||||
Lex Rivera
|
||||
Marcin Wito
|
||||
Markus Langer
|
||||
Matt
|
||||
Max Nasonov
|
||||
Michał Lisowski
|
||||
Mira
|
||||
Miro Prasil
|
||||
Miroslav Prasil
|
||||
NotDead
|
||||
Olivier Boukili
|
||||
Pascal
|
||||
Pavel Savchenko
|
||||
PeterSzegedi
|
||||
Pieter Lexis (TomTom)
|
||||
Puneeth Nanjundaswamy
|
||||
Rick Box
|
||||
Rohit Gohri
|
||||
Romain BUREAU
|
||||
Ryan Conway
|
||||
Simo Tuomisto
|
||||
Simon
|
||||
Slawomir Skowron
|
||||
Steve Durrheimer
|
||||
Steven Wirges
|
||||
TheCodeAssassin
|
||||
Thomas Szymanski
|
||||
ThorstenHeck
|
||||
Troy Jendra
|
||||
Vinicius Freitas
|
||||
Werner Dijkerman
|
||||
Werner Dijkerman [GH bot]
|
||||
aroglian
|
||||
dependabot[bot]
|
||||
gaelL
|
||||
kingphil
|
||||
maxwondercorn
|
||||
or
|
||||
treanorjp
|
||||
zend0
|
68
README.md
68
README.md
@ -26,7 +26,6 @@
|
||||
+ [telegraf_plugins_extra](#telegraf-plugins-extra)
|
||||
* [Dependencies](#dependencies)
|
||||
* [Example Playbook](#example-playbook)
|
||||
* [Contributors](#contributors)
|
||||
* [Molecule](#molecule)
|
||||
* [License](#license)
|
||||
* [Author Information](#author-information)
|
||||
@ -56,6 +55,7 @@ This role supports the following systems:
|
||||
* (Open)Suse
|
||||
* Windows (Best effort)
|
||||
* FreeBSD (Best effort)
|
||||
* Archlinux (only "online" mode)
|
||||
|
||||
So, you'll need one of those systems.. :-)
|
||||
Please sent Pull Requests or suggestions when you want to use this role for other systems.
|
||||
@ -86,7 +86,7 @@ There was an issue:
|
||||
|
||||
Specifying the version to be installed:
|
||||
|
||||
* `telegraf_agent_version`: The version of Telegraf to install. Default: `1.10.0`
|
||||
* `telegraf_agent_version`: The version of Telegraf to install. If `telegraf_agent_package_state` is set to `latest`, then this property and value is ignored. Default: `1.10.0`
|
||||
|
||||
How `Telegraf` needs to be installed. There are 4 methods in getting `Telegraf` installed on the target host:
|
||||
|
||||
@ -119,6 +119,7 @@ These properties set in how and what package will be installed.
|
||||
* `telegraf_agent_metric_buffer_limit`: The agent metric buffer limit. Default: 10000 (since v0.13)
|
||||
* `telegraf_agent_quiet`: Run Telegraf in quiet mode (error messages only). Default: `False` (since v0.13)
|
||||
* `telegraf_agent_logfile`: The agent logfile name. Default: '' (means to log to stdout) (since v1.1)
|
||||
* `telegraf_agent_hostname`: The agent hostname. Default: `ansible_fqdn`
|
||||
* `telegraf_agent_omit_hostname`: Do no set the "host" tag in the agent. Default: `False` (since v1.1)
|
||||
|
||||
### Docker specific role variables:
|
||||
@ -127,6 +128,7 @@ These properties set in how and what package will be installed.
|
||||
* `telegraf_agent_docker_name`: Name of the docker container. Default: `telegraf`
|
||||
* `telegraf_agent_docker_network_mode`: Networking mode of the docker container. Default: `bridge`
|
||||
* `telegraf_agent_docker_restart_policy`: Docker container restart policy. Default: `unless-stopped`
|
||||
* `telegraf_agent_docker_image_version`: The version of the Docker Telegraf image to be used. Default the value contains the value given for `telegraf_agent_version`. Can be set to `latest` to get the actual `latest` tag for the provided Docker image.
|
||||
* `telegraf_uid_docker`: Override user id. Default: `995`
|
||||
* `telegraf_gid_docker`: Override group id. Default: `998`
|
||||
|
||||
@ -232,6 +234,10 @@ _Supporting Windows is an best effort (I don't have the possibility to either te
|
||||
* `telegraf_win_logfile`: The location to the logfile of Telegraf.
|
||||
* `telegraf_win_include`: The directory that will contain all plugin configuration.
|
||||
|
||||
## openSUSE specific Variables
|
||||
|
||||
* `telegraf_zypper_baseurl`: The URL to the openSUSE repository that hosts Telegraf (for example, for openSUSE Leap: "http://download.opensuse.org/repositories/devel:/languages:/go/openSUSE_Leap_{{ ansible_distribution_version }}/"). If this is unspecified, a default repository will be used.
|
||||
|
||||
## MacOS specific Variables
|
||||
|
||||
**NOTE**
|
||||
@ -284,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.
|
||||
* `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)
|
||||
* `sub_inputs`: If the input requires other sub inputs, you can add them here (see example below).
|
||||
|
||||
An example might look like this:
|
||||
|
||||
@ -320,6 +327,30 @@ When you want to make use of the `grok` filter for the logparser:
|
||||
config:
|
||||
- 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
|
||||
|
||||
No dependencies
|
||||
@ -330,39 +361,6 @@ No dependencies
|
||||
roles:
|
||||
- { role: dj-wasabi.telegraf }
|
||||
|
||||
## Contributors
|
||||
|
||||
The following have contributed to this Ansible role (Provided with: `git shortlog -s -n`):
|
||||
|
||||
* Werner Dijkerman
|
||||
* Thomas Szymanski
|
||||
* Jeroen Geusebroek
|
||||
* or
|
||||
* Alejandro
|
||||
* Troy Jendra
|
||||
* Slawomir Skowron
|
||||
* gaelL
|
||||
* Laurent Hoss
|
||||
* Ismael
|
||||
* Anthony ARNAUD
|
||||
* Ilkka Tengvall
|
||||
* Rick Box
|
||||
* Steven Wirges
|
||||
* Jack Ivy
|
||||
* Emerson Knapp
|
||||
* zend0
|
||||
* Angristan
|
||||
* Miroslav Prasil
|
||||
* Olivier Boukili
|
||||
* Pascal
|
||||
* Romain BUREAU
|
||||
* Ryan Conway
|
||||
* Steve Durrheimer
|
||||
* TheCodeAssassin
|
||||
* aroglian
|
||||
|
||||
Thank you all!
|
||||
|
||||
## Molecule
|
||||
|
||||
This roles is configured to be tested with Molecule. You can find on this page some more information regarding Molecule: https://werner-dijkerman.nl/2016/07/10/testing-ansible-roles-with-molecule-testinfra-and-docker/
|
||||
|
@ -2,7 +2,7 @@
|
||||
telegraf_enabled: True
|
||||
# defaults file for ansible-telegraf
|
||||
|
||||
telegraf_agent_version: 1.10.0
|
||||
telegraf_agent_version: 1.32.3
|
||||
telegraf_agent_version_patch: 1
|
||||
telegraf_agent_package: telegraf
|
||||
telegraf_agent_package_file_deb: telegraf_{{ telegraf_agent_version }}-{{ telegraf_agent_version_patch }}_{{ telegraf_agent_package_arch }}.deb
|
||||
@ -19,6 +19,7 @@ telegraf_agent_flush_jitter: 0
|
||||
telegraf_agent_aws_tags: False
|
||||
telegraf_agent_aws_tags_prefix: ""
|
||||
telegraf_agent_config_path: /etc/telegraf
|
||||
telegraf_win_logfile_rotation_max_archives: 3
|
||||
|
||||
# Docker specific settings
|
||||
telegraf_uid_docker: 998
|
||||
@ -27,6 +28,7 @@ telegraf_agent_docker: False
|
||||
telegraf_agent_docker_name: telegraf
|
||||
telegraf_agent_docker_network_mode: bridge
|
||||
telegraf_agent_docker_restart_policy: unless-stopped
|
||||
telegraf_agent_docker_image_version: "{{ telegraf_agent_version }}"
|
||||
|
||||
# v0.13 settings (not sure if supported in older version):
|
||||
telegraf_agent_collection_jitter: 0
|
||||
@ -53,7 +55,7 @@ telegraf_plugins_default:
|
||||
config:
|
||||
- percpu = true
|
||||
- plugin: disk
|
||||
- plugin: io
|
||||
- plugin: diskio
|
||||
- plugin: mem
|
||||
- plugin: net
|
||||
- plugin: system
|
||||
@ -74,15 +76,22 @@ telegraf_yum_baseurl:
|
||||
centos: "https://repos.influxdata.com/rhel/{{ 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"
|
||||
telegraf_yum_gpgkey: "https://repos.influxdata.com/influxdb.key"
|
||||
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_zypper_repos:
|
||||
"opensuse tumbleweed": "http://download.opensuse.org/repositories/devel:/languages:/go/openSUSE_Factory/"
|
||||
"default": "http://download.opensuse.org/repositories/devel:/languages:/go/openSUSE_Factory/"
|
||||
"sles": "http://download.opensuse.org/repositories/devel:/languages:/go/SLE_{{ ansible_distribution_major_version }}_SP{{ ansible_distribution_release }}/"
|
||||
"opensuse leap": "http://download.opensuse.org/repositories/devel:/languages:/go/openSUSE_Leap_{{ ansible_distribution_version }}/"
|
||||
|
||||
telegraf_win_install_dir: 'C:\Telegraf'
|
||||
telegraf_win_logfile: 'C:\\Telegraf\\telegraf.log'
|
||||
telegraf_win_include: 'C:\Telegraf\telegraf_agent.d'
|
||||
telegraf_win_service_args:
|
||||
- -service install
|
||||
- -config {{ telegraf_win_install_dir }}\telegraf\telegraf.conf
|
||||
- --config-directory {{ telegraf_win_include }}
|
||||
|
||||
- '-config "{{ telegraf_win_install_dir }}\telegraf.conf"'
|
||||
- '--config-directory "{{ telegraf_win_include }}"'
|
||||
telegraf_mac_user: user
|
||||
telegraf_mac_group: admin
|
||||
|
@ -1,212 +0,0 @@
|
||||
#! /usr/bin/env bash
|
||||
|
||||
# chkconfig: 2345 99 01
|
||||
# description: Telegraf daemon
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: telegraf
|
||||
# Required-Start: $all
|
||||
# Required-Stop: $remote_fs $syslog
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Start telegraf at boot time
|
||||
### END INIT INFO
|
||||
|
||||
# this init script supports three different variations:
|
||||
# 1. New lsb that define start-stop-daemon
|
||||
# 2. Old lsb that don't have start-stop-daemon but define, log, pidofproc and killproc
|
||||
# 3. Centos installations without lsb-core installed
|
||||
#
|
||||
# In the third case we have to define our own functions which are very dumb
|
||||
# and expect the args to be positioned correctly.
|
||||
|
||||
# Command-line options that can be set in /etc/default/telegraf. These will override
|
||||
# any config file values.
|
||||
TELEGRAF_OPTS=
|
||||
|
||||
USER=telegraf
|
||||
GROUP=telegraf
|
||||
|
||||
if [ -r /lib/lsb/init-functions ]; then
|
||||
source /lib/lsb/init-functions
|
||||
fi
|
||||
|
||||
DEFAULT=/etc/default/telegraf
|
||||
|
||||
if [ -r $DEFAULT ]; then
|
||||
set -o allexport
|
||||
source $DEFAULT
|
||||
set +o allexport
|
||||
fi
|
||||
|
||||
if [ -z "$STDOUT" ]; then
|
||||
STDOUT=/dev/null
|
||||
fi
|
||||
if [ ! -f "$STDOUT" ]; then
|
||||
mkdir -p `dirname $STDOUT`
|
||||
fi
|
||||
|
||||
if [ -z "$STDERR" ]; then
|
||||
STDERR=/var/log/telegraf/telegraf.log
|
||||
fi
|
||||
if [ ! -f "$STDERR" ]; then
|
||||
mkdir -p `dirname $STDERR`
|
||||
fi
|
||||
|
||||
OPEN_FILE_LIMIT=65536
|
||||
|
||||
function pidofproc() {
|
||||
if [ $# -ne 3 ]; then
|
||||
echo "Expected three arguments, e.g. $0 -p pidfile daemon-name"
|
||||
fi
|
||||
|
||||
if [ ! -f "$2" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
local pidfile=`cat $2`
|
||||
|
||||
if [ "x$pidfile" == "x" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ps --pid "$pidfile" | grep -q $(basename $3); then
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
function killproc() {
|
||||
if [ $# -ne 3 ]; then
|
||||
echo "Expected three arguments, e.g. $0 -p pidfile signal"
|
||||
fi
|
||||
|
||||
pid=`cat $2`
|
||||
|
||||
kill -s $3 $pid
|
||||
}
|
||||
|
||||
function log_failure_msg() {
|
||||
echo "$@" "[ FAILED ]"
|
||||
}
|
||||
|
||||
function log_success_msg() {
|
||||
echo "$@" "[ OK ]"
|
||||
}
|
||||
|
||||
# Process name ( For display )
|
||||
name=telegraf
|
||||
|
||||
# Daemon name, where is the actual executable
|
||||
daemon=/usr/bin/telegraf
|
||||
|
||||
# pid file for the daemon
|
||||
pidfile=/var/run/telegraf/telegraf.pid
|
||||
piddir=`dirname $pidfile`
|
||||
|
||||
if [ ! -d "$piddir" ]; then
|
||||
mkdir -p $piddir
|
||||
chown $USER:$GROUP $piddir
|
||||
fi
|
||||
|
||||
# Configuration file
|
||||
config=/etc/telegraf/telegraf.conf
|
||||
confdir=/etc/telegraf/telegraf.d
|
||||
|
||||
# If the daemon is not there, then exit.
|
||||
[ -x $daemon ] || exit 5
|
||||
|
||||
case $1 in
|
||||
start)
|
||||
# Checked the PID file exists and check the actual status of process
|
||||
if [ -e $pidfile ]; then
|
||||
pidofproc -p $pidfile $daemon > /dev/null 2>&1 && status="0" || status="$?"
|
||||
# If the status is SUCCESS then don't need to start again.
|
||||
if [ "x$status" = "x0" ]; then
|
||||
log_failure_msg "$name process is running"
|
||||
exit 0 # Exit
|
||||
fi
|
||||
fi
|
||||
|
||||
# Bump the file limits, before launching the daemon. These will carry over to
|
||||
# launched processes.
|
||||
ulimit -n $OPEN_FILE_LIMIT
|
||||
if [ $? -ne 0 ]; then
|
||||
log_failure_msg "set open file limit to $OPEN_FILE_LIMIT"
|
||||
fi
|
||||
|
||||
log_success_msg "Starting the process" "$name"
|
||||
if command -v startproc >/dev/null; then
|
||||
startproc -u "$USER" -g "$GROUP" -p "$pidfile" -q -- "$daemon" -pidfile "$pidfile" -config "$config" -config-directory "$confdir" $TELEGRAF_OPTS
|
||||
elif which start-stop-daemon > /dev/null 2>&1; then
|
||||
start-stop-daemon --chuid $USER:$GROUP --start --quiet --pidfile $pidfile --exec $daemon -- -pidfile $pidfile -config $config -config-directory $confdir $TELEGRAF_OPTS >>$STDOUT 2>>$STDERR &
|
||||
else
|
||||
su -s /bin/sh -c "nohup $daemon -pidfile $pidfile -config $config -config-directory $confdir $TELEGRAF_OPTS >>$STDOUT 2>>$STDERR &" $USER
|
||||
fi
|
||||
log_success_msg "$name process was started"
|
||||
;;
|
||||
|
||||
stop)
|
||||
# Stop the daemon.
|
||||
if [ -e $pidfile ]; then
|
||||
pidofproc -p $pidfile $daemon > /dev/null 2>&1 && status="0" || status="$?"
|
||||
if [ "$status" = 0 ]; then
|
||||
if killproc -p $pidfile SIGTERM && /bin/rm -rf $pidfile; then
|
||||
log_success_msg "$name process was stopped"
|
||||
else
|
||||
log_failure_msg "$name failed to stop service"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
log_failure_msg "$name process is not running"
|
||||
fi
|
||||
;;
|
||||
|
||||
reload)
|
||||
# Reload the daemon.
|
||||
if [ -e $pidfile ]; then
|
||||
pidofproc -p $pidfile $daemon > /dev/null 2>&1 && status="0" || status="$?"
|
||||
if [ "$status" = 0 ]; then
|
||||
if killproc -p $pidfile SIGHUP; then
|
||||
log_success_msg "$name process was reloaded"
|
||||
else
|
||||
log_failure_msg "$name failed to reload service"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
log_failure_msg "$name process is not running"
|
||||
fi
|
||||
;;
|
||||
|
||||
restart)
|
||||
# Restart the daemon.
|
||||
$0 stop && sleep 2 && $0 start
|
||||
;;
|
||||
|
||||
status)
|
||||
# Check the status of the process.
|
||||
if [ -e $pidfile ]; then
|
||||
if pidofproc -p $pidfile $daemon > /dev/null; then
|
||||
log_success_msg "$name Process is running"
|
||||
exit 0
|
||||
else
|
||||
log_failure_msg "$name Process is not running"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
log_failure_msg "$name Process is not running"
|
||||
exit 3
|
||||
fi
|
||||
;;
|
||||
|
||||
version)
|
||||
$daemon version
|
||||
;;
|
||||
|
||||
*)
|
||||
# For invalid arguments, print the usage message.
|
||||
echo "Usage: $0 {start|stop|restart|status|version}"
|
||||
exit 2
|
||||
;;
|
||||
esac
|
@ -5,21 +5,25 @@
|
||||
service:
|
||||
name: telegraf
|
||||
state: restarted
|
||||
enabled: yes
|
||||
enabled: true
|
||||
when: not telegraf_agent_docker
|
||||
become: yes
|
||||
become: true
|
||||
ignore_errors: "{{ ansible_check_mode }}"
|
||||
|
||||
- name: "Restart Telegraf container"
|
||||
docker_container:
|
||||
name: "{{ telegraf_agent_docker_name }}"
|
||||
restart: True
|
||||
when: telegraf_agent_docker
|
||||
ignore_errors: "{{ ansible_check_mode }}"
|
||||
|
||||
- name: "Restart Windows Telegraf"
|
||||
win_service:
|
||||
name: Telegraf
|
||||
start_mode: auto
|
||||
state: restarted
|
||||
ignore_errors: "{{ ansible_check_mode }}"
|
||||
|
||||
- name: "Restart MacOS Telegraf"
|
||||
shell: brew services restart telegraf
|
||||
command: brew services restart telegraf
|
||||
ignore_errors: "{{ ansible_check_mode }}"
|
||||
|
@ -4,6 +4,7 @@ dependency:
|
||||
driver:
|
||||
name: docker
|
||||
|
||||
role_name_check: 1
|
||||
platforms:
|
||||
- name: influxdb
|
||||
image: influxdb:1.7-alpine
|
||||
@ -19,10 +20,11 @@ platforms:
|
||||
command: ${MY_MOLECULE_DOCKER_COMMAND:-""}
|
||||
privileged: True
|
||||
pre_build_image: True
|
||||
cgroupns_mode: host
|
||||
networks:
|
||||
- name: telegraf
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
||||
groups:
|
||||
- telegraf
|
||||
|
||||
@ -52,10 +54,15 @@ provisioner:
|
||||
name: grok
|
||||
config:
|
||||
- patterns = ["invoked oom-killer"]
|
||||
telegraf_aggregators:
|
||||
- aggregator: basicstats
|
||||
config:
|
||||
- drop_original = false
|
||||
- stats = ['mean']
|
||||
tagpass:
|
||||
- cpu = ["cpu-total"]
|
||||
|
||||
scenario:
|
||||
name: default
|
||||
verifier:
|
||||
name: testinfra
|
||||
lint:
|
||||
name: flake8
|
||||
|
@ -10,13 +10,20 @@
|
||||
- ansible_os_family == 'RedHat'
|
||||
|
||||
- name: "Apt get update"
|
||||
shell: apt-get update && apt-get install -y python-apt
|
||||
shell: apt-get update
|
||||
when:
|
||||
- ansible_os_family == 'Debian'
|
||||
|
||||
- name: debug
|
||||
debug:
|
||||
var: ansible_distribution_major_version
|
||||
- name: "Installing packages on Debian"
|
||||
apt:
|
||||
name:
|
||||
- wget
|
||||
- "{{ 'gnupg-agent' if ansible_distribution_major_version in ['8', '18', '16'] else 'gpg-agent' }}"
|
||||
update_cache: True
|
||||
state: present
|
||||
when:
|
||||
- ansible_os_family == 'Debian'
|
||||
- ansible_distribution_major_version not in [9, 10]
|
||||
|
||||
- name: "Installing packages on Debian"
|
||||
apt:
|
||||
@ -28,12 +35,11 @@
|
||||
state: present
|
||||
when:
|
||||
- ansible_os_family == 'Debian'
|
||||
- ansible_distribution_major_version in [9, 10]
|
||||
|
||||
- name: "Installing packages on Suse"
|
||||
zypper:
|
||||
name:
|
||||
- sysvinit-tools
|
||||
- insserv-compat
|
||||
- aaa_base
|
||||
state: present
|
||||
when:
|
||||
|
@ -24,6 +24,7 @@ def test_telegraf_dot_conf(host):
|
||||
assert telegraf.contains('[[outputs.influxdb]]')
|
||||
assert telegraf.contains('["http://influxdb:8086"]')
|
||||
assert telegraf.contains('[[inputs.net]]')
|
||||
assert telegraf.contains('[[aggregators.basicstats]]')
|
||||
|
||||
|
||||
def test_telegraf_dot_d_dir(host):
|
||||
|
4
molecule/empty-checkmode/converge.yml
Normal file
4
molecule/empty-checkmode/converge.yml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
- hosts: telegraf
|
||||
roles:
|
||||
- role: ansible-telegraf
|
70
molecule/empty-checkmode/molecule.yml
Normal file
70
molecule/empty-checkmode/molecule.yml
Normal file
@ -0,0 +1,70 @@
|
||||
---
|
||||
dependency:
|
||||
name: galaxy
|
||||
driver:
|
||||
name: docker
|
||||
|
||||
role_name_check: 1
|
||||
platforms:
|
||||
- name: telegraf-${MY_MOLECULE_CONTAINER:-centos8}
|
||||
image: ${MY_MOLECULE_IMAGE:-"geerlingguy/docker-centos8-ansible"}
|
||||
command: ${MY_MOLECULE_DOCKER_COMMAND:-""}
|
||||
privileged: True
|
||||
pre_build_image: True
|
||||
cgroupns_mode: host
|
||||
networks:
|
||||
- name: telegraf
|
||||
volumes:
|
||||
- /sys/fs/cgroup:/sys/fs/cgroup:rw
|
||||
groups:
|
||||
- telegraf
|
||||
|
||||
provisioner:
|
||||
name: ansible
|
||||
lint:
|
||||
name: ansible-lint
|
||||
inventory:
|
||||
group_vars:
|
||||
debian:
|
||||
telegraf_agent_package_method: online
|
||||
all:
|
||||
telegraf_agent_package_state: latest
|
||||
telegraf_agent_output:
|
||||
- type: influxdb
|
||||
config:
|
||||
- urls = ["http://influxdb:8086"]
|
||||
- database = "telegraf"
|
||||
- precision = "s"
|
||||
telegraf_plugins_extra:
|
||||
logparser:
|
||||
plugin: logparser
|
||||
config:
|
||||
- files = ["/var/log/messages"]
|
||||
- from_beginning = false
|
||||
filter:
|
||||
name: grok
|
||||
config:
|
||||
- patterns = ["invoked oom-killer"]
|
||||
telegraf_aggregators:
|
||||
- aggregator: basicstats
|
||||
config:
|
||||
- drop_original = false
|
||||
- stats = ['mean']
|
||||
tagpass:
|
||||
- cpu = ["cpu-total"]
|
||||
|
||||
scenario:
|
||||
name: empty-checkmode
|
||||
test_sequence:
|
||||
- dependency
|
||||
- cleanup
|
||||
- destroy
|
||||
- syntax
|
||||
- create
|
||||
- prepare
|
||||
- check
|
||||
- verify
|
||||
- cleanup
|
||||
- destroy
|
||||
verifier:
|
||||
name: testinfra
|
46
molecule/empty-checkmode/prepare.yml
Normal file
46
molecule/empty-checkmode/prepare.yml
Normal file
@ -0,0 +1,46 @@
|
||||
---
|
||||
|
||||
- hosts: telegraf
|
||||
tasks:
|
||||
- name: "Installing packages on CentOS"
|
||||
yum:
|
||||
name: which
|
||||
state: present
|
||||
when:
|
||||
- ansible_os_family == 'RedHat'
|
||||
|
||||
- name: "Apt get update"
|
||||
shell: apt-get update
|
||||
when:
|
||||
- ansible_os_family == 'Debian'
|
||||
|
||||
- name: "Installing packages on Debian"
|
||||
apt:
|
||||
name:
|
||||
- wget
|
||||
- "{{ 'gnupg-agent' if ansible_distribution_major_version in ['8', '18', '16'] else 'gpg-agent' }}"
|
||||
update_cache: True
|
||||
state: present
|
||||
when:
|
||||
- ansible_os_family == 'Debian'
|
||||
- ansible_distribution_major_version not in [9, 10]
|
||||
|
||||
- name: "Installing packages on Debian"
|
||||
apt:
|
||||
name:
|
||||
- wget
|
||||
- python-apt
|
||||
- "{{ 'gnupg-agent' if ansible_distribution_major_version in ['8', '18', '16'] else 'gpg-agent' }}"
|
||||
update_cache: True
|
||||
state: present
|
||||
when:
|
||||
- ansible_os_family == 'Debian'
|
||||
- ansible_distribution_major_version in [9, 10]
|
||||
|
||||
- name: "Installing packages on Suse"
|
||||
zypper:
|
||||
name:
|
||||
- aaa_base
|
||||
state: present
|
||||
when:
|
||||
- ansible_os_family == 'Suse'
|
32
molecule/empty-checkmode/tests/test_default.py
Normal file
32
molecule/empty-checkmode/tests/test_default.py
Normal file
@ -0,0 +1,32 @@
|
||||
import os
|
||||
|
||||
import testinfra.utils.ansible_runner
|
||||
|
||||
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
|
||||
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('telegraf')
|
||||
|
||||
|
||||
def test_telegraf_running_and_enabled(host):
|
||||
telegraf = host.service("telegraf")
|
||||
if host.system_info.distribution not in ['opensuse-leap']:
|
||||
assert not telegraf.is_enabled
|
||||
assert not telegraf.is_running
|
||||
|
||||
|
||||
def test_telegraf_dot_conf(host):
|
||||
telegraf = host.file("/etc/telegraf/telegraf.conf")
|
||||
assert not telegraf.exists
|
||||
|
||||
def test_telegraf_dot_d_dir(host):
|
||||
telegraf = host.file("/etc/telegraf/telegraf.d")
|
||||
assert not telegraf.exists
|
||||
|
||||
|
||||
def test_telegraf_dot_d(host):
|
||||
telegraf = host.file("/etc/telegraf/telegraf.d/logparser.conf")
|
||||
assert not telegraf.exists
|
||||
|
||||
|
||||
def test_telegraf_package(host):
|
||||
telegraf = host.package('telegraf')
|
||||
assert not telegraf.is_installed
|
11
requirements.txt
Normal file
11
requirements.txt
Normal file
@ -0,0 +1,11 @@
|
||||
ansible==9.7.0
|
||||
ansible-compat==24.10.0
|
||||
ansible-core==2.18.1
|
||||
docker==7.1.0
|
||||
molecule==6.0.3
|
||||
molecule-docker==2.1.0
|
||||
molecule-plugins==23.5.3
|
||||
netaddr==1.3.0
|
||||
pytest==8.3.3
|
||||
pytest-testinfra==10.1.1
|
||||
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
|
111
tasks/Debian.yml
111
tasks/Debian.yml
@ -35,39 +35,80 @@
|
||||
until: are_telegraf_dependencies_packages_installed is succeeded
|
||||
when:
|
||||
- not apt_https_transport.stat.exists
|
||||
become: yes
|
||||
become: true
|
||||
|
||||
- name: "Debian | Download Telegraf apt key"
|
||||
- name: "Debian | Configure Telegraf apt repository"
|
||||
when:
|
||||
- telegraf_agent_package_method == "repo"
|
||||
block:
|
||||
- when: (ansible_distribution == "Debian" and ansible_distribution_major_version|int < 9) or (ansible_distribution == "Ubuntu" and ansible_distribution_major_version|int < 18)
|
||||
name: "Debian | Download Telegraf apt key"
|
||||
apt_key:
|
||||
url: "https://repos.influxdata.com/influxdb.key"
|
||||
id: 2582E0C5
|
||||
url: "https://repos.influxdata.com/influxdata-archive.key"
|
||||
id: 7df8b07e
|
||||
state: present
|
||||
register: are_telegraf_dependencies_keys_installed
|
||||
until: are_telegraf_dependencies_keys_installed is succeeded
|
||||
become: yes
|
||||
when:
|
||||
- telegraf_agent_package_method == "repo"
|
||||
become: true
|
||||
- when: (ansible_distribution == "Debian" and ansible_distribution_major_version|int >= 9) or (ansible_distribution == "Ubuntu" and ansible_distribution_major_version|int >= 18)
|
||||
block:
|
||||
- name: "Debian | Ensure the shared keyrings directory exists"
|
||||
stat:
|
||||
path: /usr/share/keyrings
|
||||
register: usr_share_keyrings
|
||||
|
||||
- name: "Debian | Add Telegraf repository (using LSB)"
|
||||
apt_repository:
|
||||
repo: "deb https://repos.influxdata.com/{{ ansible_distribution|lower }} {{ ansible_lsb.codename }} stable"
|
||||
filename: "telegraf"
|
||||
state: present
|
||||
become: yes
|
||||
- name: "Debian | Create shared keyrings directory"
|
||||
file:
|
||||
state: directory
|
||||
path: /usr/share/keyrings
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0755
|
||||
when:
|
||||
- telegraf_agent_package_method == "repo"
|
||||
- ansible_lsb is defined
|
||||
- ansible_lsb.codename is defined
|
||||
- not usr_share_keyrings.stat.exists
|
||||
become: true
|
||||
|
||||
- name: "Debian | Add Telegraf repository"
|
||||
apt_repository:
|
||||
repo: "deb https://repos.influxdata.com/{{ ansible_distribution|lower }} {{ ansible_distribution_release }} stable"
|
||||
filename: "telegraf"
|
||||
state: present
|
||||
- name: "Debian | Install Telegraf apt key"
|
||||
get_url:
|
||||
url: https://repos.influxdata.com/influxdata-archive.key
|
||||
dest: /usr/share/keyrings/influxdata-archive.asc
|
||||
register: are_telegraf_dependencies_keys_installed
|
||||
until: are_telegraf_dependencies_keys_installed is succeeded
|
||||
become: true
|
||||
|
||||
- name: "Debian | Set Telegraf apt repository parameters"
|
||||
set_fact:
|
||||
telegraf_repository_params: "[signed-by=/usr/share/keyrings/influxdata-archive.asc]"
|
||||
|
||||
- name: "Debian | Add Telegraf repository"
|
||||
copy:
|
||||
content: "deb {{ telegraf_repository_params | default('') }} https://repos.influxdata.com/{{ ansible_distribution|lower }} stable main"
|
||||
dest: /etc/apt/sources.list.d/telegraf.list
|
||||
become: yes
|
||||
|
||||
- name: "Debian | Install Telegraf package (repo)"
|
||||
apt:
|
||||
name: "{{ telegraf_agent_package }}"
|
||||
state: "{{ telegraf_agent_package_state }}"
|
||||
update_cache: true
|
||||
register: is_telegraf_package_installed
|
||||
until: is_telegraf_package_installed is succeeded
|
||||
notify: "Restart Telegraf"
|
||||
become: true
|
||||
when:
|
||||
- telegraf_agent_package_method == "repo"
|
||||
- ansible_lsb is not defined or ansible_lsb.codename is not defined
|
||||
ignore_errors: "{{ ansible_check_mode }}"
|
||||
|
||||
- name: "Debian | Install Telegraf package (repo)"
|
||||
apt:
|
||||
name: "{{ telegraf_agent_package }}"
|
||||
state: "{{ telegraf_agent_package_state }}"
|
||||
update_cache: true
|
||||
register: is_telegraf_package_installed
|
||||
until: is_telegraf_package_installed is succeeded
|
||||
notify: "Restart Telegraf"
|
||||
become: true
|
||||
ignore_errors: "{{ ansible_check_mode }}"
|
||||
|
||||
- name: "Debian | Download Telegraf package (online)"
|
||||
get_url:
|
||||
@ -80,25 +121,23 @@
|
||||
when:
|
||||
- telegraf_agent_package_method == "online"
|
||||
|
||||
- name: "Debian | Install Telegraf package"
|
||||
apt:
|
||||
name: "{{ telegraf_agent_package }}"
|
||||
state: "{{ telegraf_agent_package_state }}"
|
||||
update_cache: yes
|
||||
register: is_telegraf_package_installed
|
||||
until: is_telegraf_package_installed is succeeded
|
||||
notify: "Restart Telegraf"
|
||||
become: yes
|
||||
when:
|
||||
- telegraf_agent_package_method == "repo"
|
||||
|
||||
- name: "Debian | Install Telegraf package"
|
||||
- name: "Debian | Install Telegraf package (online)"
|
||||
apt:
|
||||
deb: "{{ telegraf_agent_package_path }}/{{ telegraf_agent_package }}"
|
||||
state: "present"
|
||||
allow_downgrade: true
|
||||
register: is_telegraf_package_installed
|
||||
until: is_telegraf_package_installed is succeeded
|
||||
notify: "Restart Telegraf"
|
||||
become: yes
|
||||
become: true
|
||||
when:
|
||||
- telegraf_agent_package_method == "online" or telegraf_agent_package_method == "offline"
|
||||
ignore_errors: "{{ ansible_check_mode }}"
|
||||
|
||||
- name: "Debian | Remove repository (online/offline install)"
|
||||
file:
|
||||
path: "/etc/apt/sources.list.d/telegraf.list"
|
||||
state: absent
|
||||
become: true
|
||||
when:
|
||||
- telegraf_agent_package_method == "online" or telegraf_agent_package_method == "offline"
|
||||
|
@ -14,11 +14,11 @@
|
||||
notify: "Restart Telegraf"
|
||||
|
||||
- name: "FreeBSD | add telegraf_flags for extra plugins"
|
||||
shell: sysrc telegraf_flags="-quiet -config-directory=/usr/local/etc/telegraf.d"
|
||||
command: sysrc telegraf_flags="-quiet -config-directory=/usr/local/etc/telegraf.d"
|
||||
tags:
|
||||
- skip_ansible_lint
|
||||
|
||||
- name: "FreeBSD | add telegraf to init"
|
||||
shell: sysrc telegraf_enable="YES"
|
||||
command: sysrc telegraf_enable="YES"
|
||||
tags:
|
||||
- skip_ansible_lint
|
||||
|
@ -17,17 +17,17 @@
|
||||
yum_repository:
|
||||
name: influxdb
|
||||
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') }}"
|
||||
gpgkey: "{{ telegraf_yum_gpgkey }}"
|
||||
become: yes
|
||||
become: true
|
||||
when:
|
||||
- telegraf_agent_package_method == "repo"
|
||||
|
||||
- name: "RedHat | Download Telegraf package (online)"
|
||||
get_url:
|
||||
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 }}"
|
||||
environment:
|
||||
http_proxy: "{{ http_proxy | default(None) | default(omit) }}"
|
||||
@ -35,11 +35,28 @@
|
||||
when:
|
||||
- telegraf_agent_package_method == "online"
|
||||
|
||||
- name: "RedHat | Install Telegraf package"
|
||||
- name: "RedHat | Install Telegraf package (repo)"
|
||||
package:
|
||||
name: "{{ telegraf_agent_package }}"
|
||||
state: "{{ telegraf_agent_package_state }}"
|
||||
register: is_telegraf_package_installed
|
||||
until: is_telegraf_package_installed is succeeded
|
||||
become: yes
|
||||
become: true
|
||||
notify: "Restart Telegraf"
|
||||
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"
|
||||
|
@ -10,25 +10,50 @@
|
||||
name: telegraf
|
||||
group: telegraf
|
||||
state: present
|
||||
become: yes
|
||||
become: true
|
||||
|
||||
- name: "Suse | Install repo dependencies"
|
||||
- name: "Suse | Install repo dependencies for Python 2"
|
||||
zypper:
|
||||
name: ["python-libxml2", "python-xml"]
|
||||
name:
|
||||
- python-libxml2
|
||||
- python-xml
|
||||
update_cache: True
|
||||
state: present
|
||||
register: are_telegraf_dependencies_packages_installed
|
||||
until: are_telegraf_dependencies_packages_installed is succeeded
|
||||
become: yes
|
||||
become: true
|
||||
when: ansible_python.version.major == 2
|
||||
|
||||
- name: "Suse | Install basic repo file"
|
||||
- name: "Suse | Install repo dependencies for Python >= 3"
|
||||
zypper:
|
||||
name:
|
||||
- python3-libxml2-python
|
||||
update_cache: True
|
||||
state: present
|
||||
register: are_telegraf_dependencies_packages_installed
|
||||
until: are_telegraf_dependencies_packages_installed is succeeded
|
||||
become: true
|
||||
when: ansible_python.version.major >= 3
|
||||
|
||||
- name: "Suse | Add default Open Build Service repository"
|
||||
zypper_repository:
|
||||
repo: "http://download.opensuse.org/repositories/devel:/languages:/go/openSUSE_Factory/"
|
||||
name: The Go Programming Language (openSUSE_Factory)
|
||||
repo: "{{ telegraf_zypper_repos[ansible_distribution|lower] | default(telegraf_zypper_repos['default']) }}"
|
||||
name: "telegraf"
|
||||
state: present
|
||||
runrefresh: True
|
||||
auto_import_keys: True
|
||||
become: yes
|
||||
become: true
|
||||
when: telegraf_zypper_baseurl is not defined
|
||||
|
||||
- name: "Suse | Add specified package repository"
|
||||
zypper_repository:
|
||||
repo: "{{ telegraf_zypper_baseurl }}"
|
||||
name: "telegraf"
|
||||
state: present
|
||||
runrefresh: True
|
||||
auto_import_keys: True
|
||||
become: true
|
||||
when: telegraf_zypper_baseurl is defined
|
||||
|
||||
- name: "Suse | Install Telegraf"
|
||||
zypper:
|
||||
@ -36,21 +61,17 @@
|
||||
state: "{{ telegraf_agent_package_state }}"
|
||||
register: is_telegraf_package_installed
|
||||
until: is_telegraf_package_installed is succeeded
|
||||
become: yes
|
||||
become: true
|
||||
ignore_errors: "{{ ansible_check_mode }}"
|
||||
|
||||
- name: "Suse | Create directories for telegraf"
|
||||
file:
|
||||
path: "{{ item.path }}"
|
||||
owner: "{{ item.owner }}"
|
||||
mode: 0755
|
||||
state: directory
|
||||
with_items:
|
||||
- path: /etc/telegraf/telegraf.d/
|
||||
owner: root
|
||||
- path: /var/log/telegraf
|
||||
owner: telegraf
|
||||
|
||||
- name: "Suse | Install init file"
|
||||
copy:
|
||||
src: telegraf.init
|
||||
dest: /etc/init.d/telegraf
|
||||
mode: 0755
|
||||
|
@ -13,10 +13,9 @@
|
||||
- ansible_os_family == "FreeBSD"
|
||||
|
||||
- name: Retrieve all ec2 tags on the instance
|
||||
ec2_tag:
|
||||
amazon.aws.ec2_tag_info:
|
||||
region: '{{ ansible_ec2_placement_region }}'
|
||||
resource: '{{ ansible_ec2_instance_id }}'
|
||||
state: list
|
||||
when:
|
||||
- telegraf_agent_aws_tags
|
||||
register: ec2_tags
|
||||
@ -28,9 +27,9 @@
|
||||
owner: telegraf
|
||||
group: telegraf
|
||||
mode: 0640
|
||||
become: yes
|
||||
become: true
|
||||
when:
|
||||
- telegraf_agent_version is version_compare('0.10.0', '<')
|
||||
- telegraf_agent_version is version('0.10.0', '<')
|
||||
notify:
|
||||
- Restart Telegraf
|
||||
- Restart Telegraf container
|
||||
@ -42,9 +41,9 @@
|
||||
owner: telegraf
|
||||
group: telegraf
|
||||
mode: 0640
|
||||
become: yes
|
||||
become: true
|
||||
when:
|
||||
- telegraf_agent_version is version_compare('0.10.0', '>=')
|
||||
- telegraf_agent_version is version('0.10.0', '>=')
|
||||
notify:
|
||||
- Restart Telegraf
|
||||
- Restart Telegraf container
|
||||
@ -63,7 +62,7 @@
|
||||
when:
|
||||
- telegraf_plugins_extra_exclusive
|
||||
- telegraf_directory.stat.exists
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- Restart Telegraf
|
||||
- Restart Telegraf container
|
||||
@ -78,7 +77,7 @@
|
||||
when:
|
||||
- telegraf_plugins_extra_exclusive
|
||||
- telegraf_directory.stat.exists
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- Restart Telegraf
|
||||
- Restart Telegraf container
|
||||
@ -97,7 +96,7 @@
|
||||
- telegraf_plugins_extra is defined
|
||||
- telegraf_plugins_extra is iterable
|
||||
- item.value.state|default('present') != 'absent'
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- Restart Telegraf
|
||||
- Restart Telegraf container
|
||||
@ -113,7 +112,7 @@
|
||||
- telegraf_plugins_extra is defined
|
||||
- telegraf_plugins_extra is iterable
|
||||
- item.value.state|default('present') == 'absent'
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- Restart Telegraf
|
||||
- Restart Telegraf container
|
||||
@ -126,8 +125,9 @@
|
||||
name: telegraf
|
||||
state: "{{ telegraf_enabled | ternary('started', 'stopped') }}"
|
||||
enabled: "{{ telegraf_enabled }}"
|
||||
become: yes
|
||||
become: true
|
||||
when: not telegraf_agent_docker
|
||||
ignore_errors: "{{ ansible_check_mode }}"
|
||||
|
||||
- name: Configure system for for docker plugin
|
||||
block:
|
||||
@ -150,7 +150,7 @@
|
||||
name: smartmontools
|
||||
|
||||
- name: Find path of smartctl
|
||||
shell: which smartctl
|
||||
command: which smartctl
|
||||
register: which_smartctl
|
||||
ignore_errors: true
|
||||
changed_when: false
|
||||
@ -161,6 +161,7 @@
|
||||
marker: "# {mark} ANSIBLE MANAGED BLOCK (Ensure telegraf user can execute smartctl)"
|
||||
dest: "/etc/sudoers.d/telegraf"
|
||||
block: "telegraf ALL=(root) NOPASSWD: {{ which_smartctl.stdout }}"
|
||||
mode: 0400
|
||||
create: true
|
||||
become: true
|
||||
notify:
|
||||
|
@ -13,10 +13,9 @@
|
||||
- ansible_os_family in ["FreeBSD", "Darwin"]
|
||||
|
||||
- name: Retrieve all ec2 tags on the instance
|
||||
ec2_tag:
|
||||
amazon.aws.ec2_tag_info:
|
||||
region: '{{ ansible_ec2_placement_region }}'
|
||||
resource: '{{ ansible_ec2_instance_id }}'
|
||||
state: list
|
||||
when:
|
||||
- telegraf_agent_aws_tags
|
||||
register: ec2_tags
|
||||
@ -28,9 +27,9 @@
|
||||
owner: "{{ telegraf_mac_user }}"
|
||||
group: "{{ telegraf_mac_group }}"
|
||||
mode: 0640
|
||||
become: yes
|
||||
become: true
|
||||
when:
|
||||
- telegraf_agent_version is version_compare('0.10.0', '<')
|
||||
- telegraf_agent_version is version('0.10.0', '<')
|
||||
notify:
|
||||
- Restart Telegraf
|
||||
- Restart Telegraf container
|
||||
@ -42,9 +41,9 @@
|
||||
owner: "{{ telegraf_mac_user }}"
|
||||
group: "{{ telegraf_mac_group }}"
|
||||
mode: 0640
|
||||
become: yes
|
||||
become: true
|
||||
when:
|
||||
- telegraf_agent_version is version_compare('0.10.0', '>=')
|
||||
- telegraf_agent_version is version('0.10.0', '>=')
|
||||
notify:
|
||||
- Restart MacOS Telegraf
|
||||
- Restart Telegraf container
|
||||
@ -63,7 +62,7 @@
|
||||
when:
|
||||
- telegraf_plugins_extra_exclusive
|
||||
- telegraf_directory.stat.exists
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- Restart MacOS Telegraf
|
||||
- Restart Telegraf container
|
||||
@ -78,7 +77,7 @@
|
||||
when:
|
||||
- telegraf_plugins_extra_exclusive
|
||||
- telegraf_directory.stat.exists
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- Restart MacOS Telegraf
|
||||
- Restart Telegraf container
|
||||
@ -97,7 +96,7 @@
|
||||
- telegraf_plugins_extra is defined
|
||||
- telegraf_plugins_extra is iterable
|
||||
- item.value.state|default('present') != 'absent'
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- Restart MacOS Telegraf
|
||||
- Restart Telegraf container
|
||||
@ -113,7 +112,7 @@
|
||||
- telegraf_plugins_extra is defined
|
||||
- telegraf_plugins_extra is iterable
|
||||
- item.value.state|default('present') == 'absent'
|
||||
become: yes
|
||||
become: true
|
||||
notify:
|
||||
- Restart MacOS Telegraf
|
||||
- Restart Telegraf container
|
||||
@ -122,7 +121,8 @@
|
||||
meta: flush_handlers
|
||||
|
||||
- name: "Start Telegraf (If it wasn't running)"
|
||||
shell: brew services start telegraf
|
||||
command: brew services start telegraf
|
||||
register: brew_services_start_telegraf
|
||||
changed_when: '"Successfully started `telegraf`" in brew_services_start_telegraf.stdout'
|
||||
when: not telegraf_agent_docker
|
||||
ignore_errors: "{{ ansible_check_mode }}"
|
||||
|
@ -20,16 +20,39 @@
|
||||
when:
|
||||
- not file_info.stat.exists
|
||||
|
||||
- name: "Windows | Unzip file"
|
||||
- name: "Windows | Unzip file (newer than 1.15)"
|
||||
win_unzip:
|
||||
src: '{{ telegraf_win_install_dir }}\telegraf-{{ telegraf_agent_version }}_windows_amd64.zip'
|
||||
dest: "{{ telegraf_win_install_dir }}"
|
||||
creates: '{{ telegraf_win_install_dir }}\telegraf\telegraf.exe'
|
||||
creates: '{{ telegraf_win_install_dir }}\telegraf-{{ telegraf_agent_version }}\telegraf.exe'
|
||||
when: telegraf_agent_version is version('1.15', '>=')
|
||||
|
||||
- name: "Windows | Move extracted directory (newer than 1.15)"
|
||||
win_copy:
|
||||
src: '{{ telegraf_win_install_dir }}\telegraf-{{ telegraf_agent_version }}\telegraf.exe'
|
||||
dest: '{{ telegraf_win_install_dir }}\telegraf.exe'
|
||||
remote_src: true
|
||||
when: telegraf_agent_version is version('1.15', '>=')
|
||||
|
||||
- name: "Windows | Unzip file"
|
||||
win_unzip:
|
||||
src: '{{ telegraf_win_install_dir }}\telegraf-{{ telegraf_agent_version }}_windows_amd64.zip'
|
||||
dest: '{{ telegraf_win_install_dir }}'
|
||||
creates: '{{ telegraf_win_install_dir }}\telegraf.exe'
|
||||
delete_archive: true
|
||||
when: telegraf_agent_version is version('1.15', '<')
|
||||
|
||||
- name: "Windows | Move extracted executable"
|
||||
win_copy:
|
||||
src: '{{ telegraf_win_install_dir }}\telegraf\telegraf.exe'
|
||||
dest: '{{ telegraf_win_install_dir }}\telegraf.exe'
|
||||
remote_src: true
|
||||
when: telegraf_agent_version is version('1.15', '<')
|
||||
|
||||
- name: "Windows | Configure Telegraf"
|
||||
win_template:
|
||||
src: telegraf.conf.j2
|
||||
dest: '{{ telegraf_win_install_dir }}\telegraf\telegraf.conf'
|
||||
dest: '{{ telegraf_win_install_dir }}\telegraf.conf'
|
||||
notify: "Restart Windows Telegraf"
|
||||
|
||||
- name: "Windows | Copy telegraf extra plugins"
|
||||
@ -58,21 +81,40 @@
|
||||
- item.value.state|default('present') == 'absent'
|
||||
notify: "Restart Windows Telegraf"
|
||||
|
||||
- name: "Windows | Register Service"
|
||||
win_command: '{{ telegraf_win_install_dir }}\telegraf\telegraf.exe {{ telegraf_win_service_args | join(" ") }}'
|
||||
register: telegraf_windows_install
|
||||
args:
|
||||
creates: '{{ telegraf_win_install_dir }}\.installed'
|
||||
- name: "Windows | Check if Telegraf service is already in place"
|
||||
win_service:
|
||||
name: telegraf
|
||||
register: service_result
|
||||
failed_when: service_result is not defined
|
||||
|
||||
- name: "Windows | Create done file so it won't register itself again"
|
||||
win_file:
|
||||
path: '{{ telegraf_win_install_dir }}\.installed'
|
||||
state: touch
|
||||
- debug: msg={{ service_result }}
|
||||
|
||||
- name: "Windows | Set service startup mode to auto and ensure it is started"
|
||||
win_service:
|
||||
name: Telegraf
|
||||
start_mode: auto
|
||||
state: stopped
|
||||
when:
|
||||
- telegraf_windows_install is changed
|
||||
- service_result.exists
|
||||
|
||||
- name: "Windows | Unregister Service"
|
||||
win_command: '"{{ telegraf_win_install_dir }}\telegraf.exe" --service uninstall'
|
||||
register: telegraf_windows_uninstall
|
||||
when:
|
||||
- service_result.exists
|
||||
|
||||
- name: "Windows | Register Service"
|
||||
win_command: '"{{ telegraf_win_install_dir }}\telegraf.exe" {{ telegraf_win_service_args | join(" ") }}'
|
||||
register: telegraf_windows_install
|
||||
|
||||
- name: "Windows | Set service startup mode to auto and ensure it is started"
|
||||
win_service:
|
||||
name: Telegraf
|
||||
start_mode: auto
|
||||
state: started
|
||||
|
||||
- name: "Windows | Cleanup"
|
||||
win_file:
|
||||
path: '{{ telegraf_win_install_dir }}\telegraf-{{ telegraf_agent_version }}'
|
||||
state: absent
|
||||
when: telegraf_agent_version is version('1.15', '>=')
|
||||
|
@ -15,7 +15,7 @@
|
||||
home: /etc/telegraf
|
||||
uid: "{{ telegraf_uid_docker }}"
|
||||
system: True
|
||||
become: yes
|
||||
become: true
|
||||
|
||||
- name: Create /etc/telegraf (home) directory
|
||||
file:
|
||||
@ -24,7 +24,7 @@
|
||||
group: telegraf
|
||||
mode: 0750
|
||||
state: directory
|
||||
become: yes
|
||||
become: true
|
||||
|
||||
- name: Create /etc/telegraf.d directory
|
||||
file:
|
||||
@ -33,12 +33,12 @@
|
||||
group: telegraf
|
||||
mode: 0750
|
||||
state: directory
|
||||
become: yes
|
||||
become: true
|
||||
|
||||
- name: Ensure Telegraf Docker container is running
|
||||
docker_container:
|
||||
name: "{{ telegraf_agent_docker_name }}"
|
||||
image: "telegraf:{{ telegraf_agent_version }}"
|
||||
image: "telegraf:{{ telegraf_agent_docker_image_version }}"
|
||||
state: started
|
||||
restart_policy: "{{ telegraf_agent_docker_restart_policy }}"
|
||||
command: -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d
|
||||
|
@ -14,6 +14,11 @@
|
||||
- telegraf
|
||||
- packages
|
||||
|
||||
- name: "Install on Archlinux"
|
||||
include_tasks: "Archlinux.yml"
|
||||
when:
|
||||
- ansible_os_family == "Archlinux" and not telegraf_agent_docker
|
||||
|
||||
- name: "Install on Suse"
|
||||
include_tasks: "Suse.yml"
|
||||
when: ansible_os_family == "Suse" and not telegraf_agent_docker
|
||||
|
@ -55,3 +55,17 @@
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if item.value.sub_inputs is defined and item.value.sub_inputs is iterable %}
|
||||
{% for sub_input_key, sub_input_list in item.value.sub_inputs.items() %}
|
||||
{% for block in sub_input_list %}
|
||||
[[inputs.{{ item.value.plugin | default(item.key) }}.{{ sub_input_key }}]]
|
||||
{% for param_key, param_value in block.items() %}
|
||||
{% if param_value is sequence and param_value is not string %}
|
||||
{{ param_key }} = {{ param_value | to_json }}
|
||||
{% else %}
|
||||
{{ param_key }} = "{{ param_value }}"
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
@ -30,6 +30,9 @@
|
||||
{% if telegraf_agent_version is version_compare('1.1', '>=') %}
|
||||
{% if ansible_os_family == "Windows" %}
|
||||
logfile = "{{ telegraf_win_logfile }}"
|
||||
logfile_rotation_interval = "{{ telegraf_win_logfile_rotation_interval }}"
|
||||
logfile_rotation_max_size = "{{ telegraf_win_logfile_rotation_max_size }}"
|
||||
logfile_rotation_max_archives = {{ telegraf_win_logfile_rotation_max_archives| int }}
|
||||
{% else %}
|
||||
logfile = "{{ telegraf_agent_logfile }}"
|
||||
{% endif %}
|
||||
@ -126,5 +129,44 @@
|
||||
{{ items }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if item.tagpass is defined and item.tagpass is iterable %}
|
||||
[processors.{{ item.processor }}.tagpass]
|
||||
{% for items in item.tagpass %}
|
||||
{{ items }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if item.tagdrop is defined and item.tagdrop is iterable %}
|
||||
[processors.{{ item.processor }}.tagdrop]
|
||||
{% for items in item.tagdrop %}
|
||||
{{ items }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
###############################################################################
|
||||
# AGGREGATORS #
|
||||
###############################################################################
|
||||
|
||||
{% if telegraf_aggregators is defined and telegraf_aggregators is iterable %}
|
||||
{% for item in telegraf_aggregators %}
|
||||
[[aggregators.{{ item.aggregator }}]]
|
||||
{% if item.config is defined and item.config is iterable %}
|
||||
{% for items in item.config %}
|
||||
{{ items }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if item.tagpass is defined and item.tagpass is iterable %}
|
||||
[aggregators.{{ item.aggregator }}.tagpass]
|
||||
{% for items in item.tagpass %}
|
||||
{{ items }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if item.tagdrop is defined and item.tagdrop is iterable %}
|
||||
[aggregators.{{ item.aggregator }}.tagdrop]
|
||||
{% for items in item.tagdrop %}
|
||||
{{ items }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
Reference in New Issue
Block a user