Grafana и Prometheus является одним из распространенных стеков мониторинга приложений и инфраструктуры. В данной статье показана простая инструкция развертывания Grafana + Prometheus в среде Kubernetes.

Подготовка

В этой статье установка будет производиться через helm-чарт. Чарты можно найте на ресурсе artifacthub.io.

Можно по отдельности устанавливать необходимые компоненты и связывать их между собой. В данной статье установим "коробку". Для этого в строке поиска вводим kube-prometheus-stack и открываем нужный чарт. Я использую официальный чарт Prometheus.

Предполгается, что у вас уже развернут k8s, а также установлены утилиты kubectl и helm. Для начала необходимо добавить helm-репозиторий

  
    # helm repo add prometheus-community https://prometheus-community.github.io/helm-charts  
    # helm repo update
	

После того, как вы добавили/обновили список helm-репозиториев, можно получить values чарта командой

  
    # helm get values prometheus-community/kube-prometheus-stack > values.yaml  
  

Заполнение values

Скачанный файл values достаточно объемный. Связано это с тем, что кроме grafana и prometheus дополнительно будут установлены Prometheus Operator, Alertmanager, Kube-State-Metrics, Node Exporter и так далее.

Открываем файл values.yaml и приступаем к заполнениею.

  
  prometheus:  
    enabled: true #включаем Prometheus  
  
  grafana:  
    enabled:  true #включаем Grafana  
	
    adminUser: admin #указываем логин пользователя  
    adminPassword: Pass123! #указываем пароль пользователя
  
    ingress:  
      enabled: true #включаем ingress для доступа к web-интерфейсу	 
	  hosts:  
	    - grafana.example.com #указываем FQDN для доступа к интерфейсу  
		

Установка

После заполнения values чарта, выполняем команду и дожидаемся установки

  
    # helm install monitoring prometheus-community/kube-prometheus-stack -f values.yaml [-n namespace]
  

После установки, дожидаемся готовности подов

  
  NAME                                                     READY   STATUS  
  alertmanager-monitoring-kube-prometheus-alertmanager-0   2/2     Running  
  monitoring-grafana-85f8bfc775-xjh5q                      3/3     Running  
  monitoring-kube-prometheus-operator-74f7694f79-mjsjl     1/1     Running  
  monitoring-kube-state-metrics-877c9547f-5g45f            1/1     Running  
  monitoring-prometheus-node-exporter-mbhbq                1/1     Running  
  monitoring-prometheus-node-exporter-wz559                1/1     Running  
  monitoring-prometheus-node-exporter-xhmqg                1/1     Running  
  prometheus-monitoring-kube-prometheus-prometheus-0       2/2     Running  
  

Стек Grafana + Prometheus установлен. Теперь, в брузере можно перейти по адресу, указанному в values, залогиниться и начать мониторить все необходимое.