Files
system-config/playbooks/roles/graphite/tasks/main.yaml
Clark Boylan 6973423807 Switch from netcat to netcat-openbsd package
The netcat package is a transitional package on focal and jammy and
ultimately installs netcat-openbsd on those platforms. On Noble the
transitional package is gone and we need to install either
netcat-openbsd or netcat-traditional. Choose netcat-openbsd since that
seems to be what we get by default on the older platforms in order to
support deploying on Noble as well as Focal/Jammy.

This is particularly useful for the updated zookeeper server
deployments.

Change-Id: I188acace3284b1f79cc0be9f20e4067cc924f5c2
2025-05-28 09:48:02 -07:00

85 lines
2.2 KiB
YAML

- name: Ensure docker-compose directories exists
file:
state: directory
path: '{{ item }}'
loop:
- /etc/graphite-docker
- /etc/graphite-docker/graphite
- /etc/graphite-docker/graphite/conf
- name: Write settings file
template:
src: docker-compose.yaml.j2
dest: /etc/graphite-docker/docker-compose.yaml
- name: Write storage config file
template:
src: storage-schemas.conf.j2
dest: /etc/graphite-docker/graphite/conf/storage-schemas.conf
- name: Write storage aggregation config file
template:
src: storage-aggregation.conf.j2
dest: /etc/graphite-docker/graphite/conf/storage-aggregation.conf
- name: Write nginx override config
template:
src: graphite-statsd.conf.j2
dest: /etc/graphite-docker/graphite-statsd.conf
- name: Write statsd override config
template:
src: statsd.js.j2
dest: /etc/graphite-docker/statsd.js
- name: Ensure storage directory exists
file:
state: directory
path: /opt/graphite/storage
- name: Ensure log directory exists
file:
state: directory
path: /var/log/graphite
- name: Run docker-compose pull
shell:
cmd: docker-compose pull
chdir: /etc/graphite-docker/
- name: Run docker-compose up
shell:
cmd: docker-compose up -d
chdir: /etc/graphite-docker/
- name: Run docker prune to cleanup unneeded images
shell:
cmd: docker image prune -f
# net is handy to have on the host for checking stat ingestion
# whisper utils are handy for inspecting .wsp files for debugging
- name: Install netcat
package:
name:
- netcat-openbsd
- python3-whisper
state: present
# Removes files not updated for ~9 months, and clears out empty directories
- name: Run periodic cleanup
cron:
name: "Graphite cleanup"
minute: "0"
hour: "2"
job: >
bash -c 'echo "--- $(date) ---";
find /opt/graphite/storage/whisper -type f -mtime +270 -name "*.wsp" -delete -print;
find /opt/graphite/storage/whisper -depth -type d -empty -delete -print'
>> /var/log/graphite-cleanup.log 2>&1
- name: Rotate cleanup logs
include_role:
name: logrotate
vars:
logrotate_file_name: '/var/log/graphite-cleanup.log'