AI — Isolation Foresta para analise de SLI e AIOps
2 min readFeb 6, 2025
Isolation Forest para Detecção de Anomalias
📌 O que é Isolation Forest?
Isolation Forest é um algoritmo de aprendizado de máquina não supervisionado que isola anomalias separando-as iterativamente do conjunto de dados. Ele funciona baseado no seguinte princípio:
- Amostras anômalas são mais fáceis de isolar porque possuem características muito diferentes do padrão normal.
- O modelo constrói múltiplas árvores de decisão aleatórias e mede quantas divisões são necessárias para isolar uma amostra.
- Quanto menor o número de divisões, maior a chance de ser uma anomalia.
🔍 Como funciona na detecção de anomalias em SLIs?
- Treinamento com dados históricos de SLI.
- Criação de árvores para particionar os dados.
- Detecção de anomalias com base na facilidade de isolar um dado.
🛠 Aplicação prática para SLIs
- Identificação de picos súbitos de erro em serviços do OpenShift ROSA.
- Monitoramento de tempo de resposta atípico em APIs e microsserviços.
- Detecção de redução de disponibilidade sem necessidade de definir manualmente limiares.
📈 Exemplo de detecção de anomalias usando Isolation Forest:
from sklearn.ensemble import IsolationForest
import numpy as np
# Simulação de métricas SLIs normais
X_train = np.random.normal(size=(1000, 5)) # 1000 amostras, 5 métricas (ex: latência, erro, CPU)
X_test = np.random.normal(size=(10, 5)) # 10 novas medições
# Criando e treinando o modelo Isolation Forest
iso_forest = IsolationForest(n_estimators=100, contamination=0.05, random_state=42)
iso_forest.fit(X_train)
# Predição de anomalias nos novos dados de SLI
anomalias = iso_forest.predict(X_test)
print("Anomalias detectadas:", anomalias)
#SAIDA ESPERADA
Anomalias detectadas: [ 1 -1 1 1 -1 1 1 -1 1 1]
Os valores -1
indicam anomalies e 1
indica que os valores estão normais.
✅ Vantagens do Isolation Forest
- Não requer configuração de limiares fixos para anomalias.
- Escala bem para grandes volumes de dados em monitoramento contínuo.
- Menos sensível a outliers esporádicos do que outras técnicas estatísticas.
🛠 Integração com OpenShift ROSA e Datadog
- Autoencoders podem ser treinados com logs de performance do Datadog para prever falhas.
- Isolation Forest pode ser usado para análise em tempo real no Prometheus e OpenTelemetry.
- Ambas as abordagens podem automatizar alertas e ações corretivas com Kubernetes Horizontal Pod Autoscaler (HPA).