mirror of
https://github.com/dj-wasabi/ansible-telegraf.git
synced 2025-07-17 08:46:37 +00:00
Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
a41e4f9c84 | |||
890e48c82d | |||
ac27a7a9eb | |||
7cc9e52d85 | |||
43e5e633fd | |||
2239f59c85 | |||
4196a74c22 |
29
CHANGELOG.md
Normal file
29
CHANGELOG.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
dj-wasabi.telegraf
|
||||||
|
------------------
|
||||||
|
|
||||||
|
Below an overview of all changes in the releases.
|
||||||
|
|
||||||
|
Version (Release date)
|
||||||
|
|
||||||
|
0.1.0 (2015-09-23)
|
||||||
|
|
||||||
|
* 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
|
||||||
|
|
||||||
|
|
||||||
|
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
|
23
README.md
23
README.md
@ -19,7 +19,7 @@ Role Variables
|
|||||||
|
|
||||||
The following parameters can be set for the Telegraf agent:
|
The following parameters can be set for the Telegraf agent:
|
||||||
|
|
||||||
* `telegraf_agent_version`: The version of Telegraf to install. Default: `0.1.8`
|
* `telegraf_agent_version`: The version of Telegraf to install. Default: `0.1.9`
|
||||||
* `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`: Setting the Telegraf in debug mode. Default: `False`
|
||||||
* `telegraf_agent_utc`: Option for outputting data in UTC. Default: `True`
|
* `telegraf_agent_utc`: Option for outputting data in UTC. Default: `True`
|
||||||
@ -68,12 +68,31 @@ Every telegraf agent has these as an default configuration.
|
|||||||
The 2nd parameter `telegraf_plugins_extra` can be used to add plugins specific to the servers goal. Following is an example for using this parameter for MySQL database servers:
|
The 2nd parameter `telegraf_plugins_extra` can be used to add plugins specific to the servers goal. Following is an example for using this parameter for MySQL database servers:
|
||||||
|
|
||||||
cat group_vars/mysql_database
|
cat group_vars/mysql_database
|
||||||
telegraf_plugins_extra
|
telegraf_plugins_extra:
|
||||||
- plugin: mysql
|
- plugin: mysql
|
||||||
config:
|
config:
|
||||||
- servers = ["root:{{ mysql_root_password }}@tcp(localhost:3306)/"]
|
- servers = ["root:{{ mysql_root_password }}@tcp(localhost:3306)/"]
|
||||||
|
|
||||||
|
|
||||||
|
Telegraf plugin options:
|
||||||
|
|
||||||
|
* `pass`: An array of strings that is used to filter metrics generated by the current plugin. Each string in the array is tested as a prefix against metric names and if it matches, the metric is emitted.
|
||||||
|
* `drop`: The inverse of pass, if a metric name matches, it is not emitted.
|
||||||
|
* `tagpass`: (added in Telegraf 0.1.5) tag names and arrays of strings that are used to filter metrics by the current plugin. Each string in the array is tested as an exact match against the tag name, and if it matches the metric is emitted.
|
||||||
|
* `tagdrop`: (added in Telegraf 0.1.5) The inverse of tagpass. If a tag matches, the metric is not emitted. This is tested on metrics that have passed the tagpass test.
|
||||||
|
* `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.
|
||||||
|
|
||||||
|
An example might look like this:
|
||||||
|
|
||||||
|
telegraf_plugins_default:
|
||||||
|
- plugin: disk
|
||||||
|
interval: 12
|
||||||
|
tagpass:
|
||||||
|
- fstype = [ "ext4", "xfs" ]
|
||||||
|
- path = [ "/opt", "/home" ]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
------------
|
------------
|
||||||
No dependencies
|
No dependencies
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
# defaults file for ansible-telegraf
|
# defaults file for ansible-telegraf
|
||||||
|
|
||||||
telegraf_agent_version: 0.1.8
|
telegraf_agent_version: 0.1.9
|
||||||
telegraf_agent_interval: 10
|
telegraf_agent_interval: 10
|
||||||
telegraf_agent_debug: False
|
telegraf_agent_debug: False
|
||||||
telegraf_agent_utc: True
|
telegraf_agent_utc: True
|
||||||
|
151
meta/main.yml
151
meta/main.yml
@ -1,139 +1,20 @@
|
|||||||
---
|
---
|
||||||
galaxy_info:
|
galaxy_info:
|
||||||
author: your name
|
author: Werner Dijkerman
|
||||||
description:
|
description: Installing and configuring Telegraf
|
||||||
company: your company (optional)
|
company:
|
||||||
# If the issue tracker for your role is not on github, uncomment the
|
license: license BSD
|
||||||
# next line and provide a value
|
|
||||||
# issue_tracker_url: http://example.com/issue/tracker
|
|
||||||
# Some suggested licenses:
|
|
||||||
# - BSD (default)
|
|
||||||
# - MIT
|
|
||||||
# - GPLv2
|
|
||||||
# - GPLv3
|
|
||||||
# - Apache
|
|
||||||
# - CC-BY
|
|
||||||
license: license (GPLv2, CC-BY, etc)
|
|
||||||
min_ansible_version: 1.2
|
min_ansible_version: 1.2
|
||||||
#
|
platforms:
|
||||||
# Below are all platforms currently available. Just uncomment
|
- name: EL
|
||||||
# the ones that apply to your role. If you don't see your
|
versions:
|
||||||
# platform on this list, let us know and we'll get it added!
|
- all
|
||||||
#
|
- name: Ubuntu
|
||||||
#platforms:
|
versions:
|
||||||
#- name: EL
|
- all
|
||||||
# versions:
|
- name: Debian
|
||||||
# - all
|
versions:
|
||||||
# - 5
|
- all
|
||||||
# - 6
|
categories:
|
||||||
# - 7
|
- monitoring
|
||||||
#- name: GenericUNIX
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - any
|
|
||||||
#- name: Fedora
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - 16
|
|
||||||
# - 17
|
|
||||||
# - 18
|
|
||||||
# - 19
|
|
||||||
# - 20
|
|
||||||
# - 21
|
|
||||||
# - 22
|
|
||||||
#- name: Windows
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - 2012R2
|
|
||||||
#- name: SmartOS
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - any
|
|
||||||
#- name: opensuse
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - 12.1
|
|
||||||
# - 12.2
|
|
||||||
# - 12.3
|
|
||||||
# - 13.1
|
|
||||||
# - 13.2
|
|
||||||
#- name: Amazon
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - 2013.03
|
|
||||||
# - 2013.09
|
|
||||||
#- name: GenericBSD
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - any
|
|
||||||
#- name: FreeBSD
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - 8.0
|
|
||||||
# - 8.1
|
|
||||||
# - 8.2
|
|
||||||
# - 8.3
|
|
||||||
# - 8.4
|
|
||||||
# - 9.0
|
|
||||||
# - 9.1
|
|
||||||
# - 9.1
|
|
||||||
# - 9.2
|
|
||||||
#- name: Ubuntu
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - lucid
|
|
||||||
# - maverick
|
|
||||||
# - natty
|
|
||||||
# - oneiric
|
|
||||||
# - precise
|
|
||||||
# - quantal
|
|
||||||
# - raring
|
|
||||||
# - saucy
|
|
||||||
# - trusty
|
|
||||||
# - utopic
|
|
||||||
# - vivid
|
|
||||||
#- name: SLES
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - 10SP3
|
|
||||||
# - 10SP4
|
|
||||||
# - 11
|
|
||||||
# - 11SP1
|
|
||||||
# - 11SP2
|
|
||||||
# - 11SP3
|
|
||||||
#- name: GenericLinux
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - any
|
|
||||||
#- name: Debian
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - etch
|
|
||||||
# - jessie
|
|
||||||
# - lenny
|
|
||||||
# - squeeze
|
|
||||||
# - wheezy
|
|
||||||
#
|
|
||||||
# Below are all categories currently available. Just as with
|
|
||||||
# the platforms above, uncomment those that apply to your role.
|
|
||||||
#
|
|
||||||
#categories:
|
|
||||||
#- cloud
|
|
||||||
#- cloud:ec2
|
|
||||||
#- cloud:gce
|
|
||||||
#- cloud:rax
|
|
||||||
#- clustering
|
|
||||||
#- database
|
|
||||||
#- database:nosql
|
|
||||||
#- database:sql
|
|
||||||
#- development
|
|
||||||
#- monitoring
|
|
||||||
#- networking
|
|
||||||
#- packaging
|
|
||||||
#- system
|
|
||||||
#- web
|
|
||||||
dependencies: []
|
dependencies: []
|
||||||
# List your role dependencies here, one per line.
|
|
||||||
# Be sure to remove the '[]' above if you add dependencies
|
|
||||||
# to this list.
|
|
||||||
|
|
||||||
|
@ -10,4 +10,5 @@
|
|||||||
action: apt
|
action: apt
|
||||||
deb=/tmp/telegraf_{{ telegraf_agent_version }}_amd64.deb
|
deb=/tmp/telegraf_{{ telegraf_agent_version }}_amd64.deb
|
||||||
state=installed
|
state=installed
|
||||||
|
notify: "Restart Telegraf"
|
||||||
sudo: yes
|
sudo: yes
|
||||||
|
@ -10,4 +10,5 @@
|
|||||||
action: yum
|
action: yum
|
||||||
name=/tmp/telegraf_{{ telegraf_agent_version }}-1.x86_64.rpm
|
name=/tmp/telegraf_{{ telegraf_agent_version }}-1.x86_64.rpm
|
||||||
state=installed
|
state=installed
|
||||||
|
notify: "Restart Telegraf"
|
||||||
sudo: yes
|
sudo: yes
|
||||||
|
@ -30,11 +30,38 @@
|
|||||||
{% if telegraf_plugins_default is defined and telegraf_plugins_default is iterable %}
|
{% if telegraf_plugins_default is defined and telegraf_plugins_default is iterable %}
|
||||||
{% for item in telegraf_plugins_default %}
|
{% for item in telegraf_plugins_default %}
|
||||||
[{{ item.plugin }}]
|
[{{ item.plugin }}]
|
||||||
|
{% if item.interval is defined %}
|
||||||
|
interval = "{{ item.interval }}s"
|
||||||
|
{% endif %}
|
||||||
{% if item.config is defined and item.config is iterable %}
|
{% if item.config is defined and item.config is iterable %}
|
||||||
{% for items in item.config %}
|
{% for items in item.config %}
|
||||||
{{ items }}
|
{{ items }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if item.tagpass is defined and item.tagpass is iterable %}
|
||||||
|
[{{ item.plugin }}.tagpass]
|
||||||
|
{% for items in item.tagpass %}
|
||||||
|
{{ items }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% if item.tagdrop is defined and item.tagdrop is iterable %}
|
||||||
|
[{{ item.plugin }}.tagdrop]
|
||||||
|
{% for items in item.tagdrop %}
|
||||||
|
{{ items }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% if item.pass is defined and item.pass is iterable %}
|
||||||
|
[{{ item.plugin }}.pass]
|
||||||
|
{% for items in item.pass %}
|
||||||
|
{{ items }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% if item.drop is defined and item.drop is iterable %}
|
||||||
|
[{{ item.plugin }}.drop]
|
||||||
|
{% for items in item.drop %}
|
||||||
|
{{ items }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -42,11 +69,38 @@
|
|||||||
{% if telegraf_plugins_extra is defined and telegraf_plugins_extra is iterable %}
|
{% if telegraf_plugins_extra is defined and telegraf_plugins_extra is iterable %}
|
||||||
{% for item in telegraf_plugins_extra %}
|
{% for item in telegraf_plugins_extra %}
|
||||||
[{{ item.plugin }}]
|
[{{ item.plugin }}]
|
||||||
|
{% if item.interval is defined %}
|
||||||
|
interval = "{{ item.interval }}s"
|
||||||
|
{% endif %}
|
||||||
{% if item.config is defined and item.config is iterable %}
|
{% if item.config is defined and item.config is iterable %}
|
||||||
{% for items in item.config %}
|
{% for items in item.config %}
|
||||||
{{ items }}
|
{{ items }}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if item.tagpass is defined and item.tagpass is iterable %}
|
||||||
|
[{{ item.plugin }}.tagpass]
|
||||||
|
{% for items in item.tagpass %}
|
||||||
|
{{ items }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% if item.tagdrop is defined and item.tagdrop is iterable %}
|
||||||
|
[{{ item.plugin }}.tagdrop]
|
||||||
|
{% for items in item.tagdrop %}
|
||||||
|
{{ items }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% if item.pass is defined and item.pass is iterable %}
|
||||||
|
[{{ item.plugin }}.pass]
|
||||||
|
{% for items in item.pass %}
|
||||||
|
{{ items }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% if item.drop is defined and item.drop is iterable %}
|
||||||
|
[{{ item.plugin }}.drop]
|
||||||
|
{% for items in item.drop %}
|
||||||
|
{{ items }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
Reference in New Issue
Block a user