Grafana – это легкая инструментальная панель с открытым исходным кодом.
Она может быть интегрирована со многими источниками данных, такими как Prometheus, AWS cloud watch, Stackdriver и т. д.
Ранее мы уже рассмотрели этот инструмент тут:
Это руководство объясняет настройку Grafana в кластере Kubernetes.
Вы можете создать инструментальные панели на Grafana для всех метрик Kubernetes через Prometheus.
Давайте начнем с настройки.
Содержание
- Шаг 1. Создайте файл с именем grafana-datasource-config.yaml
- Шаг 2. Создайте configmap с помощью следующей команды.
- Шаг 3: Создайте файл с именем deploy.yaml
- Шаг 4. Создайте развертывание
- Шаг 5: Создайте файл службы с именем service.yaml
- Шаг 6: Создайте сервис.
- Настройка панели управления в Kubernetes
- Шаг 1: Получите идентификатор шаблона из общедоступного шаблона grafana
- Заключение
Шаг 1. Создайте файл с именем grafana-datasource-config.yaml
vi grafana-datasource-config.yaml
Скопируйте следующее содержимое:
Примечание. Следующая конфигурация источника данных предназначена для prometheus. Если у вас есть больше источников данных, вы можете добавить больше источников данных с разными YAML в разделе data.
apiVersion: v1 kind: ConfigMap metadata: name: grafana-datasources namespace: monitoring data: prometheus.yaml: |- { "apiVersion": 1, "datasources": [ { "access":"proxy", "editable": true, "name": "prometheus", "orgId": 1, "type": "prometheus", "url": "http://prometheus-service.monitoring.svc:8080", "version": 1 } ] }
Шаг 2. Создайте configmap с помощью следующей команды.
kubectl create –f grafana–datasource–config.yaml
Шаг 3: Создайте файл с именем deploy.yaml
vi deployment.yaml
Скопируйте следующее содержимое
apiVersion: apps/v1 kind: Deployment metadata: name: grafana namespace: monitoring spec: replicas: 1 selector: matchLabels: app: grafana template: metadata: name: grafana labels: app: grafana spec: containers: - name: grafana image: grafana/grafana:latest ports: - name: grafana containerPort: 3000 resources: limits: memory: "2Gi" cpu: "1000m" requests: memory: "1Gi" cpu: "500m" volumeMounts: - mountPath: /var/lib/grafana name: grafana-storage - mountPath: /etc/grafana/provisioning/datasources name: grafana-datasources readOnly: false volumes: - name: grafana-storage emptyDir: {} - name: grafana-datasources configMap: defaultMode: 420 name: grafana-datasources
Шаг 4. Создайте развертывание
kubectl create -f deployment.yaml
Шаг 5: Создайте файл службы с именем service.yaml
Скопируйте следующее содержимое.
Мы выставим Grafana на NodePort 32000.
Вы также можете выставить его, используя ingress или Loadbalancer, в зависимости от ваших требований.
apiVersion: v1 kind: Service metadata: name: grafana namespace: monitoring annotations: prometheus.io/scrape: 'true' prometheus.io/port:'3000' spec: selector: app: grafana type: NodePort ports: - port: 3000 targetPort: 3000 nodePort: 32000
Шаг 6: Создайте сервис.
kubectl create -f service.yaml
Теперь у вас должна быть возможность доступа к приборной панели Grafana с любого IP-адреса узла через порт 3200.
Используйте следующие имя пользователя и пароль по умолчанию для входа в систему.
После входа с учетными данными по умолчанию будет предложено изменить пароль.
User: admin Pass: admin
Настройка панели управления в Kubernetes
Существует множество готовых шаблонов Grafana для различных источников данных.
Вы можете посмотреть эти шаблоны здесь.
Настроить дашборд из шаблона довольно просто.
Следуйте приведенным ниже инструкциям, чтобы настроить панель мониторинга для мониторинга развертываний kubernetes.
Шаг 1: Получите идентификатор шаблона из общедоступного шаблона grafana
Шаг 2: Перейдите в grafana и выберите import
Шаг 3: Войдите в дашборд
Шаг 4: Grafana автоматически загрузит шаблон с веб-сайта Grafana.
Вы можете изменить значения, как показано на рисунке ниже, и нажать «import».
Заключение
Grafana – очень мощный инструмент, когда дело доходит до панелей мониторинга.
Он используется многими организациями для мониторинга своих рабочих нагрузок.