Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
1774bb11aa
|
|||
d19ac55dea
|
|||
4db989022e
|
|||
af76406afa
|
|||
d85c32247e
|
|||
ba7b86e527
|
|||
c93ae4067e | |||
1bbfdf65fb | |||
315ad9998b | |||
047a3a6c08 | |||
5573024fd9 | |||
a58f914c40 |
@ -48,10 +48,10 @@ metadata:
|
||||
spec:
|
||||
tls:
|
||||
- hosts:
|
||||
- pv-stats.hottis.de
|
||||
secretName: pv-stats-cert
|
||||
- numbers.hottis.de
|
||||
secretName: numbers-cert
|
||||
rules:
|
||||
- host: pv-stats.hottis.de
|
||||
- host: numbers.hottis.de
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
|
49
src/run.py
49
src/run.py
@ -159,7 +159,7 @@ def ntpserver():
|
||||
select time_bucket('5 minutes', time) as bucket,
|
||||
device,
|
||||
avg(cast(values->'rootdisp'->>'value' as float)) as rootdisp,
|
||||
avg(cast(values->'stratum'->>'value' as int)) as stratum
|
||||
max(cast(values->'stratum'->>'value' as int)) as stratum
|
||||
from measurements
|
||||
where time >= date_trunc('day', now()) AND time < date_trunc('day', now()) + '1 day'::interval and
|
||||
application = 'TSM' and attributes->>'Label' = 'david'
|
||||
@ -178,7 +178,8 @@ def ntpserver():
|
||||
|
||||
# Linke Y-Achse
|
||||
yaxis=dict(
|
||||
title='Root Dispersion'
|
||||
title='Root Dispersion',
|
||||
ticksuffix=' ms'
|
||||
),
|
||||
|
||||
# Rechte Y-Achse
|
||||
@ -193,8 +194,46 @@ def ntpserver():
|
||||
legend=dict(x=0.05, y=1) # Position der Legende
|
||||
)
|
||||
|
||||
graph_html_1 = fig.to_html(full_html=False, default_height='30%')
|
||||
|
||||
graph_html = fig.to_html(full_html=False, default_height='30%')
|
||||
query = """
|
||||
select time_bucket('5 minutes', time) as bucket,
|
||||
device,
|
||||
avg(cast(values->'time-req-pkts'->>'value' as float)) as packets
|
||||
from measurements
|
||||
where time >= date_trunc('day', now()) AND time < date_trunc('day', now()) + '1 day'::interval and
|
||||
application = 'SNMP' and attributes->>'Label' = 'david'
|
||||
group by bucket, device
|
||||
order by bucket, device
|
||||
"""
|
||||
df = pd.read_sql(query, con=engine)
|
||||
fig_2 = px.line(df, x='bucket', y='packets')
|
||||
fig_2.update_layout(
|
||||
xaxis_title="",
|
||||
yaxis_title="",
|
||||
yaxis_ticksuffix="p/s",
|
||||
title=f"Time Requests"
|
||||
)
|
||||
graph_html_2 = fig_2.to_html(full_html=False, default_height='30%')
|
||||
|
||||
query = """
|
||||
select time_bucket('5 minutes', time) as bucket,
|
||||
device,
|
||||
avg(cast(values->'load1'->>'value' as float)) as loadaverage1min
|
||||
from measurements
|
||||
where time >= date_trunc('day', now()) AND time < date_trunc('day', now()) + '1 day'::interval and
|
||||
application = 'SNMP' and attributes->>'Label' = 'david'
|
||||
group by bucket, device
|
||||
order by bucket, device
|
||||
"""
|
||||
df = pd.read_sql(query, con=engine)
|
||||
fig_3 = px.line(df, x='bucket', y='loadaverage1min')
|
||||
fig_3.update_layout(
|
||||
xaxis_title="",
|
||||
yaxis_title="",
|
||||
title=f"CPU Load"
|
||||
)
|
||||
graph_html_3 = fig_3.to_html(full_html=False, default_height='30%')
|
||||
|
||||
return render_template_string(f"""
|
||||
<html>
|
||||
@ -202,7 +241,9 @@ def ntpserver():
|
||||
<title>NTP Server Numbers</title>
|
||||
</head>
|
||||
<body>
|
||||
{graph_html}
|
||||
{graph_html_1}
|
||||
{graph_html_2}
|
||||
{graph_html_3}
|
||||
</body>
|
||||
</html>
|
||||
""")
|
||||
|
Reference in New Issue
Block a user