From 3c38d3c321e03e7af48efbec8aa6c5270e85fe32 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Fri, 3 Feb 2023 17:16:38 +0100 Subject: add promzone-test --- chaos-at-home/ch-testvm-phoebe.yml | 16 ++++++++ chaos-at-home/ch-testvm-prometheus.yml | 21 ++++++++++ chaos-at-home/host_vars/ch-testvm-prometheus.yml | 10 +++++ inventory/group_vars/promzone-test/vars.yml | 28 +++++++++++++ inventory/host_vars/ch-testvm-phoebe.yml | 22 ++++++++++ inventory/host_vars/ch-testvm-prometheus.yml | 51 ++++++++++++++++++++++++ inventory/hosts.ini | 7 ++++ 7 files changed, 155 insertions(+) create mode 100644 chaos-at-home/ch-testvm-phoebe.yml create mode 100644 chaos-at-home/ch-testvm-prometheus.yml create mode 100644 chaos-at-home/host_vars/ch-testvm-prometheus.yml create mode 100644 inventory/group_vars/promzone-test/vars.yml diff --git a/chaos-at-home/ch-testvm-phoebe.yml b/chaos-at-home/ch-testvm-phoebe.yml new file mode 100644 index 00000000..29b260c0 --- /dev/null +++ b/chaos-at-home/ch-testvm-phoebe.yml @@ -0,0 +1,16 @@ +--- +- name: Basic Setup + hosts: ch-testvm-phoebe + roles: + - role: apt-repo/base + - role: core/base + - role: core/sshd/base + - role: core/zsh + - role: core/ntp + +- name: Payload Setup + hosts: ch-testvm-phoebe + roles: + - role: apt-repo/spreadspace + - role: nginx/base + - role: monitoring/prometheus/exporter diff --git a/chaos-at-home/ch-testvm-prometheus.yml b/chaos-at-home/ch-testvm-prometheus.yml new file mode 100644 index 00000000..9a6c75a2 --- /dev/null +++ b/chaos-at-home/ch-testvm-prometheus.yml @@ -0,0 +1,21 @@ +--- +- name: Basic Setup + hosts: ch-testvm-prometheus + roles: + - role: apt-repo/base + - role: core/base + - role: core/sshd/base + - role: core/zsh + - role: core/ntp + +- name: Payload Setup + hosts: ch-testvm-prometheus + roles: + - role: apt-repo/spreadspace + - role: nginx/base + - role: monitoring/prometheus/ca + - role: monitoring/prometheus/exporter + - role: monitoring/prometheus/server + #- role: monitoring/prometheus/alertmanager + #- role: monitoring/grafana + - role: monitoring/landingpage diff --git a/chaos-at-home/host_vars/ch-testvm-prometheus.yml b/chaos-at-home/host_vars/ch-testvm-prometheus.yml new file mode 100644 index 00000000..96c4c4c0 --- /dev/null +++ b/chaos-at-home/host_vars/ch-testvm-prometheus.yml @@ -0,0 +1,10 @@ +$ANSIBLE_VAULT;1.2;AES256;chaos-at-home +65333963383964373635323435373166616165343161653835323639613262633130336163306166 +3838633737333833396335636330386666356465386264660a633832323038646438303037373435 +37346330643937366239663166316463393863613537646663376432616264633864376234623463 +3032613734373131300a386134623361376361303534633334326366313036323564346539333636 +33336335643963346337376539336663303132366136626464303836303233313338353435353763 +64303739363261363533643934633830356533396637316363356438353661616139353261363435 +39356239383832633166656664313635663531303030326238643032646237353930633062326430 +30643762613730306339636161653134333835393835356234376236616137626339303834353831 +61396632386135666434616539303334336666636262383439646138346433633736 diff --git a/inventory/group_vars/promzone-test/vars.yml b/inventory/group_vars/promzone-test/vars.yml new file mode 100644 index 00000000..83110df7 --- /dev/null +++ b/inventory/group_vars/promzone-test/vars.yml @@ -0,0 +1,28 @@ +--- +prometheus_scrape_endpoint: "{{ network.primary.address | ansible.utils.ipaddr('address') }}:9999" + +prometheus_exporters_extra: [] +prometheus_exporters_default: + - node + +prometheus_exporter_node_version: 1.5.0 +prometheus_exporter_ipmi_version: 1.6.1 +prometheus_exporter_ssl_version: 2.4.2 +prometheus_exporter_blackbox_version: 0.23.0 +prometheus_exporter_nut_version: 2.5.2 +prometheus_exporter_smokeping_version: 0.6.1 +prometheus_exporter_bind_version: 0.6.0 + +prometheus_server_version: 2.41.0 +prometheus_alertmanager_version: 0.25.0 + +prometheus_server: ch-testvm-prometheus +prometheus_server_jobs: + - node + - blackbox + - blackbox/probe + - ssl + - ssl/probe + +prometheus_zone_name: chaos@test +prometheus_zone_targets: "{{ groups['promzone-test'] }}" diff --git a/inventory/host_vars/ch-testvm-phoebe.yml b/inventory/host_vars/ch-testvm-phoebe.yml index 109f820f..94c9eca3 100644 --- a/inventory/host_vars/ch-testvm-phoebe.yml +++ b/inventory/host_vars/ch-testvm-phoebe.yml @@ -37,3 +37,25 @@ network: - *_network_primary_ - name: iot0 address: "{{ network_zones.iot.prefix | ansible.utils.ipaddr(network_zones.iot.offsets[inventory_hostname]) }}" + +ntp_variant: systemd-timesyncd + + +spreadspace_apt_repo_components: + - prometheus + + +prometheus_exporters_extra: + - ssl + +prometheus_job_multitarget_blackbox__probe: + ch-testvm-prometheus: + - instance: "ssh-{{ inventory_hostname }}" + target: "{{ network_zones.svc.prefix | ansible.utils.ipaddr(network_zones.svc.offsets[inventory_hostname]) | ansible.utils.ipaddr('address') }}:{{ ansible_port | default(22) }}" + module: ssh_banner + +prometheus_job_multitarget_ssl__probe: + ch-testvm-phoebe: + - instance: "sslcert-prometheus-{{ inventory_hostname }}" + target: "/etc/ssl/prometheus/**/*.pem" + module: file diff --git a/inventory/host_vars/ch-testvm-prometheus.yml b/inventory/host_vars/ch-testvm-prometheus.yml index f95366b0..034b5d67 100644 --- a/inventory/host_vars/ch-testvm-prometheus.yml +++ b/inventory/host_vars/ch-testvm-prometheus.yml @@ -33,3 +33,54 @@ network: gateway: "{{ network_zones.svc.prefix | ansible.utils.ipaddr(network_zones.svc.offsets['ch-gw-lan']) | ansible.utils.ipaddr('address') }}" interfaces: - *_network_primary_ + +ntp_variant: systemd-timesyncd + + +spreadspace_apt_repo_components: + - prometheus + + +prometheus_server_storage: + type: lvm + vg: "{{ host_name }}" + lv: prometheus + size: 1G + fs: ext4 + +prometheus_server_external_labels: + environment: chaos-at-test + monitor: "{{ inventory_hostname }}" + +prometheus_server_web_external_url: "http://{{ network.primary.address | ansible.utils.ipaddr('address') }}/prometheus/" + +prometheus_server_auth_users: + server: "{{ vault_prometheus_server_auth_user_passwords['server'] }}" + admin: "{{ vault_prometheus_server_auth_user_passwords['admin'] }}" + +prometheus_server_selfscraping_auth: + username: server + password: "{{ vault_prometheus_server_auth_user_passwords['server'] }}" + + +prometheus_exporters_extra: + - blackbox + - ssl + + +prometheus_job_multitarget_blackbox__probe: + ch-testvm-prometheus: + - instance: "ssh-{{ inventory_hostname }}" + target: "{{ network_zones.svc.prefix | ansible.utils.ipaddr(network_zones.svc.offsets[inventory_hostname]) | ansible.utils.ipaddr('address') }}:{{ ansible_port | default(22) }}" + module: ssh_banner + +prometheus_job_multitarget_ssl__probe: + ch-testvm-prometheus: + - instance: "sslcert-prometheus-{{ inventory_hostname }}" + target: "/etc/ssl/prometheus/**/*.pem" + module: file + + +monitoring_landingpage_hostnames: + - "mon-test.chaos-at-home.org" +monitoring_landingpage_title: "chaos@test Monitoring Host" diff --git a/inventory/hosts.ini b/inventory/hosts.ini index da3193a6..21b31e3c 100644 --- a/inventory/hosts.ini +++ b/inventory/hosts.ini @@ -460,6 +460,13 @@ ele-telesto promzone-elevate-festival-server #elevate-mediachannel +[promzone-test-server] +ch-testvm-prometheus +[promzone-test] +ch-testvm-phoebe +[promzone-test:children] +promzone-test-server + ## openvpn # [ovpnzone-test-server] -- cgit v1.2.3