diff --git a/portage_exporter.sh b/portage_exporter.sh index 3799e24..ccd9ba5 100755 --- a/portage_exporter.sh +++ b/portage_exporter.sh @@ -8,6 +8,19 @@ TEXTFILE_COLLECTOR_DIR=${TEXTFILE_COLLECTOR_DIR:-/var/lib/node_exporter/} PROM_FILE=$TEXTFILE_COLLECTOR_DIR/portage.prom TMP_FILE=$PROM_FILE.$$ + +CRITICAL=( + "www-servers/" + "www-client/" + "www-apps/" + "dev-libs/openssl" + "net-libs/gnutls" + "webkit" + "webengine" + "mail-mta/postfix" + "net-mail/dovecot" + ) + function dumpInfo () { local root="$1" if [[ "$root" == "/" ]] ; then @@ -19,10 +32,12 @@ function dumpInfo () { age_seconds="$(( $(date +%s) - $("${mychroot[@]}" date +%s -r "$portage_timestamp") ))" update_count="$("${mychroot[@]}" eix -u -c | wc -l)" selected_update_count="$("${mychroot[@]}" eix -u -c --selected | wc -l)" + critical_update_count="$("${mychroot[@]}" eix -u -c | grep ${CRITICAL[@]/#/-e } | wc -l)" glsa_count="$("${mychroot[@]}" glsa-check -t all 2> /dev/null | wc -l )" echo portage_age_seconds\{host=\""$HOSTNAME"\", root=\""$root"\"\} "$age_seconds" echo portage_package_update_count\{host=\""$HOSTNAME"\", root=\""$root"\"\} "$update_count" echo portage_selected_package_update_count\{host=\""$HOSTNAME"\", root=\""$root"\"\} "$selected_update_count" + echo portage_critical_package_update_count\{host=\""$HOSTNAME"\", root=\""$root"\"\} "$critical_update_count" echo portage_glsa_count\{host=\""$HOSTNAME"\", root=\""$root"\"\} "$glsa_count" }