Add Voyager tunnel and monitoring telemetry
This commit is contained in:
+25
-9
@@ -1,27 +1,43 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import logging
|
||||
from pathlib import Path
|
||||
|
||||
from collectors.docker import collect as docker_collect
|
||||
from .common import write_json
|
||||
from collectors.backup import collect as backup_collect
|
||||
from collectors.git import collect as git_collect
|
||||
from collectors.certificates import collect as certificates_collect
|
||||
from collectors.git import collect as git_collect
|
||||
from collectors.monitoring import collect as monitoring_collect
|
||||
from collectors.system import collect as system_collect
|
||||
from collectors.wireguard import collect as wireguard_collect
|
||||
from .common import write_json
|
||||
|
||||
OUTPUT = Path("/opt/docker/caddy/site/voyager/data/status.json")
|
||||
LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def collect_safely(name, collector):
|
||||
try:
|
||||
return collector()
|
||||
except Exception:
|
||||
LOGGER.exception("%s telemetry collection failed", name)
|
||||
return {
|
||||
"state": "offline", "health": "unavailable",
|
||||
"summary": "Unavailable", "detail": f"{name} telemetry unavailable",
|
||||
}
|
||||
|
||||
|
||||
def main():
|
||||
payload = {
|
||||
"systems": {
|
||||
"backup": backup_collect(),
|
||||
"git": git_collect(),
|
||||
"docker": docker_collect(),
|
||||
"certificates": certificates_collect(),
|
||||
"system": system_collect(),
|
||||
"backup": backup_collect(),
|
||||
"git": git_collect(),
|
||||
"docker": docker_collect(),
|
||||
"certificates": certificates_collect(),
|
||||
"system": system_collect(),
|
||||
"wireguard": collect_safely("WireGuard", wireguard_collect),
|
||||
"monitoring": collect_safely("Monitoring", monitoring_collect),
|
||||
}
|
||||
}
|
||||
|
||||
write_json(OUTPUT, payload)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user