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
85 lines
2.2 KiB
YAML
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'
|