From f8b9813461a37c1ee650d3c6630e52235936c561 Mon Sep 17 00:00:00 2001 From: Saibotk Date: Mon, 20 Jan 2025 00:19:33 +0100 Subject: [PATCH] remove!(telegraf): unused --- roles/telegraf/README.md | 27 ----- roles/telegraf/defaults/main.yml | 116 -------------------- roles/telegraf/handlers/main.yml | 24 ---- roles/telegraf/meta/main.yml | 43 -------- roles/telegraf/tasks/main.yml | 78 ------------- roles/telegraf/templates/docker-compose.yml | 67 ----------- roles/telegraf/templates/telegraf.conf | 104 ------------------ 7 files changed, 459 deletions(-) delete mode 100644 roles/telegraf/README.md delete mode 100644 roles/telegraf/defaults/main.yml delete mode 100644 roles/telegraf/handlers/main.yml delete mode 100644 roles/telegraf/meta/main.yml delete mode 100644 roles/telegraf/tasks/main.yml delete mode 100644 roles/telegraf/templates/docker-compose.yml delete mode 100644 roles/telegraf/templates/telegraf.conf diff --git a/roles/telegraf/README.md b/roles/telegraf/README.md deleted file mode 100644 index dabf816..0000000 --- a/roles/telegraf/README.md +++ /dev/null @@ -1,27 +0,0 @@ -Telegraf -========= - -This will setup a [Telegraf](https://docs.influxdata.com/telegraf/) container using their official docker container to monitor the system. - -Requirements ------------- - -You will need to have docker and docker-compose installed or declared as dependencies with their respective roles. - -Role Variables --------------- - -**Please look at the [defaults/main.yml](defaults/main.yml) for all available variables and their description.** - -**Note: Lines that are commented out via `#` are usually still valid/used variables, but they are not defined by default, so they might enable a feature, when uncommenting/defining them!** - -Dependencies ------------- - -- docker -- docker-compose - -License -------- - -GPL-3.0-only \ No newline at end of file diff --git a/roles/telegraf/defaults/main.yml b/roles/telegraf/defaults/main.yml deleted file mode 100644 index e8f8fd3..0000000 --- a/roles/telegraf/defaults/main.yml +++ /dev/null @@ -1,116 +0,0 @@ ---- -# Default variables for the telegraf role - -# Infrastructure -# Ansible instructions to deploy the infrastructure -# Copyright (C) 2019-2020 Christoph (Sheogorath) Kern -# Copyright (C) 2020 Saibotk -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# The install locations -telegraf_install_location: "/srv/telegraf" -telegraf_config_location: "{{ telegraf_install_location }}/conf" - -# The telegraf/dockersocket version to use -# renovate: depName=docker.io/library/telegraf -telegraf_version: "1.25.3" -# renovate: depName=quay.io/sheogorath/docker-socket-proxy -telegraf_dockersocketproxy_version: "2.3" -# Changing this image may also require changing the UID / GID below, -# to set the correct permissions -telegraf_image_version: "{{ telegraf_version }}-alpine" - -# Telegraf config user & group id -# This is used for the config folder that is mounted to the container -telegraf_config_uid: 100 -telegraf_config_gid: 101 - -# The influxdb endpoints, telegraf should send data to -telegraf_influxdb_endpoints: - - influxdb.example.com - -# The influxdb credentials -telegraf_influxdb_username: telegraf -telegraf_influxdb_password: "{{ lookup('passwordstore', telegraf_influxdb_endpoints[0] + '/db create=true length=42') }}" - -# The retention policy settings (see https://github.com/influxdata/telegraf/blob/release-1.15/plugins/outputs/influxdb/README.md) -telegraf_influxdb_retention_policy: "" -telegraf_influxdb_retention_policy_tag: "" - -# Telegraf agent configuration (see https://docs.influxdata.com/telegraf/v1.15/administration/configuration/) -telegraf_agent_hostname: "{{ ansible_fqdn }}" -telegraf_agent_interval: 10 -telegraf_agent_debug: false -telegraf_agent_round_interval: true -telegraf_agent_flush_interval: 10 -telegraf_agent_flush_jitter: 5 -telegraf_agent_collection_jitter: 5 -telegraf_agent_metric_batch_size: 2000 -telegraf_agent_metric_buffer_limit: 1000000 -telegraf_agent_omit_hostname: false - -# The telegraf config's [global_tags] section (see https://docs.influxdata.com/telegraf/v1.15/administration/configuration/) -telegraf_global_tags: [] - -# The telegraf [[outputs.type]] sections (see https://docs.influxdata.com/telegraf/v1.15/administration/configuration/) -telegraf_output: - - type: influxdb - config: - - urls = ["https://{{ telegraf_influxdb_endpoints | join('","https://') }}"] - - database = "telegraf" - - timeout = "5s" - - username = "{{ telegraf_influxdb_username }}" - - password = "{{ telegraf_influxdb_password }}" - - retention_policy = "autogen" - - retention_policy_tag = "retention_policy" - -# The telegraf input plugins that are enabled by default (see https://docs.influxdata.com/telegraf/v1.15/plugins/plugin-list/) -telegraf_plugins: - - plugin: internal - - plugin: cpu - config: - - percpu = true - - totalcpu = true - - collect_cpu_time = false - - report_active = false - - plugin: disk - config: - - ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"] - - plugin: diskio - - plugin: kernel - - plugin: mem - - plugin: processes - - plugin: swap - - plugin: system - - plugin: docker - config: - - endpoint = "tcp://dockersocket:2375" - - container_names = [] - - timeout = "5s" - - total = false - - plugin: docker_log - config: - - endpoint = "tcp://dockersocket:2375" - - source_tag = true - tags: - - retention_policy = "logs" - -# Additional plugins, these will be added to the list of plugins above -telegraf_plugins_extra: [] - -# The telegraf processor plugins list (see https://docs.influxdata.com/telegraf/v1.15/plugins/plugin-list/) -# telegraf_processors = [] - -# Extra volumes that should be mounted inside the telegraf container -telegraf_extra_volumes: [] diff --git a/roles/telegraf/handlers/main.yml b/roles/telegraf/handlers/main.yml deleted file mode 100644 index 44884c1..0000000 --- a/roles/telegraf/handlers/main.yml +++ /dev/null @@ -1,24 +0,0 @@ ---- -# Handlers for the telegraf role - -# Infrastructure -# Ansible instructions to deploy the infrastructure -# Copyright (C) 2019-2020 Christoph (Sheogorath) Kern -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -- name: Restart telegraf - community.docker.docker_compose_v2: - project_src: "{{ telegraf_install_location }}" - state: restarted - become: true diff --git a/roles/telegraf/meta/main.yml b/roles/telegraf/meta/main.yml deleted file mode 100644 index ca28d16..0000000 --- a/roles/telegraf/meta/main.yml +++ /dev/null @@ -1,43 +0,0 @@ -galaxy_info: - author: saibotk - description: "Deploys a telegraf container for monitoring." - license: GPL-3.0-only - min_ansible_version: "2.9" - standalone: true - - platforms: - - name: EL - versions: - - all - - name: GenericUNIX - versions: - - all - - name: Fedora - versions: - - all - - name: opensuse - versions: - - all - - name: GenericBSD - versions: - - all - - name: FreeBSD - versions: - - all - - name: Ubuntu - versions: - - all - - name: SLES - versions: - - all - - name: GenericLinux - versions: - - all - - name: Debian - versions: - - all - - galaxy_tags: [] - -dependencies: - - role: docker diff --git a/roles/telegraf/tasks/main.yml b/roles/telegraf/tasks/main.yml deleted file mode 100644 index 0aa332b..0000000 --- a/roles/telegraf/tasks/main.yml +++ /dev/null @@ -1,78 +0,0 @@ ---- -# Tasks file for the telegraf role - -# Infrastructure -# Ansible instructions to deploy the infrastructure -# Copyright (C) 2019-2020 Christoph (Sheogorath) Kern -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -- name: Update default SELinux contexts - community.general.sefcontext: - target: "{{ item }}(/.*)?" - setype: "container_file_t" - state: present - with_items: - - "{{ telegraf_config_location }}" - become: true - -- name: Create install directory - ansible.builtin.file: - path: "{{ item }}" - state: directory - mode: "0700" - owner: "root" - group: "root" - with_items: - - "{{ telegraf_install_location }}" - become: true - -- name: Create config directory - ansible.builtin.file: - path: "{{ item }}" - mode: "0700" - owner: "{{ telegraf_config_uid }}" - group: "{{ telegraf_config_gid }}" - state: directory - setype: "container_file_t" - with_items: - - "{{ telegraf_config_location }}" - become: true - -- name: Deploy docker-compose.yml - ansible.builtin.template: - src: "docker-compose.yml" - dest: "{{ telegraf_install_location }}/docker-compose.yml" - mode: "0600" - owner: "root" - group: "root" - validate: docker compose -f %s config -q - become: true - -- name: Deploy telegraf config - ansible.builtin.template: - src: "telegraf.conf" - dest: "{{ telegraf_config_location }}/telegraf.conf" - mode: "0600" - owner: "{{ telegraf_config_uid }}" - group: "{{ telegraf_config_gid }}" - notify: "Restart telegraf" - become: true - -- name: Compose telegraf - community.docker.docker_compose_v2: - state: present - project_src: "{{ telegraf_install_location }}" - pull: always - remove_orphans: true - become: true diff --git a/roles/telegraf/templates/docker-compose.yml b/roles/telegraf/templates/docker-compose.yml deleted file mode 100644 index e7459f8..0000000 --- a/roles/telegraf/templates/docker-compose.yml +++ /dev/null @@ -1,67 +0,0 @@ -{{ ansible_managed | comment }} - -# Infrastructure -# Ansible instructions to deploy the infrastructure -# Copyright (C) 2019-2020 Christoph (Sheogorath) Kern -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, version 3 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -version: "2" -services: - - telegraf: - image: docker.io/library/telegraf:{{ telegraf_image_version }} - restart: always - mem_limit: 256mb - memswap_limit: 384mb - read_only: false # TODO: switch to self-made container - security_opt: - - label:disable - environment: - HOST_PROC: /rootfs/proc - HOST_SYS: /rootfs/sys - HOST_ETC: /rootfs/etc - volumes: - - {{ telegraf_config_location }}:/etc/telegraf/:ro - - /sys:/rootfs/sys:ro - - /proc:/rootfs/proc:ro - - /etc:/rootfs/etc:ro -{% for item in telegraf_extra_volumes %} - - "{{item}}" -{% endfor %} - networks: - telegraf: - - dockersocket: - image: quay.io/sheogorath/docker-socket-proxy:{{ telegraf_dockersocketproxy_version }} - mem_limit: 16mb - memswap_limit: 32mb - security_opt: - - "label:disable" - read_only: true - tmpfs: - - /run/:size=32K - environment: - - "CONTAINERS=1" - - "INFO=1" - - "NETWORKS=1" - - "IMAGES=1" - - "LOG_LEVEL=notice" - volumes: - - "/var/run/docker.sock:/var/run/docker.sock:ro" - networks: - telegraf: - restart: always - -networks: - telegraf: diff --git a/roles/telegraf/templates/telegraf.conf b/roles/telegraf/templates/telegraf.conf deleted file mode 100644 index 5ce1b5d..0000000 --- a/roles/telegraf/templates/telegraf.conf +++ /dev/null @@ -1,104 +0,0 @@ -{{ ansible_managed | comment }} -# Source: https://github.com/dj-wasabi/ansible-telegraf/blob/master/templates/telegraf.conf.j2 - -[global_tags] -{% if telegraf_global_tags is defined and telegraf_global_tags is iterable %} -{% for item in telegraf_global_tags %} - {{ item.tag_name }} = "{{ item.tag_value }}" -{% endfor %} -{% endif %} - -# Configuration for telegraf agent -[agent] - interval = "{{ telegraf_agent_interval }}s" - debug = {{ telegraf_agent_debug | lower }} - 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" - collection_jitter = "{{ telegraf_agent_collection_jitter }}s" - metric_batch_size = {{ telegraf_agent_metric_batch_size }} - metric_buffer_limit = {{ telegraf_agent_metric_buffer_limit }} - omit_hostname = {{ telegraf_agent_omit_hostname | lower }} - - -############################################################################### -# OUTPUTS # -############################################################################### - -{% if telegraf_output is defined and telegraf_output is iterable %} -{% for item in telegraf_output %} -[[outputs.{{ item.type }}]] -{% for items in item.config %} - {{ items }} -{% endfor %} -{% if item.tagpass is defined and item.tagpass is iterable %} - [outputs.{{ item.type }}.tagpass] -{% for items in item.tagpass %} - {{ items }} -{% endfor %} -{% endif %} -{% if item.tagdrop is defined and item.tagdrop is iterable %} - [outputs.{{ item.type }}.tagdrop] -{% for items in item.tagdrop %} - {{ items }} -{% endfor %} -{% endif %} -{% endfor %} -{% endif %} - -############################################################################### -# INPUTS # -############################################################################### - -{% if telegraf_plugins is defined and telegraf_plugins is iterable %} -{% for item in telegraf_plugins + telegraf_plugins_extra %} -[[inputs.{{ item.plugin }}]] -{% if item.interval is defined %} - interval = "{{ item.interval }}s" -{% endif %} -{% if item.config is defined and item.config is iterable %} -{% for items in item.config %} - {{ items }} -{% endfor %} -{% endif %} -{% if item.tags is defined and item.tags is iterable %} - [inputs.{{ item.plugin }}.tags] -{% for items in item.tags %} - {{ items }} -{% endfor %} -{% endif %} -{% if item.tagpass is defined and item.tagpass is iterable %} - [inputs.{{ item.plugin }}.tagpass] -{% for items in item.tagpass %} - {{ items }} -{% endfor %} -{% endif %} -{% if item.tagdrop is defined and item.tagdrop is iterable %} - [inputs.{{ item.plugin }}.tagdrop] -{% for items in item.tagdrop %} - {{ items }} -{% endfor %} -{% endif %} -{% endfor %} -{% endif %} - -{% if telegraf_plugins is defined and telegraf_plugins|length == 0 %} -# No plugins configured, added a mem plugin so telegraf doesn't stop working. -[[inputs.mem]] -{% endif %} - -############################################################################### -# PROCESSORS # -############################################################################### - -{% if telegraf_processors is defined and telegraf_processors is iterable %} -{% for item in telegraf_processors %} -[[processors.{{ item.processor }}]] -{% if item.config is defined and item.config is iterable %} -{% for items in item.config %} - {{ items }} -{% endfor %} -{% endif %} -{% endfor %} -{% endif %}