#!/usr/bin/bash set -euo pipefail json_file="/var/lib/zabbix/telemt-active-ips.json" metrics_file="/var/lib/zabbix/telemt-metrics.prom" case "${1:-}" in active_ips_count) jq '[.users[].active_unique_ips[]] | unique | length' "${json_file}" ;; connections_current) awk '$1 ~ /^telemt_user_connections_current\{/ {sum += $2} END {print sum + 0}' "${metrics_file}" ;; connections_total) awk '$1 ~ /^telemt_user_connections_total\{/ {sum += $2} END {print sum + 0}' "${metrics_file}" ;; bytes_received) awk '$1 ~ /^telemt_user_octets_from_client\{/ {sum += $2} END {printf "%.0f\n", sum + 0}' "${metrics_file}" ;; bytes_sent) awk '$1 ~ /^telemt_user_octets_to_client\{/ {sum += $2} END {printf "%.0f\n", sum + 0}' "${metrics_file}" ;; uptime) awk '$1 == "telemt_uptime_seconds" {printf "%.0f\n", $2; found=1} END {if (!found) exit 1}' "${metrics_file}" ;; *) printf 'unsupported Telemt value: %s\n' "${1:-}" >&2 exit 2 ;; esac