52 lines
2.1 KiB
YAML
52 lines
2.1 KiB
YAML
groups:
|
|
- name: portaljuru_api
|
|
rules:
|
|
# Alerta se a API ficar inacessível por mais de 1 minuto
|
|
- alert: PortalJuruApiDown
|
|
expr: up{job="api-portaljuru"} == 0
|
|
for: 1m
|
|
labels:
|
|
severity: critical
|
|
annotations:
|
|
summary: "Portal Jurunense API fora do ar"
|
|
description: "A API do Portal Jurunense está inacessível há pelo menos 1 minuto."
|
|
|
|
# Alerta se a taxa de erro HTTP for maior que 5% em 5 minutos
|
|
- alert: HighErrorRate
|
|
expr: sum(rate(http_request_total{job="api-portaljuru", statusCode=~"5.."}[5m])) / sum(rate(http_request_total{job="api-portaljuru"}[5m])) > 0.05
|
|
for: 2m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Taxa de erro elevada na API"
|
|
description: "A taxa de erros HTTP 5xx está acima de 5% nos últimos 5 minutos."
|
|
|
|
# Alerta se o tempo de resposta estiver muito alto
|
|
- alert: SlowResponseTime
|
|
expr: histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket{job="api-portaljuru"}[5m])) by (le)) > 1
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Tempo de resposta elevado na API"
|
|
description: "95% das requisições estão levando mais de 1 segundo para completar."
|
|
|
|
# Alerta para uso alto de memória
|
|
- alert: HighMemoryUsage
|
|
expr: process_resident_memory_bytes{job="api-portaljuru"} > 350000000
|
|
for: 5m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Uso elevado de memória"
|
|
description: "A API está usando mais de 350MB de memória por mais de 5 minutos."
|
|
|
|
# Alerta para pool de conexões quase esgotado
|
|
- alert: DatabaseConnectionPoolNearlyFull
|
|
expr: api_db_connection_pool_used{job="api-portaljuru"} / api_db_connection_pool_total{job="api-portaljuru"} > 0.8
|
|
for: 2m
|
|
labels:
|
|
severity: warning
|
|
annotations:
|
|
summary: "Pool de conexões quase cheio"
|
|
description: "O pool de conexões está usando mais de 80% da capacidade máxima." |