This post is also available in english.
Antes de explorarmos o AIOps, vamos esclarecer alguns conceitos-chave relacionados a alguns (não todos ) dos diferentes "Ops":
- DevOps: DEV + OPS
Você provavelmente já ouviu falar do DevOps. É uma metodologia que integra o trabalho da equipe de desenvolvimento de software (Dev) e a equipe de operações (Ops), facilitando a entrega por meio de colaboração e automação.
- DataOps: DATA + OPS
Reconhecendo o crescimento contínuo de dados e os desafios associados, você pode entender o DataOps como a aplicação dos princípios e práticas do DevOps aos dados. É um processo para permitir que os dados certos cheguem ao lugar certo gerenciando todo o ciclo de vida dos dados.
- MLOps: ML + DEV + OPS
Da mesma forma, o MLOps (Operações de Machine Learning) pode ser visto como a aplicação dos princípios do DevOps aos pipelines de machine learning, onde a colaboração entre funções operacionaliza o processo de machine learning, garantindo a confiabilidade e o desempenho dos modelos de ML.
- AIOps: AI + DEVOPS
O AIOps (Operações de Inteligência Artificial) junta-se a essa mistura de termos e também está relacionado à IA/ML. No entanto, enquanto o MLOps se concentra no desenvolvimento e implementação de modelos de ML, o AIOps se concentra na gestão das operações de TI com a aplicação de capacidades de inteligência artificial (IA) para otimizar os resultados do negócio.
O AIOps não substitui o DevOps! É uma evolução dentro do mesmo ciclo. O AIOps utiliza a inteligência artificial para automatizar, simplificar, acelerar e otimizar os processos de operações de TI.
Então, o que posso fazer com o AIOps?
Tudo começa com dados...
Isso pode incluir:
- Logs, métricas e traces
- Dados de desempenho e eventos
- Dados de infraestrutura e rede
- Dados de aplicações
- Dados relacionados a incidentes
- Dados históricos
Para começar, em (Kibana -> Analytics -> Machine Learning) você verá diferentes capacidades de IA.
Anomaly detection (detecção de anomalias) constrói um modelo de probabilidade com base em padrões de dados, e você pode executar o trabalho continuamente para identificar eventos anormais ao longo do tempo. Com isso, é possível identificar anomalias e gerar alertas para resolver e evitar problemas antes que ocorram.
Exemplos do que você pode fazer incluem, mas não estão limitados a:
- Identificar anomalias em logs categorizados com base no padrão das mensagens
- Estimar a probabilidade de um valor de série temporal ocorrer em uma data futura
- Identificar fields (campos) que influenciam ou contribuem para anomalias
Data Frame analytics é uma análise de várias variáveis que permite analisar seus dados usando algoritmos de classificação, detecção de outliers e regressão. Com ela, você pode prever diferentes classes ou categorias com base em seus campos, detectar pontos com dados significativamente diferentes de outros valores e também estimar as relações entre diferentes campos.
Exemplos do que você pode fazer incluem, mas não estão limitados a:
- Prever categorias de erro com base em mensagens de logs históricas
- Estimar as relações entre diferentes métricas para entender como as mudanças em uma métrica podem influenciar outras
Natural Language Processing (Processamento de Linguagem Natural) permite interpretar e manipular texto em linguagem humana. Você pode importar e fazer o deploy de modelos treinados no Elasticsearch; os modelos estarão disponíveis em 'Trained Models', e você pode utilizá-los para enriquecer seus dados.
Exemplos do que você pode fazer incluem, mas não estão limitados a:
- Enriquecer dados relacionados a incidentes com valores de análise de sentimento
- Identificar o idioma e traduzir mensagens de tickets de suporte
- Analisar e correlacionar dados de texto não estruturado, identificando palavras-chave e considerando ambiguidades e contexto
AIOps Labs fornece métodos estatísticos para ajudar a interpretar o comportamento de seus dados. Com a log rate analysis (análise de taxa de logs), você pode identificar razões para aumentos ou diminuições nos volumes de logs; com a log pattern analysis (análise de padrões de logs), você pode encontrar padrões em mensagens de log; e com a change point detection (detecção de pontos de mudança), você pode detectar pontos de mudança em uma métrica.
O AI Assistant, alimentado por um connector para o OpenAI, também pode contribuir com sua estratégia de AIOps. Ele oferece a capacidade de utilizar o OpenAI GPT-4+ para explicar mensagens de erro, sugerir soluções e solicitar, analisar e visualizar seus dados.
Exemplos do que você pode fazer incluem, mas não estão limitados a:
- Obter informações contextuais. Ao identificar contribuintes estatisticamente significativos para picos de log por meio da análise de taxa de logs, o AI Assistant explica possíveis causas e sugere soluções eficazes.
- Ter conversas com o AI Assistant. Adicione informações externas à base de conhecimento do assistente e obtenha informações e insights adicionais em tempo real.
Ele executa a summarize function (função de resumo), que é uma função projetada para resumir o conteúdo da conversa, e o resultado será armazenado.
{
"name": "summarize",
"args": {
"id": "log_rate_spike_test",
"text": "The log rate spike in the PostgreSQL database running in a Kubernetes environment was a test and has been resolved. It should not be considered as an issue in the future.",
"is_correction": false,
"confidence": "high",
"public": true
}
}
E então, ele executa a função 'recall', uma função projetada para recuperar aprendizados anteriores. O AI Assistant utiliza o ELSER, o motor de busca semântica da Elastic, para recuperar dados do índice de sua base de conhecimento interna e criar respostas RAG (geração aumentada por recuperação).
Observe que o texto agora é diferente e inclui informações atualizadas.
Você também pode integrar dados externos (GitHub issues, arquivos Markdown, tickets do Jira, arquivos de texto, etc.) no Elasticsearch e reindexar seus dados na base de conhecimento do AI Assistant.
POST _reindex
{
"source": {
"index": "<InternalDocsIndex>", // nome do índice onde seus documentos internos estão armazenados
"_source": [
"<text_field>", // nome do campo que contém o texto de seus documentos internos.
"<timestamp>", // nome do campo de data/hora, timestamp.
"namespace",
"is_correction",
"public", // verdadeiro ou falso. Se verdadeiro, o documento está disponível para os usuários no espaço definido. Se falso, o documento é restrito ao usuário indicado no campo de user.name.
"confidence"
]
},
"dest": {
"index": ".kibana-observability-ai-assistant-kb-000001",
"pipeline": ".kibana-observability-ai-assistant-kb-ingest-pipeline" // este pipeline contém o modelo Elastic Learned Sparse EncodeR.
},
"script": {
"inline": "ctx._source.text = ctx._source.remove(\"<text_field>\");ctx._source.namespace=\"<space>\";ctx._source.is_correction=false;ctx._source.public=<public>;ctx._source.confidence=\"high\";ctx._source['@timestamp'] = ctx._source.remove(\"<timestamp>\");ctx._source['user.name'] = \"<user.name>\""
}
}
Como você pode ver, além do DevOps, você pode incluir o AIOps em sua estratégia de observabilidade com o Elasticsearch e implementar estratégias como essas para aprimorar a eficiência, lidar proativamente com problemas e continuar a melhorar o desempenho e a confiabilidade do seu sistema.
Na Sinfonia da Eficiência, o AIOps orquestra a excelência operacional para que você possa desfrutar de uma temporada de festas harmoniosa.
Boas Festas!