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
kubectl
ehelm
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:
- Abra o Portal de Administração.
- Vá para Administração do Sistema > Segurança > Aplicações > Aplicações Web.
- 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.
- 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 decompute
ou dedata
e ajuste o namespace conforme necessário.- **seção**
basic_auth
Se for necessária autenticação para acessar o endpoint de métricas do IRIS, forneça as credenciais necessárias.
- Explicação:
- Adicione o repositório Helm:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update
- Instale o Prometheus usando o Helm:
helm install monitoring prometheus-community/kube-prometheus-stack -n monitoring --create-namespace -f values.yaml
- 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.
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
- Abra a interface do usuário do Prometheus (
http://<PROMETHEUS_HOST>:9090
). - 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:
- Redirecionamento de Porta: Use
kubectl port-forward
para acessar o Grafana localmente.
Então, acesse o Grafana emkubectl port-forward svc/monitoring-grafana -n monitoring 3000:80
http://localhost:3000
. - NodePort ou ClusterIP: Consulte os detalhes do serviço
NodePort
ouClusterIP
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:
- Navegue até Dashboards > Importar no Grafana.
- Cole o URL do arquivo JSON no campo "Importar via painel JSON" ou carregue o arquivo diretamente.
- 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!