我正在成功地配置我的服务监视器,以监视提供在kubernetes吊舱中运行的度量标准的API。但是,我也想向我的服务监视器目标添加外部服务。这个外部服务是arangoDB绿洲出口度量(https://www.youtube.com/watch?v=c8i7K4HUPF4&t=554s)。而且这个服务没有在kubernetes容器中运行。下面是有关我的配置文件:
/helm/charts/prometheus-xxx/templates/service_monitor.tpl---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ template "jobs-manager-servicemonitor.fullname" . }}
# Change this to the namespace the jobs-manager-servicemonitor instance is running in
namespace: {{ .Values.serviceMonitor.namespace }}
labels:
serviceapp: {{ template "jobs-manager-servicemonitor.name" . }}
release: "{{ .Release.Name }}"
spec:
selector:
matchLabels:
# Targets jobs-manager service
app.kubernetes.io/instance: {{ .Values.instance.name }}
endpoints:
- port: {{ .Values.service.metricsPort.name }}
interval: {{ .Values.serviceMonitor.interval }}
{{- if .Values.serviceMonitor.scrapeTimeout }}
scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }}
{{- end }}
namespaceSelector:
matchNames:
- {{ .Values.Namespace }}/helm/charts/prometheus-xxx/Chart.yamlapiVersion: v1
appVersion: "1.0.0"
description: Prometheus Service monitor, customized
name: jobs-manager-servicemonitor
version: 1.0.1/helm/charts/prometheus-xxx/templates/_helpers.tpl{{/*
Expand the name of the chart.
*/}}
{{- define "jobs-manager-servicemonitor.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "jobs-manager-servicemonitor.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}/helm/charts/prometheus-xxx/values.yamlserviceMonitor:
enabled: false
namespace: prometheus
interval: 10s
scrapeTimeout: 10s
service:
metricsPort:
name: http
instance:
name: jobs-manager
Namespace: test1对于如何将没有在kubernetes pod中运行的外部服务添加到服务监视器的目标中,您有什么建议吗?先谢谢你。
下面是我在图表模板arangodb-servicemonitor中的新配置文件
/helm/charts/arangodb-servicemonitor/templates/service.yamlapiVersion: v1
kind: Service
metadata:
name: arangodb
namespace: prometheus
labels:
app: arangodb
release: prometheus
spec:
type: ClusterIP
externalName: xxxxx.arangodb.cloud:xxxx
ports:
- name: metrics
port: 9000
targetPort: 9000
protocol: TCP
- bearer_token: [ARANGODB_TOKEN]
type: ExternalName/helm/charts/arangodb-servicemonitor/templates/endpoints.yamlkind: Endpoints
apiVersion: v1
metadata:
name: arangodb
labels:
app: arangodb
subsets:
- addresses:
- ip: xxxxx.arangodb.cloud:xxxx
ports:
- name: metrics
port: 9000
protocol: TCP/helm/charts/arangodb-servicemonitor/templates/service_monitor.tpl---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: arangodb-servicemonitor
# Change this to the namespace the arangodb-servicemonitor instance is running in
namespace: prometheus
labels:
serviceapp: arangodb-servicemonitor
release: prometheus
spec:
selector:
# Targets arangodb service
app: arangodb
endpoints:
# TO DO: use an array (List) of endpoints to monitor many endpoints
- port: metrics
interval: 30s
namespaceSelector:
matchNames:
# TO DO: use an array (List) of endpoints to monitor many endpoints
- default但是,当我执行terraform apply时,我会得到关于我添加的bearer_token的错误消息:

有关信息,我需要添加此令牌以连接到ArangoDB外部服务:

发布于 2021-06-03 10:06:45
创建Kubernetes服务,并以同样的方式使用Prometheus 。
创建K8s服务
kind: Service
apiVersion: v1
metadata:
name: arangoDB
spec:
type: ClusterIP
ports:
- name: metrics
port: 9000
targetPort: 9000在这个prometheus中创建数据库的端点配置应该能够访问数据库的IP
kind: Endpoints
apiVersion: v1
metadata:
name: arangoDB
subsets:
- addresses:
- ip: IP of Database
ports:
- name: metrics
port: 9000 因此,尼斯服务监视器将检查Kubernetes服务,Kubernetes服务将指向端点和数据库,并从外部服务获取度量。
检查端点服务创建的详细信息。:https://kubernetes.io/docs/concepts/services-networking/service/#services-without-selectors
https://stackoverflow.com/questions/67819225
复制相似问题