diff --git a/pillar/common/init.sls b/pillar/common/init.sls index 089a8ca..0081d9b 100644 --- a/pillar/common/init.sls +++ b/pillar/common/init.sls @@ -216,6 +216,7 @@ zypper: htop: {} less: {} lsof: {} + moreutils: {} {%- if virtual == 'kvm' %} qemu-guest-agent: {} {%- endif %} diff --git a/pillar/common/monitoring/node_exporter.sls b/pillar/common/monitoring/node_exporter.sls index bc12dd2..7c6b607 100644 --- a/pillar/common/monitoring/node_exporter.sls +++ b/pillar/common/monitoring/node_exporter.sls @@ -22,5 +22,6 @@ prometheus: )$'" collector.netdev.device-exclude: "'^d-o?s-[a-z]+$'" collector.zfs: false + collector.textfile.directory: /var/spool/prometheus collector.thermal_zone: false collector.powersupplyclass: false diff --git a/salt/profile/mailserver/files/cron/get_member_aliases b/salt/profile/mailserver/files/cron/get_member_aliases index 9d2f41a..e01b73f 100755 --- a/salt/profile/mailserver/files/cron/get_member_aliases +++ b/salt/profile/mailserver/files/cron/get_member_aliases @@ -4,17 +4,15 @@ tmp=$(mktemp -p /tmp -d memberaliases.XXXXXXXXXX) cd "$tmp" || exit 1 -nsca_client_name='{{grains.id}}' -nsca_client_service='openSUSE virtual_users' -nsca_server='monitor.infra.opensuse.org' -nsca_config='/etc/send_nsca.cfg' -#status_code=3 -#status_message='unknown' - -send_nsca_message(){ - local status_code="$1" - local status_message="$2" - echo -e "$nsca_client_name\t$nsca_client_service\t$status_code\t$status_message" | send_nsca -H $nsca_server -c "$nsca_config" +metrics_base='virtual_opensuse_users' + +write_metrics() { + { + printf '%s_status %i\n' "$metrics_base" "$1" + printf '%s_add %i\n' "$metrics_base" "$2" + printf '%s_remove %i\n' "$metrics_base" "$3" + printf '%s_total %i\n' "$metrics_base" "$4" + } | sponge /var/spool/prometheus/get_member_aliases.prom } mysql -h mysql.infra.opensuse.org -P3307 -Dmembers -NB -e 'select addr, email_target from email_aliases' >member.aliases.new @@ -30,9 +28,9 @@ total=$(wc -l /dev/null + write_metrics '0' "$added" "$removed" "$total" fi # tidy up diff --git a/salt/profile/monitoring/prometheus/textfiles.sls b/salt/profile/monitoring/prometheus/textfiles.sls new file mode 100644 index 0000000..c577442 --- /dev/null +++ b/salt/profile/monitoring/prometheus/textfiles.sls @@ -0,0 +1,2 @@ +/var/spool/prometheus: + file.directory diff --git a/salt/role/base.sls b/salt/role/base.sls index 9935c15..d51f690 100644 --- a/salt/role/base.sls +++ b/salt/role/base.sls @@ -37,4 +37,5 @@ include: - profile.sysctl - profile.motd - profile.dehydrated.target + - profile.monitoring.prometheus.textfiles - prometheus.config