В этой статье мы рассмотрим установку Helm 3 на Kubernetes, Как установить Prometheus и Grafana на Kubernetes с помощью Helm 3, доступ к Prometheus и веб-интерфейсу Grafana.
- Что такое Prometheus?
- Что такое Alertmanager?
- Что такое Grafana?
- Что такое Helm Chart?
- Предпосылки
- Как проверить версию helm3
- # 2: Установим Prometheus и Grafana в Kubernetes с помощью Helm 3
- # 3: Настройка службы Prometheus
- # 4: Настроим службу Grafana
- # 5: Как получить доступ к веб-интерфейсу Prometheus и Grafana
Что такое Prometheus?
Prometheus – это набор инструментов для мониторинга систем и оповещения с открытым исходным кодом, изначально созданный SoundCloud.
Он записывает метрики в реальном времени в базу данных временных рядов, построенную с использованием модели HTTP pull, с гибкими запросами и алертами в реальном времени.
Он может поглощать огромное количество данных каждую секунду.
Что такое Alertmanager?
Alertmanager обрабатывает оповещения, отправляемые клиентскими приложениями, такими как сервер Prometheus.
Он заботится о дедупликации, группировании и маршрутизации их к правильной интеграции получателя, такой как электронная почта, PagerDuty или группы MS и т.д.
Он также заботится об управлении алертами.
Что такое Grafana?
Grafana – это программное обеспечение для визуализации и аналитики с открытым исходным кодом.
Он позволяет запрашивать, визуализировать, алертить и исследовать ваши метрики независимо от того, где они хранятся.
Он предоставляет диаграммы, графики алерты при подключении к поддерживаемым источникам данных, таким как Prometheus, graphite и т.д.
Что такое Helm Chart?
Предпосылки
- Кластер Kubernetes v1.19.0 +
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
Как проверить версию helm3
helm version
# 2: Установим Prometheus и Grafana в Kubernetes с помощью Helm 3
Добавим последний репозиторий helm в Kubernetes
helm repo add stable https://charts.helm.sh/stable
и Prometheus
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm search repo prometheus-community
# 3: Настройка службы Prometheus
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
kind: Service
metadata:
annotations:
meta.helm.sh/release-name: stable
meta.helm.sh/release-namespace: default
creationTimestamp: "2021-04-09T11:53:24Z"
finalizers:
- service.kubernetes.io/load-balancer-cleanup
labels:
app.kubernetes.io/instance: stable
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: grafana
app.kubernetes.io/version: 7.4.5
helm.sh/chart: grafana-6.6.4
name: stable-grafana
namespace: default
resourceVersion: "8222"
selfLink: /api/v1/namespaces/default/services/stable-grafana
uid: 7ebeb0da-858f-4232-8904-560e7ce83c5b
spec:
clusterIP: 100.65.58.48
externalTrafficPolicy: Cluster
ports:
- name: service
nodePort: 31258
port: 80
protocol: TCP
targetPort: 3000
selector:
app.kubernetes.io/instance: stable
app.kubernetes.io/name: grafana
sessionAffinity: None
type: LoadBalancer
Проверьте сервис, был ли тип изменен на LoadBalancer:
kubectl get svc
Вывод:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alertmanager-operated ClusterIP None <none> 9093/TCP,9094/TCP,9094/UDP 46m
kubernetes ClusterIP 100.64.0.1 <none> 443/TCP 52m
prometheus-operated ClusterIP None <none> 9090/TCP 46m
stable-grafana LoadBalancer 100.65.58.48 a7ebeb0da858f42328904560e7ce83c5-996403152.ap-south-1.elb.amazonaws.com 80:31258/TCP 46m
stable-kube-prometheus-sta-alertmanager ClusterIP 100.68.38.188 <none> 9093/TCP 46m
stable-kube-prometheus-sta-operator ClusterIP 100.67.54.161 <none> 443/TCP 46m
stable-kube-prometheus-sta-prometheus LoadBalancer 100.67.172.242 a9042a504d25f4122b6aa52ed5e53b57-356305290.ap-south-1.elb.amazonaws.com 9090:31942/TCP 46m
stable-kube-state-metrics ClusterIP 100.69.46.211 <none> 8080/TCP 46m
stable-prometheus-node-exporter ClusterIP 100.66.152.213 <none> 9100/TCP
# 5: Как получить доступ к веб-интерфейсу Prometheus и Grafana
Чтобы получить доступ к веб-интерфейсу Prometheus, скопируйте URL-адрес Loadbalancer -a и номер порта
Чтобы получить доступ к веб-интерфейсу Grafana, скопируйте URL-адрес Loadbalancer-а и номер порта.
Вы будете перенаправлены на панель управления Grafana, вам будет предложено ввести имя пользователя и пароль, ниже приведены учетные данные по умолчанию:
UserName: admin Password: prom-operator