Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве описаны шаги по установке Prometheus, набора средств мониторинга и оповещений с открытым кодом в кластере Служба Azure Kubernetes (AKS). Затем вы используете управляемую частную конечную точку Azure Grafana для подключения к этому серверу Prometheus и отображения данных Prometheus на панели мониторинга Grafana.
В этом руководстве описано следующее:
- Создание кластера Служба Azure Kubernetes
- Установка Prometheus
- Добавление службы приватного канала на сервер Prometheus
- Подключение к управляемой частной конечной точке
- Отображение данных Prometheus на панели мониторинга Grafana
Необходимые компоненты
Прежде чем начать, убедитесь, что у вас есть следующее:
Создание кластера Служба Azure Kubernetes
Войдите в Azure CLI, выполнив
az loginкоманду.az loginЕсли у вас несколько подписок Azure, выберите подписку Azure с помощью команды
az account set -s <your-azure-subscription-id>.Установите или обновите kubectl.
az aks install-cliСоздайте две переменные bash/zsh, которые будут использоваться в последующих командах. Измените приведенный ниже синтаксис, если вы используете другую оболочку.
RESOURCE_GROUP=myResourceGroup AKS_NAME=myaksСоздать группу ресурсов. В этом примере мы создадим группу ресурсов в регионе Azure "Западная часть США".
az group create --name $RESOURCE_GROUP --location westcentralusСоздайте новый кластер AKS с помощью команды az aks create . Здесь мы создадим кластер с тремя узлами с помощью типа виртуальной машины с возможностью расширения серии B, который является экономически эффективным и подходит для небольших рабочих нагрузок тестирования и разработки, таких как это.
az aks create --resource-group $RESOURCE_GROUP \ --name $AKS_NAME \ --node-count 3 \ --node-vm-size Standard_B2s \ --generate-ssh-keysВыполнение этой операции займет несколько минут.
Проверка подлинности в созданном кластере.
az aks get-credentials \ --resource-group $RESOURCE_GROUP \ --name $AKS_NAMEТеперь вы можете получить доступ к кластеру Kubernetes с помощью kubectl.
Используйте kubectl для просмотра созданных узлов.
kubectl get nodes
Установка Prometheus
Популярным способом установки Prometheus является оператор prometheus-operator, который обеспечивает собственное развертывание Kubernetes и управление prometheus и связанных компонентов мониторинга. В этом руководстве мы используем диаграммы Helm kube-prometheus-stack Helm для развертывания оператора prometheus-operator.
Добавьте репозиторий helm-chart и обновите список репозитория.
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo updateУстановите диаграмму Helm в пространство имен, называемое мониторингом. Это пространство имен создается автоматически.
helm install prometheus \ prometheus-community/kube-prometheus-stack \ --namespace monitoring \ --create-namespaceКомандная строка helm проверяет состояние развернутых модулей pod. Выполните следующую команду.
kubectl --namespace monitoring get podsПеред продолжением убедитесь, что модули pod все "Запущены". Если в маловероятном случае они не достигают состояния выполнения, их может потребоваться устранить.
Добавление службы приватного канала на сервер Prometheus
Служба Azure Приватный канал позволяет использовать службу Kubernetes через приватный канал между различными виртуальными сетями Azure. AKS имеет встроенную интеграцию со службой Приватный канал Azure и помогает создать соответствующую службу приватного канала в Azure.
См. ниже содержимое файла pls-prometheus-svc.yaml:
apiVersion: v1
kind: Service
metadata:
name: prom-pls-svc
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "true" # Use an internal LB with PLS
service.beta.kubernetes.io/azure-pls-create: "true"
service.beta.kubernetes.io/azure-pls-name: promManagedPls
service.beta.kubernetes.io/azure-pls-proxy-protocol: "false"
service.beta.kubernetes.io/azure-pls-visibility: "*"
spec:
type: LoadBalancer
selector:
# app: myApp
app.kubernetes.io/name: prometheus
prometheus: prometheus-kube-prometheus-prometheus # note that this is related to the release name
ports:
- name: http-web
protocol: TCP
port: 9090
targetPort: 9090
Выполните следующую команду, чтобы добавить службу приватного канала на сервер Prometheus.
kubectl --namespace monitoring apply -f pls-prometheus-svc.yamlСлужба приватного канала с именем
promManagedPlsсоздается в управляемой группе ресурсов AKS. Этот процесс займет несколько минут.
Подключение к управляемой частной конечной точке
Если у вас еще нет рабочей области Azure Managed Grafana, создайте ее, выполнив краткое руководство по Azure Managed Grafana.
Откройте рабочую область Azure Managed Grafana и перейдите в раздел "Добавление управляемой частной конечной точки>сети".>
Введите имя управляемой частной конечной точки и выберите подписку Azure.
Для типа ресурса выберите Microsoft.Network/privateLinkServices (службы приватного канала) и для целевого ресурса выберите
promManagedPlsслужбу приватного канала, созданную на предыдущем шаге. Каждая управляемая частная конечная точка получает частный IP-адрес. Вы также можете указать доменное имя для этой управляемой частной конечной точки. Служба Azure Managed Grafana гарантирует разрешение этого домена на частный IP-адрес управляемой частной конечной точки в среде Azure Managed Grafana. Например, задайте для домена значение*.prom.my-own-domain.com.
Подтвердите подключение к частной конечной точке, перейдя к ресурсу promManagedPls. В разделе "Параметры" перейдите к подключениям к частной конечной точке и установите флажок " Утвердить".
После утверждения подключения к частной конечной точке вернитесь к ресурсу Azure Managed Grafana и нажмите кнопку "Обновить " на вкладке "Управляемая частная конечная точка", чтобы синхронизировать этот
Connection stateресурс. Теперь он должен отображаться как утвержденный.
Отображение данных Prometheus на панели мониторинга Grafana
Добавьте источник данных Prometheus в Grafana на портале Grafana. Дополнительные сведения см. в описании "Добавление источника данных". Наш URL-адрес Prometheus — это
http://prom-service.prom.my-own-domain.com:9090.
Чтобы использовать локальный источник данных Prometheus, попробуйте использовать панель мониторинга "Экспортер узлов" , идентификатор
1860. Дополнительные рекомендации см. в руководстве по импорту панели мониторинга из Grafana Labs.
Следующий шаг
Узнайте, как использовать учетные записи служб.