chore: misc local changes (server.go, croned.py)
This commit is contained in:
@@ -33,7 +33,7 @@ const defaultSATokenPath = "/var/run/secrets/kubernetes.io/serviceaccount/token"
|
|||||||
type Server struct {
|
type Server struct {
|
||||||
dyn dynamic.Interface
|
dyn dynamic.Interface
|
||||||
kube kubernetes.Interface // typed client — только для логов подов
|
kube kubernetes.Interface // typed client — только для логов подов
|
||||||
ns string // системный namespace (fallback, обычно "fission")
|
ns string // системный namespace (fallback, обычно "fission")
|
||||||
routerURL string
|
routerURL string
|
||||||
http *http.Client
|
http *http.Client
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,14 @@ import os
|
|||||||
import urllib.request
|
import urllib.request
|
||||||
import urllib.error
|
import urllib.error
|
||||||
import json
|
import json
|
||||||
|
import datetime
|
||||||
|
|
||||||
COLLECTOR_URL = "http://metrics-collector.fission.svc.cluster.local:8091/metrics"
|
COLLECTOR_URL = "http://metrics-collector.fission.svc.cluster.local:8091/metrics"
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
now = datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S UTC")
|
||||||
|
print(f"[croned] start {now}", flush=True)
|
||||||
|
|
||||||
payload = {
|
payload = {
|
||||||
"source": "fission-cron-metrics",
|
"source": "fission-cron-metrics",
|
||||||
"hostname": os.uname().nodename,
|
"hostname": os.uname().nodename,
|
||||||
@@ -18,6 +22,7 @@ def main():
|
|||||||
payload["cpu_load_1m"] = load[0]
|
payload["cpu_load_1m"] = load[0]
|
||||||
payload["cpu_load_5m"] = load[1]
|
payload["cpu_load_5m"] = load[1]
|
||||||
payload["cpu_load_15m"] = load[2]
|
payload["cpu_load_15m"] = load[2]
|
||||||
|
print(f"[croned] cpu load: 1m={load[0]:.2f} 5m={load[1]:.2f} 15m={load[2]:.2f}", flush=True)
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -37,6 +42,7 @@ def main():
|
|||||||
payload["memory_available_mb"] = round(avail, 1)
|
payload["memory_available_mb"] = round(avail, 1)
|
||||||
payload["memory_used_mb"] = round(used, 1)
|
payload["memory_used_mb"] = round(used, 1)
|
||||||
payload["memory_percent"] = round(used / total * 100, 1) if total else 0
|
payload["memory_percent"] = round(used / total * 100, 1) if total else 0
|
||||||
|
print(f"[croned] mem: used={round(used,1)}MB / {round(total,1)}MB ({round(used/total*100,1) if total else 0}%)", flush=True)
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -49,6 +55,7 @@ def main():
|
|||||||
payload["disk_total_gb"] = round(total_gb, 1)
|
payload["disk_total_gb"] = round(total_gb, 1)
|
||||||
payload["disk_free_gb"] = round(free_gb, 1)
|
payload["disk_free_gb"] = round(free_gb, 1)
|
||||||
payload["disk_used_gb"] = round(used_gb, 1)
|
payload["disk_used_gb"] = round(used_gb, 1)
|
||||||
|
print(f"[croned] disk: used={round(used_gb,1)}GB / {round(total_gb,1)}GB", flush=True)
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -68,6 +75,8 @@ def main():
|
|||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
with urllib.request.urlopen(req, timeout=5) as resp:
|
with urllib.request.urlopen(req, timeout=5) as resp:
|
||||||
|
print(f"[croned] sent OK status={resp.status}", flush=True)
|
||||||
return {"ok": True, "status": resp.status}
|
return {"ok": True, "status": resp.status}
|
||||||
except urllib.error.URLError as e:
|
except urllib.error.URLError as e:
|
||||||
|
print(f"[croned] send ERROR: {e}", flush=True)
|
||||||
return {"ok": False, "error": str(e)}
|
return {"ok": False, "error": str(e)}
|
||||||
|
|||||||
Reference in New Issue
Block a user