Chad e66dbed7a8
Enhance Functions + General Improvements (#52)
* Add an alternative to Audacity.

* Remove the Brave Browser since the repo has started failing and I only use Firefox browsers these days.

* Remove alias audacity for tenacity.

* Ignore if the repos are already removed.

* Stop installing Telegraf.

* Add the new dconf name for System Monitor.

* Remove the download if it already exists. Force the move.

* Fix overwrite prompt for Metasploit.

* Don't do flatpaks during a battery device's goodbye.

* Fix variable case, add quotes.

* Fix double quotes.

* Add full set of commands for compressing videos.

* Fix trash size checking to work for folders.

* Allow only updating system or Flatpak programs.

* Also check the DE trash folder.

* No longer have Flatpaks contingent on system updates.

* Improve variable names and flow.

* Fix maxdepth.

* Check network mounts for hidden trash folders.

* Add media. Only restrict maxdepth for Home directory.

* Properly check media.

* Ensure hidden files also get seen and removed.
2024-09-23 11:51:17 -07:00

177 lines
5.6 KiB
YAML

---
# Application that populates InfluxDB with metric data.
# https://docs.influxdata.com/telegraf/v1.17/introduction/getting-started/
# Variables #
- name: General | Telegraf | Variables 1/4
set_fact:
telegraf_tar: telegraf-1.20.3_linux_amd64.tar.gz
telegraf_path: /usr/local/bin
telegraf_config_path: /usr/local/etc
telegraf_user: "{{ user_ansible.name }}"
telegraf_log: "{{ user_ansible.home }}/telegraf.log"
- name: General | Telegraf | Variables 2/4
set_fact:
telegraf_exec: "{{ telegraf_path }}/telegraf"
telegraf_config: "{{ telegraf_config_path }}/telegraf.conf"
- name: General | Telegraf | Variables 3/4
set_fact:
telegraf_cmd: "{{ telegraf_exec }} --config {{ telegraf_config }} >> {{ telegraf_log }} 2>&1"
- name: General | Telegraf | Variables 4/4
set_fact:
telegraf_watcher: "killall telegraf; {{ telegraf_cmd }}"
- name: General | Telegraf | Variables | Linux
set_fact:
telegraf_input_temp: "[[inputs.temp]]"
when: ansible_system == "Linux"
- name: General | Telegraf | Variables | FreeBSD
set_fact:
telegraf_input_temp: ""
when: ansible_system == "FreeBSD"
# 2024-05-23 Server has not been running for a while, stop installing this.
#### Dependencies #
###
###- name: General | Telegraf | Pre-Reqs
### package:
### name: wget
### when: ansible_system == "Linux"
###
#### Install #
###
###- name: General | Telegraf | Linux | Install
### shell: "{{ item }}"
### args:
### chdir: "{{ ansible_env.HOME }}/Downloads/"
### loop:
### - mkdir -p {{ telegraf_path }}
### - mkdir -p {{ telegraf_config_path }}
### - wget --no-check-certificate "https://dl.influxdata.com/telegraf/releases/{{ telegraf_tar }}"
### - tar xvf {{ telegraf_tar }}
### - mv {{ telegraf_tar }} ~/TRASH/
### - mv telegraf*/usr/bin/telegraf {{ telegraf_exec }}
### - rm -r telegraf*
### when: ansible_system == "Linux"
###
###- name: General | Telegraf | FreeBSD | Install 1/2
### shell: /usr/sbin/pwd_mkdb -p /etc/master.passwd
### when: ansible_system == "FreeBSD"
###
###- name: General | Telegraf | FreeBSD | Install 2/2
### package:
### name: telegraf
### when: ansible_system == "FreeBSD"
###
#### Configuration #
###
###- name: General | Telegraf | Config 1/2
### shell: mv {{ telegraf_config }} ~/TRASH/
### ignore_errors: yes
###
###- name: General | Telegraf | Config 2/2
### blockinfile:
### path: "{{ telegraf_config }}"
### block: |
### [global_tags]
### # dc = "us-east-1" # will tag all metrics with dc=us-east-1
### # rack = "1a"
### ## Environment variables can be used as tags, and throughout the config file
### # user = "$USER"
###
### [agent]
### interval = "{{ '300s' if battery else '5s' }}"
### metric_batch_size = 1000
### metric_buffer_limit = 10000
### collection_jitter = "0s"
### flush_interval = "30s"
### flush_jitter = "10s"
### precision = ""
### # debug = false
### # quiet = false
### # logtarget = "file"
### # logfile = ""
### # logfile_rotation_interval = "0d"
### # logfile_rotation_max_size = "0MB"
### # logfile_rotation_max_archives = 5
### hostname = ""
### omit_hostname = false
###
### [[outputs.influxdb]]
### urls = ["http://192.168.1.82:8086"]
### database = "main"
### # database_tag = ""
### # exclude_database_tag = false
### # skip_database_creation = false
### # retention_policy = ""
### # retention_policy_tag = ""
### # exclude_retention_policy_tag = false
### # write_consistency = "any"
### # timeout = "5s"
### # username = "telegraf"
### # password = "metricsmetricsmetricsmetrics"
### # user_agent = "telegraf"
### # udp_payload = "512B"
### # tls_ca = "/etc/telegraf/ca.pem"
### # tls_cert = "/etc/telegraf/cert.pem"
### # tls_key = "/etc/telegraf/key.pem"
### # insecure_skip_verify = false
### # http_proxy = "http://corporate.proxy:3128"
### # http_headers = {"X-Special-Header" = "Special-Value"}
### # content_encoding = "gzip"
### # influx_uint_support = false
###
### [[inputs.cpu]]
### percpu = false
### totalcpu = true
### collect_cpu_time = false
### report_active = false
###
### [[inputs.disk]]
### # mount_points = ["/"]
### ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs", "fdescfs", "procfs", "nullfs"]
###
### [[inputs.diskio]]
### # devices = ["sda", "sdb", "vd*"]
### # skip_serial_number = false
### # device_tags = ["ID_FS_TYPE", "ID_FS_USAGE"]
### # name_templates = ["$ID_FS_LABEL","$DM_VG_NAME/$DM_LV_NAME"]
###
### [[inputs.kernel]]
###
### [[inputs.mem]]
###
### [[inputs.processes]]
###
### [[inputs.swap]]
###
### [[inputs.system]]
### # fielddrop = ["uptime_format"]
###
### {{ telegraf_input_temp }}
###
### marker: '# {mark} MANAGED BY ANSIBLE - telegraf.yml'
### state: present
### create: yes
# Run #
- name: General | Telegraf | Schedule
cron:
user: "{{ telegraf_user }}"
name: "{{ item.name }}"
job: "{{ item.command }}"
special_time: "{{ item.freq }}"
state: present
#disabled: "{{ 'yes' if no_telem else 'no' }}"
disabled: yes # 2024-01-25, Downsizing again and will not have Graphana.
loop:
- { "name": "Telegraf Reboot Job" , "freq": "reboot", "command": "{{ telegraf_cmd }}"}
- { "name": "Telegraf Keep-Alive Job", "freq": "hourly", "command": "{{ telegraf_watcher }}"}