28 Commits
0.5.0 ... 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
3826a37496 Added 0.5.1 2016-08-24 19:00:27 +02:00
4d197aa8ea Merge pull request #6 from mycujoo/master
fixed issue with ansible not getting the package
2016-08-12 09:03:50 +02:00
40230aa198 fixed issue with ansible not getting the package
Ansible was not getting the package properly on ubuntu 14.04 because of SSL problems. Could be resolved by installing additional pip packages but this is cleaner.
2016-08-11 16:58:35 +02:00
10 changed files with 125 additions and 22 deletions

View File

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

View File

@ -5,6 +5,22 @@ Below an overview of all changes in the releases.
Version (Release date) 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!))
0.5.0 (2016-07-17) 0.5.0 (2016-07-17)
* Removed Test Kitchen tests * Removed Test Kitchen tests

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_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_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_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_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_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_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: You can set tags for the host running telegraf:
@ -117,6 +125,10 @@ The following have contributed to this Ansible role:
* aferrari-technisys * aferrari-technisys
* stvnwrgs * stvnwrgs
* lhoss
* thecodeassassin
* Ismael
* romainbureau
# Molecule # Molecule

View File

@ -3,6 +3,7 @@
#telegraf_agent_version: 0.10.1 #telegraf_agent_version: 0.10.1
telegraf_agent_version: 1.0.0 telegraf_agent_version: 1.0.0
telegraf_agent_hostname: "{{ ansible_fqdn }}"
telegraf_agent_version_sub_l: _beta2 telegraf_agent_version_sub_l: _beta2
telegraf_agent_version_sub_u: -beta2 telegraf_agent_version_sub_u: -beta2
telegraf_agent_interval: 10 telegraf_agent_interval: 10
@ -11,6 +12,16 @@ telegraf_agent_round_interval: True
telegraf_agent_flush_interval: 10 telegraf_agent_flush_interval: 10
telegraf_agent_flush_jitter: 0 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_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 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 name=telegraf
state=restarted state=restarted
enabled=yes enabled=yes
sudo: yes become: yes

View File

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

View File

@ -1,14 +1,59 @@
--- ---
- name: "Fetch telegraf installation package | Debian" - name: Ensure the system can use the HTTPS transport for APT.
action: get_url stat:
url={{ telegraf_agent_deb_url }} path: /usr/lib/apt/methods/https
dest=/tmp/telegraf_{{ telegraf_agent_version }}-1_amd64.deb register: apt_https_transport
mode=0440 tags:
- telegraf
- packages
- name: Install APT HTTPS transport.
apt:
name: "apt-transport-https"
state: present
when: not apt_https_transport.stat.exists
become: yes
tags:
- telegraf
- packages
- name: Download Influxdb apt key.
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" - name: "Install telegraf package | Debian"
action: apt action: apt
deb=/tmp/telegraf_{{ telegraf_agent_version }}-1_amd64.deb name=telegraf
state=installed state=installed
notify: "Restart Telegraf" notify: "Restart Telegraf"
sudo: yes become: yes
tags:
- telegraf
- packages

View File

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

View File

@ -11,10 +11,20 @@
[agent] [agent]
interval = "{{ telegraf_agent_interval }}s" interval = "{{ telegraf_agent_interval }}s"
debug = {{ telegraf_agent_debug | lower }} debug = {{ telegraf_agent_debug | lower }}
hostname = "{{ ansible_fqdn }}" hostname = "{{ telegraf_agent_hostname }}"
round_interval = {{ telegraf_agent_round_interval | lower }} round_interval = {{ telegraf_agent_round_interval | lower }}
flush_interval = "{{ telegraf_agent_flush_interval }}s" flush_interval = "{{ telegraf_agent_flush_interval }}s"
flush_jitter = "{{ telegraf_agent_flush_jitter }}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 # # OUTPUTS #

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): def test_telegraf_running_and_enabled(Service, SystemInfo):
telegraf = Service("telegraf") telegraf = Service("telegraf")