25 Commits
0.5.1 ... 0.6.0

Author SHA1 Message Date
8fd9c2c9c9 Fix merge issue 2017-01-02 13:03:22 +01:00
4c0d09d11e Set release 0.6.0 2017-01-02 13:02:26 +01:00
9aad1a8d39 Merge pull request #17 from lhoss/readme-update-with-telegraf-v1.1-settings
update the README with the latest v0.13 - v1.1 agent settings
2017-01-02 12:41:59 +01:00
2c54dea8d2 update the README with the latest v0.13 - v1.1 agent settings 2017-01-02 10:27:23 +01:00
f962f4ca82 Merge pull request #15 from dj-wasabi/fix_molecule
Fixing molecule
2016-12-31 19:54:27 +01:00
194d3d6e92 Merge branch 'master' into fix_molecule 2016-12-30 18:45:12 +01:00
5036595b79 Merge pull request #16 from lhoss/support_newer_agent_settings
support missing agent settings upto telegraf v1.1
2016-12-30 18:44:35 +01:00
3bd9681567 Fixing merge issue 2016-12-30 18:38:52 +01:00
536dce400b Merge pull request #14 from lhoss/improve_version_compare
use version_compare filter …
2016-12-30 18:37:26 +01:00
0405d3d993 support missing agent settings upto telegraf v1.1 2016-12-30 18:36:29 +01:00
1533214071 FIxing ansible-lint issues 2016-12-30 18:35:49 +01:00
26b473b0fb Added some version commands 2016-12-30 18:03:51 +01:00
d486975c81 Fixing molecule 2016-12-30 17:55:21 +01:00
3201ec329c use version_compare filter (more readable, stable and no extra set_fact required) 2016-12-30 17:39:44 +01:00
b95a67954f Merge pull request #13 from romainbureau/master
set telegraf hostname in defaults.
2016-09-20 18:04:53 +02:00
ad1a4430c6 set telegraf hostname in defaults. 2016-09-20 15:33:07 +02:00
ec63b2aa24 Merge pull request #12 from dj-wasabi/fix_test
Removed imports
2016-09-11 20:04:28 +02:00
8dbb365ed0 Removed imports 2016-09-11 19:55:16 +02:00
f23fc6ea23 Merge pull request #11 from Ismael/fix_repo
Fix the Influxdb repo for "hybrid" debian distros (like "jessie/sid")
2016-09-11 19:52:52 +02:00
51c82e1c85 Merge pull request #10 from Ismael/fix_become
Do "become" for the steps that require root access on Debian
2016-09-11 19:52:00 +02:00
a3ca2db212 For Debian: Use ansible_lsb only if it's defined 2016-09-07 19:07:55 -03:00
9c9dc33ac3 Fix the Influxdb repo for "hybrid" debian distros (like "jessie/sid")
Use ansible_lsb.codename to set the path to the influxdb repo because "hybrid" distros (when you have testing+unstable, for example) don't work otherwise
2016-09-07 19:07:51 -03:00
95d5161d33 Do "become" for the steps that require root access on Debian
Actions with apt require being root. Add "become" to those.
"sudo" is deprecated, changed it to "become"
2016-09-07 18:52:46 -03:00
86fabca61b Merge pull request #7 from dj-wasabi/new_molecule_setup
Added new code for correct molecule verification
2016-08-24 19:17:20 +02:00
b0dfe773a7 Added new code for correct molecule verification 2016-08-24 19:09:23 +02:00
10 changed files with 84 additions and 16 deletions

View File

@ -9,9 +9,12 @@ before_install:
- sudo apt-get install -o Dpkg::Options::="--force-confold" --force-yes -y docker-engine
install:
- pip install molecule
- pip install molecule ansible docker-py
script:
- molecule --version
- ansible --version
- molecule test
notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/

View File

@ -5,6 +5,18 @@ Below an overview of all changes in the releases.
Version (Release date)
0.6.0 (2017-01-02)
* 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!))
0.5.1 (2016-08-24)
* fixed issue with ansible not getting the package #6 (By pull request: thecodeassassin (Thanks!))

View File

@ -27,10 +27,18 @@ The following parameters can be set for the Telegraf agent:
* `telegraf_agent_rpm_url`: The full path to the RPM file located on a webserver.
* `telegraf_agent_deb_url`: The full path to the DEB file located on a webserver.
* `telegraf_agent_interval`: The interval configured for sending data to the server. Default: `10`
* `telegraf_agent_debug`: Setting the Telegraf in debug mode. Default: `False`
* `telegraf_agent_debug`: Run Telegraf in debug mode. Default: `False`
* `telegraf_agent_round_interval`: Rounds collection interval to 'interval' Default: True
* `telegraf_agent_flush_interval`: Default data flushing interval for all outputs. Default: 10
* `telegraf_agent_flush_jitter`: Jitter the flush interval by a random amount. Default: 0
* `telegraf_agent_collection_jitter`: Jitter the collection by a random amount. Default: 0 (since v0.13)
* `telegraf_agent_metric_batch_size`: The agent metric batch size. Default: 1000 (since v0.13)
* `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_omit_hostname`: Do no set the "host" tag in the agent. Default: `False` (since v1.1)
Full agent settings reference: https://github.com/influxdata/telegraf/blob/master/docs/CONFIGURATION.md#agent-configuration
You can set tags for the host running telegraf:
@ -117,6 +125,10 @@ The following have contributed to this Ansible role:
* aferrari-technisys
* stvnwrgs
* lhoss
* thecodeassassin
* Ismael
* romainbureau
# Molecule

View File

