Добрый день.
В данный момент установлен prometheus c помощью Helm3 от сюда
Он вроде как работает, снимает метрики с моих подов, которые все находятся в одном node.
Вопрос состоит в следующем, что мой сервис по адресу :8085/posts/metrics - уже снимает метрики в нужном формате для Prometheus-а. Экспортер не нужен. Соответственно, насколько я понял, мне надо добавить новый service-monitor с указанным адресом снятия метрик.
К сожалению не могу найти найти информации, как правильно это сделать.
Из того что нашел - это вот этот пост на stackoverflow:
Насколько я понял - мне требуется добавить сначала сервис, а потом уже прописать отдельно yaml файл для service-monitor, чтобы их увидел prometheus и grafana, или могу добавить к информацию к уже существующему сервису, который снимает метрики, и добавить отдельно service-monitor?
Пытался сделать по аналогии, но где-то неправильно что-то прописываю, т.к. не видит prometheus
# Service targeting gitlab instances
apiVersion: v1
kind: Service
metadata:
name: http-metrics
labels:
app: http-metrics
spec:
ports:
- name: metrics
port: 8085
endpoints: /posts
targetPort: metrics
protocol: TCP
selector:
app: http-metrics
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: http-metrics-servicemonitor
# Change this to the namespace the Prometheus instance is running in
# namespace: default
labels:
app: http-metrics
release: stable
spec:
selector:
matchLabels:
app: http-metrics
endpoints:
- port: metrics
interval: 15s
На всякий случай yaml файл servicemonitor/stable-kube-prometheus-sta-prometheus
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
annotations:
meta.helm.sh/release-name: stable
meta.helm.sh/release-namespace: default
creationTimestamp: "2021-10-18T10:24:23Z"
generation: 1
labels:
app: kube-prometheus-stack-prometheus
app.kubernetes.io/instance: stable
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/part-of: kube-prometheus-stack
app.kubernetes.io/version: 19.1.0
chart: kube-prometheus-stack-19.1.0
heritage: Helm
release: stable
name: stable-kube-prometheus-sta-prometheus
namespace: default
resourceVersion: "73416"
uid: ec1765a2-cb48-4cd7-8a41-3041a9260e09
spec:
endpoints:
- path: /metrics
port: web
namespaceSelector:
matchNames:
- default
selector:
matchLabels:
app: kube-prometheus-stack-prometheus
release: stable
self-monitor: "true"
Заранее спасибо за любую помощь