consolidate dumping function

This commit is contained in:
layman 2022-05-16 22:32:42 +02:00
parent 230479534b
commit e76e10abc6

View file

@ -8,41 +8,37 @@ TEXTFILE_COLLECTOR_DIR=${TEXTFILE_COLLECTOR_DIR:-/var/lib/node_exporter/}
PROM_FILE=$TEXTFILE_COLLECTOR_DIR/portage.prom
TMP_FILE=$PROM_FILE.$$
echo "# TYPE portage_age_seconds gauge"
echo "# TYPE update_count gauge"
echo "# TYPE selected_update_count gauge"
echo "# TYPE glsa_count gauge"
HOSTNAME=${HOSTNAME:-$(hostname)}
(
portage_timestamp="/usr/portage/metadata/timestamp"
age_seconds="$(( $(date +%s) - $(date +%s -r "$portage_timestamp") ))"
update_count="$(eix -u -c | wc -l)"
selected_update_count="$(eix -u -c --selected | wc -l)"
glsa_count=$[$(glsa-check -t all | wc -l )]
echo portage_age_seconds\{host=\""$HOSTNAME"\"\} "$age_seconds"
echo update_count\{host=\""$HOSTNAME"\"\} "$update_count"
echo selectd_update_count\{host=\""$HOSTNAME"\"\} "$selected_update_count"
echo glsa_count\{host=\""$HOSTNAME"\"\} "$glsa_count"
)> "$TMP_FILE"
CHROOTS=(
"/var/lib/buildPackages/packages_amd64"
"/var/lib/buildPackages/desktop_amd64"
)
for root in "${CHROOTS[@]}"; do
function dumpInfo () {
local root="$1"
if [[ "$root" == "/" ]] ; then
local mychroot=()
else
local mychroot=( chroot "$root" )
fi
portage_timestamp="/usr/portage/metadata/timestamp"
age_seconds="$(( $(date +%s) - $(chroot "$root" date +%s -r "$portage_timestamp") ))"
update_count="$(chroot "$root" eix -u -c | wc -l)"
selected_update_count="$(chroot "$root" eix -u -c --selected | wc -l)"
glsa_count=$[$(chroot "$root" glsa-check -t all | wc -l )]
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)"
glsa_count="$("${mychroot[@]}" glsa-check -t all 2> /dev/null | wc -l )"
echo portage_age_seconds\{host=\""$HOSTNAME"\", root=\""$root"\"\} "$age_seconds"
echo update_count\{host=\""$HOSTNAME"\", root=\""$root"\"\} "$update_count"
echo selectd_update_count\{host=\""$HOSTNAME"\", root=\""$root"\"\} "$selected_update_count"
echo glsa_count\{host=\""$HOSTNAME"\", root=\""$root"\"\} "$glsa_count"
done > "$TMP_FILE"
}
HOSTNAME=${HOSTNAME:-$(hostname)}
(
echo "# TYPE portage_age_seconds gauge"
echo "# TYPE update_count gauge"
echo "# TYPE selected_update_count gauge"
echo "# TYPE glsa_count gauge"
dumpInfo "/"
) > "$TMP_FILE"
for root in "${CHROOTS[@]}"; do
dumpInfo "$root"
done >> "$TMP_FILE"
mv "$TMP_FILE" "$PROM_FILE"