@ -3,6 +3,7 @@
#telegraf_agent_version: 0.10.1
telegraf_agent_version: 1.0.0
telegraf_agent_hostname: "{{ ansible_fqdn }}"
telegraf_agent_version_sub_l: _beta2
telegraf_agent_version_sub_u: -beta2
telegraf_agent_interval: 10
@ -11,6 +12,16 @@ telegraf_agent_round_interval: True
telegraf_agent_flush_interval: 10
telegraf_agent_flush_jitter: 0
#v0.13 settings (not sure if supported in older version):
telegraf_agent_collection_jitter: 0
telegraf_agent_metric_batch_size: 1000
telegraf_agent_metric_buffer_limit: 10000
telegraf_agent_quiet: False
#v1.1 settings:
telegraf_agent_logfile: ""
telegraf_agent_omit_hostname: False
telegraf_agent_rpm_url: https://dl.influxdata.com/telegraf/releases/telegraf-{{ telegraf_agent_version }}{{ telegraf_agent_version_sub_l }}.x86_64.rpm
telegraf_agent_deb_url: https://dl.influxdata.com/telegraf/releases/telegraf_{{ telegraf_agent_version }}{{ telegraf_agent_version_sub_u }}_amd64.deb

View File

@ -6,4 +6,4 @@
name=telegraf
state=restarted
enabled=yes
sudo: yes
become: yes

View File

@ -2,6 +2,12 @@
ansible:
playbook: playbook.yml
driver:
name: docker
verifier:
name: testinfra
docker:
containers:
- name: telegraf-centos

View File

@ -13,6 +13,7 @@
name: "apt-transport-https"
state: present
when: not apt_https_transport.stat.exists
become: yes
tags:
- telegraf
- packages
@ -21,25 +22,38 @@
apt_key:
url: "https://repos.influxdata.com/influxdb.key"
state: present
become: yes
tags:
- telegraf
- packages
- name: Add Influxdb repository (using LSB).
apt_repository:
repo: "deb https://repos.influxdata.com/{{ ansible_distribution|lower }} {{ ansible_lsb.codename }} stable"
filename: "influxdb"
state: present
tags:
- telegraf
- packages
when: ansible_lsb is defined
- name: Add Influxdb repository.
apt_repository:
repo: "deb https://repos.influxdata.com/{{ ansible_distribution|lower }} {{ ansible_distribution_release }} stable"
filename: "influxdb"
state: present
become: yes
tags:
- telegraf
- packages
when: ansible_lsb is not defined
- name: "Install telegraf package | Debian"
action: apt
name=telegraf
state=installed
notify: "Restart Telegraf"
sudo: yes
become: yes
tags:
- telegraf
- packages

View File

@ -9,10 +9,6 @@
include: "Debian.yml"
when: ansible_os_family == "Debian"
- name: "Set fact by remove the dots from version"
set_fact:
telegraf_ver: "{{ telegraf_agent_version.replace('.','') }}"
- name: "Copy the template for versions < 0.10.0"
template:
src: etc-opt-telegraf-telegraf.conf.j2
@ -20,8 +16,8 @@
owner: root
group: root
mode: 0644
when: telegraf_ver < 100
sudo: yes
become: yes
when: telegraf_agent_version|version_compare('0.10.0', '<')
notify: "Restart Telegraf"
- name: "Copy the template for versions >= 0.10.0"
@ -31,8 +27,8 @@
owner: root
group: root
mode: 0644
when: telegraf_ver >= 100
sudo: yes
become: yes
when: telegraf_agent_version|version_compare('0.10.0', '>=')
notify: "Restart Telegraf"
- name: "Copy telegraf extra plugins"
@ -41,8 +37,8 @@
dest: "/etc/telegraf/telegraf.d/{{ item.plugin }}.conf"
owner: root
group: root
mode: 644
mode: 0644
with_items: "{{ telegraf_plugins_extra }}"
when: "telegraf_plugins_extra is defined and telegraf_plugins_extra is iterable"
sudo: yes
become: yes
notify: "Restart Telegraf"

View File

@ -11,10 +11,20 @@
[agent]
interval = "{{ telegraf_agent_interval }}s"
debug = {{ telegraf_agent_debug | lower }}
hostname = "{{ ansible_fqdn }}"
hostname = "{{ telegraf_agent_hostname }}"
round_interval = {{ telegraf_agent_round_interval | lower }}
flush_interval = "{{ telegraf_agent_flush_interval }}s"
flush_jitter = "{{ telegraf_agent_flush_jitter }}s"
{% if telegraf_agent_version|version_compare('0.13', '>=') %}
collection_jitter = "{{ telegraf_agent_collection_jitter }}s"
metric_batch_size = {{ telegraf_agent_metric_batch_size }}
metric_buffer_limit = {{ telegraf_agent_metric_buffer_limit }}
quiet = {{ telegraf_agent_quiet | lower }}
{% endif %}
{% if telegraf_agent_version|version_compare('1.1', '>=') %}
logfile = "{{ telegraf_agent_logfile }}"
omit_hostname = {{ telegraf_agent_omit_hostname | lower }}
{% endif %}
###############################################################################
# OUTPUTS #
@ -75,4 +85,4 @@
{% endfor %}
{% endif %}
{% endfor %}
{% endif %}
{% endif %}

View File

@ -1,3 +1,7 @@
from testinfra.utils.ansible_runner import AnsibleRunner
testinfra_hosts = AnsibleRunner('.molecule/ansible_inventory').get_hosts('all')
def test_telegraf_running_and_enabled(Service, SystemInfo):
telegraf = Service("telegraf")