В качестве средств мониторинга используются:
- инструмент Prometheus для хранения временных рядов;
- сервис Grafana для наблюдения за ключевыми показателями работы системы.
Рассмотрим, как развернуть их в Kubernetes-кластере в несколько этапов:
- Очистка CRD перед установкой (опционально).
- Загрузка Helm-чарта и конфигурационного файла.
- Заполнение конфигурационного файла.
- Установка чарта Monitoring с помощью Helm в Kubernetes-кластер.
Шаг 1: Очистка CRD перед установкой (опционально)
Произведите очистку CRD, если вы ранее устанавливали средства мониторинга или используете версию ELMA365 ниже ELMA365 2023.6.19 или ELMA365 LTS 2023.4.52.
Для очистки старых CRD выполните следующую команду:
kubectl delete crd alertmanagerconfigs.monitoring.coreos.com
kubectl delete crd alertmanagers.monitoring.coreos.com
kubectl delete crd podmonitors.monitoring.coreos.com
kubectl delete crd probes.monitoring.coreos.com
kubectl delete crd prometheusagents.monitoring.coreos.com
kubectl delete crd prometheuses.monitoring.coreos.com
kubectl delete crd prometheusrules.monitoring.coreos.com
kubectl delete crd scrapeconfigs.monitoring.coreos.com
kubectl delete crd servicemonitors.monitoring.coreos.com
kubectl delete crd thanosrulers.monitoring.coreos.com
Шаг 2: Загрузка Helm-чарта и конфигурационного файла
Для установки через интернет получите конфигурационный файл values-monitoring.yaml
, выполнив команду:
helm repo add elma365 https://charts.elma365.tech
helm repo update
helm show values elma365/monitoring> values-monitoring.yaml
Шаг 3: Заполнение конфигурационного файла
Заполните конфигурационный файл values-monitoring.yaml
для установки средств мониторинга.
Для этого в параметрах kube-prometheus-stack.namespaceOverride
и grafana.namespaceOverride
укажите нужный namespace
для сервиса мониторинга, например, namespaceOverride: monitoring. Namespace
будет создан во время установки, если не был создан ранее.
Для Grafana:
- Убедитесь что включён интерфейс, в параметре
kube-prometheus-stack.grafana.ingress.enabled
заданоtrue
. - Задайте адрес, по которому будет доступна Grafana, в параметре
kube-prometheus-stack.grafana.ingress.hosts
. - Задайте пароль для администратора в параметре
kube-prometheus-stack.grafana.adminPassword
.
Заполнение конфигурационного файла values-monitoring.yaml для установки мониторинга
|
Заполнение параметров подключения к удалённому хранилищу Mimir
|
Шаг 4: Установка чарта Monitoring с помощью Helm в Kubernetes-кластер
Выполните установку чарта Monitoring в namespace
, наименование которого указали на шаге 2 в конфигурационном файле values-monitoring.yaml
. Namespace будет создан во время установки, если не был создан ранее.
Для установки через интернет выполните команду:
helm upgrade --install elma365-monitoring elma365/monitoring -f values-monitoring.yaml -n monitoring --create-namespace
Начало внимание
После установки средств мониторинга нужно настроить их использование на стороне приложения ELMA365.
Конец внимание
Удалить чарт Monitoring с помощью Helm в Kubernetes-кластере
Начало внимание
Перед удалением компонента дополнений Monitoring отключите мониторинг на стороне приложения ELMA365.
Конец внимание
- Чтобы удалить чарт elma365-monitoring в
namespace monitoring
, выполните команду:
helm uninstall elma365-monitoring -n monitoring
- CRD, созданные чартом elma365-monitoring, не удаляются по умолчанию и должны быть очищены вручную пользователем с правами cluster-admin:
kubectl delete crd alertmanagerconfigs.monitoring.coreos.com
kubectl delete crd alertmanagers.monitoring.coreos.com
kubectl delete crd podmonitors.monitoring.coreos.com
kubectl delete crd probes.monitoring.coreos.com
kubectl delete crd prometheusagents.monitoring.coreos.com
kubectl delete crd prometheuses.monitoring.coreos.com
kubectl delete crd prometheusrules.monitoring.coreos.com
kubectl delete crd scrapeconfigs.monitoring.coreos.com
kubectl delete crd servicemonitors.monitoring.coreos.com
kubectl delete crd thanosrulers.monitoring.coreos.com
- Если при удалении CRD более 5 минут остается в статусе Terminating, произведите патчинг этой CRD командой:
kubectl patch crd/MY_CRD_NAME -p '{"metadata":{"finalizers":[]}}' --type=merge