Artigo
· Fev. 17 7min de leitura

Monitorando InterSystems IRIS com Prometheus e Grafana

Monitorar sua implantação do IRIS é crucial. Com a descontinuação do System Alert and Monitoring (SAM), uma solução moderna e escalável é necessária para obter insights em tempo real, detecção precoce de problemas e eficiência operacional. Este guia aborda a configuração do Prometheus e Grafana no Kubernetes para monitorar o InterSystems IRIS de forma eficaz.

Este guia pressupõe que você já tenha um cluster IRIS implantado usando o InterSystems Kubernetes Operator (IKO), que simplifica a implantação, integração e gerenciamento.

 


Por que Prometheus e Grafana?

Prometheus e Grafana são ferramentas amplamente adotadas para monitoramento e visualização nativos da nuvem. Eis por que eles são uma boa opção:

  • Escalabilidade: O Prometheus lida com a ingestão de dados em larga escala de forma eficiente.
  • Alertas: Alertas personalizáveis ​​por meio do Alertas: Alertas personalizáveis ​​por meio do Prometheus Alertmanager.
  • Visualização: O Grafana oferece dashboards ricos e personalizáveis ​​para métricas do Kubernetes..
  • Facilidade de integração: Integra-se perfeitamente com as cargas de trabalho do Kubernetes.

Pré-requisitos

Antes de começar, certifique-se de ter o seguinte:

  • Conhecimento básico de Kubernetes e Linux
  • kubectlhelm instalados.
  • Familiaridade com os conceitos do Prometheus (consulte a documentação do Prometheus para obter mais informações).
  • Uma instância IRIS implantada usando o InterSystems Kubernetes Operator (IKO), consulte outro artigo aqui.  

Passo 1: Habilitar Métricas no InterSystems IRIS

O InterSystems IRIS expõe métricas via /api/monitor/ no formato Prometheus. Certifique-se de que este endpoint esteja habilitado:

  1. Abra o Portal de Administração.
  2. Vá para Administração do Sistema > Segurança > Aplicações > Aplicações Web.
  3. Certifique-se de que /api/monitor/ esteja habilitado e acessível pelo Prometheus. Você pode verificar seu status navegando até o Portal de Gerenciamento, indo para Administração do Sistema > Segurança > Aplicações > Aplicações Web e verificando se o endpoint está listado e habilitado.

Verifique sua disponibilidade acessando:

http://<IRIS_HOST>:<PORT>/api/monitor/metrics


Passo 2: Implantar o Prometheus usando o Helm

Implantar o Prometheus usando o Helm oferece uma configuração de monitoramento fácil de gerenciar. Usaremos o gráfico kube-prometheus-stack que inclui Prometheus, Alertmanager e Grafana.

  1. Prepare a configuração: Crie um arquivo values.yaml com as seguintes configurações:
    prometheus:
      prometheusSpec:
        additionalScrapeConfigs:
          - job_name: 'intersystems_iris_metrics'
            metrics_path: '/api/monitor/metrics'
            static_configs:
              - targets:
                  - 'iris-app-compute-0.iris-svc.commerce.svc.cluster.local:80' # Replace with your IRIS service
    
          # To scrape custom metrics from the REST API created in IRIS
          - job_name: 'custom_iris_metrics'
            metrics_path: '/web/metrics'
            static_configs:
              - targets:
                  - 'commerce-app-webgateway-0.iris-svc.commerce.svc.cluster.local:80'
            basic_auth:
              username: '_SYSTEM'
              password: 'SYS'
    • Explicação:
      • iris-app-compute-0.iris-svc.commerce.svc.cluster.local:80: O formato do alvo deve seguir esta convenção:<pod-name>-iris-svc.<namespace>.svc.cluster.local:80. Substitua<pod-name> com seu pod IRIS, especifique se deseja coletar dados dos pods de compute ou de data e ajuste o namespace conforme necessário.
      • **seção** basic_authSe for necessária autenticação para acessar o endpoint de métricas do IRIS, forneça as credenciais necessárias.
  2. Adicione o repositório Helm:
    helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
    helm repo update
     
  3. Instale o Prometheus usando o Helm:
    helm install monitoring prometheus-community/kube-prometheus-stack -n monitoring --create-namespace -f values.yaml
  4. Verifique a implantação:
    kubectl get pods -n monitoring
     

Passo 3: Métricas Personalizadas com API REST

Você pode criar uma página CSP de métricas personalizadas que serve as métricas da sua aplicação. Neste guia, forneço um exemplo de uma página CSP simples que extrai métricas do sistema do próprio IRIS, mas você pode totalmente construir sua própria página CSP com suas próprias métricas personalizadas — apenas certifique-se de que elas estejam no formato do Prometheus.

 
CustomMetrics.REST

Implante isso como um serviço REST sob uma nova aplicação web chamada metrics no IRIS e adicione seu caminho ao Prometheus para coleta (scraping).


Passo 4: Verifique a Configuração do Prometheus

  1. Abra a interface do usuário do Prometheus (http://<PROMETHEUS_HOST>:9090).
  2. Vá para Status > Targets e confirme se as métricas do IRIS estão sendo coletadas

 


Passo 5: Accesse o Grafana

Com o Prometheus coletando métricas do IRIS, o próximo passo é visualizar os dados usando o Grafana.

1. Recupere os detalhes do serviço Grafana:

kubectl get svc -n monitoring

Se você estiver usando um controlador de entrada (ingress controller), poderá acessar o Grafana usando o nome de host configurado (ex: http://grafana.example.com). . Caso contrário, você pode usar as seguintes opções:

  1. Redirecionamento de Porta: Use kubectl port-forward para acessar o Grafana localmente.
    kubectl port-forward svc/monitoring-grafana -n monitoring 3000:80
    Então, acesse o Grafana em http://localhost:3000.
  2. NodePort ou ClusterIP: Consulte os detalhes do serviço NodePort ou ClusterIP na saída do comando para se conectar diretamente.

Passo 6: Faça login no Grafana

Use as credenciais padrão para fazer login:

  • Nome de usuário: admin
  • Senha: prom-operator (ou a senha definida durante a instalação).

 


Passo 7: Importar um Painel Personalizad

Eu criei um painel personalizado especificamente adaptado para as métricas do InterSystems IRIS, que você pode usar como ponto de partida para suas necessidades de monitoramento. O arquivo JSON para este painel está hospedado no GitHub para fácil acesso e importação:  Baixe o JSON do Painel Personalizado

Para importar o painel:

  1. Navegue até Dashboards > Importar no Grafana.
  2. Cole o URL do arquivo JSON no campo "Importar via painel JSON" ou carregue o arquivo diretamente.
  3. Atribua o painel a uma pasta e à fonte de dados do Prometheus quando solicitado.

 

Uma vez importado, você pode editar os painéis para incluir métricas adicionais, personalizar as visualizações ou refinar o layout para obter melhores insights sobre seu ambiente IRIS.


Conclusão

Seguindo este guia, configuramos com sucesso o Prometheus para coletar métricas do InterSystems IRIS e visualizá-las usando o Grafana. Além disso, você pode explorar outras ferramentas de monitoramento, como o Loki, para monitorar logs de forma eficiente e configurar alertas usando o Alertmanager ou serviços externos como PagerDuty e Slack. Se você tiver alguma dúvida ou feedback, sinta-se à vontade para entrar em contato!

Discussão (0)1
Entre ou crie uma conta para continuar