Move telegraf to host

This makes metric collection for SMART much simpler. I'll still be using the prometheus node exporter for actual system metrics, though.
This commit is contained in:
Jake Howard 2021-03-05 20:39:11 +00:00
parent aa3da3cf10
commit 6b95b75fc2
Signed by: jake
GPG key ID: 57AFB45680EDD477
11 changed files with 17 additions and 46 deletions

View file

@ -2,6 +2,7 @@ collections:
- ansible.posix - ansible.posix
- community.general - community.general
- community.docker - community.docker
- amazon.aws # Dependency of rossmcdonald.telegraf
roles: roles:
- src: geerlingguy.docker - src: geerlingguy.docker
@ -10,3 +11,4 @@ roles:
- src: https://github.com/IronicBadger/ansible-role-proxmox-nag-removal - src: https://github.com/IronicBadger/ansible-role-proxmox-nag-removal
name: proxmox-nag-removal name: proxmox-nag-removal
- src: chmduquesne.iptables_persistent - src: chmduquesne.iptables_persistent
- src: rossmcdonald.telegraf

View file

@ -15,3 +15,6 @@ pve_hosts:
internal_ip: 10.23.1.99 internal_ip: 10.23.1.99
deluge: deluge:
internal_ip: 10.23.1.52 internal_ip: 10.23.1.52
pve:
internal_ip: 10.23.1.1
ip: 192.168.2.200

View file

@ -1,5 +1,8 @@
expose_ssh: true expose_ssh: true
private_ip: "{{ pve_hosts.pve.ip }}"
protected_ip: "{{ pve_hosts.pve.internal_ip }}"
zpools_to_scrub: zpools_to_scrub:
- tank - tank
- rpool - rpool

View file

@ -76,6 +76,7 @@
- pve - pve
- zfs - zfs
- pve_nebula_route - pve_nebula_route
- telegraf
- hosts: forrest - hosts: forrest
roles: roles:

View file

@ -7,7 +7,7 @@ scrape_configs:
static_configs: static_configs:
- targets: - targets:
- telegraf:9273 - 10.23.1.1:9273
- job_name: traefik - job_name: traefik
metric_relabel_configs: metric_relabel_configs:
- source_labels: [__name__] - source_labels: [__name__]

View file

@ -1,15 +0,0 @@
version: "2.3"
services:
telegraf:
image: telegraf:alpine
restart: unless-stopped
networks:
- default
- prometheus
volumes:
- ./telegraf.conf:/etc/telegraf/telegraf.conf:ro
networks:
prometheus:
external: true

View file

@ -6,6 +6,3 @@
- name: Prometheus - name: Prometheus
include: prometheus.yml include: prometheus.yml
- name: Telegraf
include: telegraf.yml

View file

@ -1,26 +0,0 @@
- name: Create telegraf install directory
file:
path: /opt/telegraf
state: directory
owner: "{{ docker_user.name }}"
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Install telegraf config
template:
src: files/telegraf/telegraf.conf
dest: /opt/telegraf/telegraf.conf
mode: "{{ docker_compose_file_mask }}"
owner: "{{ docker_user.name }}"
notify: restart telegraf
become: true
- name: Install telegraf compose file
template:
src: files/telegraf/docker-compose.yml
dest: /opt/telegraf/docker-compose.yml
mode: "{{ docker_compose_file_mask }}"
owner: "{{ docker_user.name }}"
validate: docker-compose -f %s config
notify: restart telegraf
become: true

View file

@ -85,7 +85,7 @@
############################################################################### ###############################################################################
[[outputs.prometheus_client]] [[outputs.prometheus_client]]
listen = ":9273" listen = "{{ protected_ip }}:9273"
metric_version = 2 metric_version = 2

View file

@ -0,0 +1,4 @@
- name: Install and configure telegraf
import_role:
name: rossmcdonald.telegraf
become: true

View file

@ -0,0 +1,2 @@
telegraf_configuration_template: files/telegraf.conf
telegraf_aws_tags: false