-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmape.py
executable file
·26 lines (21 loc) · 929 Bytes
/
mape.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from monitor import coletar_dados_prometheus, criar_base_quarentena
from analisador import analisar_metricas_medias
from planejador import planejar_adaptacao
from executor import executar_adaptacao
from time import sleep
data = {}
first = True
while True:
# Monitoramento
data['LoadTime'] = coletar_dados_prometheus('LoadTime', '[5m:1m]')
data['Traffic'] = coletar_dados_prometheus('Traffic', '[5m:1m]')
data['CPU'] = coletar_dados_prometheus('CPU', '[5m:1m]')
data['Pods'] = coletar_dados_prometheus('Pods', '') # Coleta via Prometheus
# data['Pods'] = coletar_numero_replicas('default') # Coleta via Kubernetes
if first:
data['AdaptationStatus'], data['TimeAdaptation'] = criar_base_quarentena(data)
first = False
data = analisar_metricas_medias(data) # Análise
data = planejar_adaptacao(data) # Planejamento
executar_adaptacao(data) # Execução
sleep(15)