Setup Prometheus + Grafana no k8s
Referências
Instalação via Helm
Adicionar repositórios
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
Instalar Prometheus
Instalar Grafana
Validação
Acesso via port-forward
Grafana
Acesse: http://localhost:3000
Usuário: admin
Senha:
Prometheus
Acesse: http://localhost:9090
Instalação do Prometheus e Grafana com Node Selector
Criar arquivos de configuração
prometheus-values.yaml
nodeSelector:
nodegroup: monitoring
prometheus:
nodeSelector:
nodegroup: monitoring
service:
type: ClusterIP
alertmanager:
nodeSelector:
nodegroup: monitoring
grafana:
nodeSelector:
nodegroup: monitoring
grafana-values.yaml
nodeSelector:
nodegroup: monitoring
grafana:
additionalDataSources:
- name: Prometheus
type: prometheus
url: http://kube-prometheus-kube-prome-prometheus.monitoring.svc.cluster.local:9090
access: proxy
isDefault: true
Comandos de instalação
# Adicionar repositórios Helm
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
# Instalar Prometheus Stack
helm install kube-prometheus prometheus-community/kube-prometheus-stack \
-f prometheus-values.yaml \
--namespace monitoring \
--create-namespace
# Instalar Grafana
helm install grafana grafana/grafana \
-f grafana-values.yaml \
--namespace monitoring \
--create-namespace
Verificar instalação
Acessar os serviços
# Prometheus
kubectl port-forward -n monitoring pod/prometheus-kube-prometheus-kube-prome-prometheus-0 9090
# Grafana
kubectl port-forward svc/grafana 3000:80 -n monitoring
kubectl get secret grafana -n monitoring -o jsonpath="{.data.admin-password}" | base64 --decode