AI — Isolation Foresta para analise de SLI e AIOps

Marcos de Benedicto (Bene)
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?

  1. Treinamento com dados históricos de SLI.
  2. Criação de árvores para particionar os dados.
  3. 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).

--

--

No responses yet