Я успешно настроил prometheus и grafana на моем кластере разработчиков kubernetes (после этого: https://itnext.io/kubernetes-monitoring-with-prometheus-in-15-minutes-8e54d1de2e13).
Добавил это в Startup.cs для моего образца. net core app:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
var counter = Metrics.CreateCounter("PathCounter", "Counts requests to endpoints", new CounterConfiguration
{
LabelNames = new[] { "method", "endpoint" }
});
app.Use((context, next) =>
{
counter.WithLabels(context.Request.Method, context.Request.Path).Inc();
return next();
});
app.UseMetricServer();
Должен ли я указать что-либо для app.UseMetricServer (ЗДЕСЬ?);
Я применил этот yaml, чтобы добавить мое приложение для удаления:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: buygroup
labels:
app: buygroup
release: prom
spec:
namespaceSelector:
any: true
selector:
matchLabels:
app: buygroup
endpoints:
- port: web
interval: 10s
Я не вижу ничего, что собрано в Цели в: http://localhost: 9090 / цели
Установлено. net Приборная панель, но не показывает результатов:
Что мне нужно сделать, чтобы результаты удалялись из моего приложения "buygroup"?
Сервис yaml:
apiVersion: v1
kind: Service
metadata:
name: buygroup
labels:
name: buygroup
spec:
type: NodePort
selector:
app.kubernetes.io/instance: buygroup
app.kubernetes.io/name: buygroup
ports:
- name: http
port: 80
nodePort: 30601
targetPort: http
Сервисный монитор:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: monitoring-buygroup
namespace: monitoring
labels:
app: buygroup
spec:
selector:
matchLabels:
# Target app service
app: buygroup
endpoints:
- interval: 15s
path: /metrics
port: http
namespaceSelector:
matchNames:
- buygroup-namespace