From 9c85eef92a78856132f509e8224b56b868d37793 Mon Sep 17 00:00:00 2001 From: L3D Date: Mon, 21 Nov 2022 17:39:07 +0100 Subject: [PATCH] config ping exporter --- defaults/main.yml | 4 ++++ tasks/config.yml | 9 +++++++++ tasks/install.yml | 18 ++++++++++++++++++ tasks/main.yml | 6 ++++++ templates/ping_exporter_config.yml | 18 ++++++++++++++++++ 5 files changed, 55 insertions(+) create mode 100644 tasks/config.yml create mode 100644 tasks/install.yml create mode 100644 templates/ping_exporter_config.yml diff --git a/defaults/main.yml b/defaults/main.yml index 2fe8374..3533c5c 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -8,5 +8,9 @@ ping_exporter__shell: '/bin/false' # Version ping_exporter__version: 'latest' +# config +ping_exporter__targets: [] +ping_exporter__nameserver: '9.9.9.9' + # should we do a version check? (recomended) submodules_versioncheck: false diff --git a/tasks/config.yml b/tasks/config.yml new file mode 100644 index 0000000..866dd5f --- /dev/null +++ b/tasks/config.yml @@ -0,0 +1,9 @@ +--- +- name: Create ping exporter config + become: true + ansible.builtin.template: + src: 'templates/ping_exporter_config.yml' + dest: "{{ ping_exporter__user_home }}/ping_exporter_config.yml" + mode: 0640 + owner: "{{ ping_exporter__user }}" + group: "{{ ping_exporter__group }}" diff --git a/tasks/install.yml b/tasks/install.yml new file mode 100644 index 0000000..6c120ba --- /dev/null +++ b/tasks/install.yml @@ -0,0 +1,18 @@ +--- +- name: Update apt cache + become: true + ansible.builtin.apt: + cache_valid_time: 3600 + update_cache: true + when: + - ansible_pkg_mgr == "apt" + +- name: Install ping_exporter binary + become: true + ansible.builtin.apt: + # yamllint disable-line rule:line-length + deb: "https://github.com/czerwonk/ping_exporter/releases/download/{{ ping_exporter_version_target }}/ping_exporter_{{ ping_exporter_version_target }}_linux_amd64.deb" + when: + - ansible_pkg_mgr == "apt" + +# TODO: Multi OS support and verify download diff --git a/tasks/main.yml b/tasks/main.yml index 6402dc1..c21d086 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -8,3 +8,9 @@ - name: Get latest release and define version ansible.builtin.include_tasks: set_version.yml + +- name: Install ping exporter + ansible.builtin.include_tasks: install.yml + +- name: Configurel ping exporter + ansible.builtin.include_tasks: config.yml diff --git a/templates/ping_exporter_config.yml b/templates/ping_exporter_config.yml new file mode 100644 index 0000000..5cbc20a --- /dev/null +++ b/templates/ping_exporter_config.yml @@ -0,0 +1,18 @@ +--- +# +# {{ ansible_managed }} +# +targets: {{ping_exporter__targets}} + +dns: + refresh: 2m15s + nameserver: {{ping_exporter__nameserver}} + +ping: + interval: 2s + timeout: 3s + history-size: 42 + payload-size: 120 + +options: + disableIPv6: false