Есть вопросы?
Закажите звонок специалиста!
Есть вопросы?
Закажите звонок специалиста!
Prometheus — набор утилит с открытым кодом для мониторинга и уведомлений (alerts), созданный под вдохновением от Google Borg Monitor. Его разработку начинали в SoundCloud, а затем передали в фонд CNCF. Prometheus умеет автоматически собирать метрики с кластера и сервисов в нем, сохранять в нереляционную БД и отрисовывать их в Grafana. Встроенный Alertmanager умеет отправлять алерты в различные каналы коммуникаций, такие как Slack, email, а с помощью несложных действий - в Telegram, даже звонить.
Операторы - новый класс программного обеспечения, представленный в 2016 году CoreOS компании RedHat. Операторы предназначены для управления другим программным обеспечением в Kubernetes. Цель Оператора — предоставить пользователю API, который позволяет управлять множеством сущностей stateful-приложения в кластере Kubernetes, не задумываясь о том, что у него под капотом (какие данные и что с ними делать, какие команды необходимо еще выполнить для поддержания кластера). Фактически Оператор призван максимально упростить работу с приложением в рамках кластера, автоматизируя выполнение эксплуатационных задач, которые раньше приходилось решать вручную.
Установка Prometheus Operator осуществляется с помощью helm.
Клонируем репозиторий и обновляем переменные:
cd charts/stable/prometheus-operator helm dependency update
Устанавливаем Prometheus.
chelm install --name prometheus --namespace monitoring prometheus-operator
После успешной установки должны увидеть:
kubectl get pod
Рисунок 1 - Установка Prometheus
Prometheus Pod:
Alertmanager Pod:
Grafana Pod:
После того, как все поды запустились, мы можем зайти на страницы Prometheus:
kubectl port-forward prometheus-prometheus-prometheus-oper-prometheus-0 9090:9090
После этой команды, необходимо открыть браузер по адресу http://localhost:9090. Сервисы установленные по-умолчанию должны быть видны в Service Discovery.
Рисунок 2 - Сервисы в Prometheus
Prometheus установлен и собирает метрики. Чтобы посмотреть, какие метрики собирает Prometheus, можно выполнить команду:
kubectl get servicemonitors.monitoring.coreos.com
И получим:
prometheus-prometheus-oper-alertmanager 19d prometheus-prometheus-oper-apiserver 19d prometheus-prometheus-oper-coredns 19d prometheus-prometheus-oper-grafana 19d prometheus-prometheus-oper-kube-controller-manager 19d prometheus-prometheus-oper-kube-etcd 19d prometheus-prometheus-oper-kube-proxy 19d prometheus-prometheus-oper-kube-scheduler 19d prometheus-prometheus-oper-kube-state-metrics 19d prometheus-prometheus-oper-kubelet 19d prometheus-prometheus-oper-operator 19d prometheus-prometheus-oper-prometheus 19d
Как мы видим, установка Prometheus Operator в Kubernetes действительно представляется одной командой, после которой, получаем эффективный набор инструментов для мониторинга кластера.
Есть вопросы по настройке Kubernetes? Обратитесь к нам любым удобным способом. Мы также обслуживаем кластеры Kubernetes в рамках DevOps-аутсорсинга.