* 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.
		
			
				
	
	
		
			177 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			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 }}"}
 |