使用Prometheus和Grafana监控混合/私有云

本教程将指导您完成设置 Prometheus 和 Grafana 以监控在 Kubernetes 集群(用于混合云或私有云)中运行的 Qdrant 数据库的过程。

先决条件

本教程假设您已经有一个正在运行的 Kubernetes 集群,并且已在该集群中部署了 Qdrant 数据库,无论是通过混合云还是私有云部署。您还应该配置好 kubectlhelm 以与您的集群进行交互。

步骤 1:安装 Prometheus 和 Grafana

如果您尚未安装 Prometheus 和 Grafana,可以使用 kube-prometheus-stack Helm Chart 将它们部署到您的 Kubernetes 集群中。

安装堆栈的最小示例

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

helm install prometheus prometheus-community/kube-prometheus-stack --namespace monitoring --create-namespace

此命令将 Prometheus、Grafana 和所有必要的组件安装到一个新的 monitoring 命名空间中。

步骤 2:配置 Prometheus 以抓取 Qdrant 指标

要监控 Qdrant,您需要配置 Prometheus 以从 Qdrant 数据库抓取指标。您可以通过在主机 Kubernetes 集群中创建 ServiceMonitor 资源来完成此操作。

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: qdrant-cluster-exporter
  namespace: qdrant
  labels:
    release: prometheus
spec:
  endpoints:
  - honorLabels: true
    interval: 30s
    port: metrics
    scheme: http
    scrapeTimeout: 55s
  jobLabel: app.kubernetes.io/name
  namespaceSelector:
    matchNames:
    - qdrant
  selector:
    matchLabels:
      app.kubernetes.io/instance: qdrant-cluster-exporter
      app.kubernetes.io/name: qdrant-cluster-exporter
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: qdrant-operator
  namespace: qdrant
  labels:
    release: prometheus
spec:
  endpoints:
  - honorLabels: true
    interval: 30s
    port: metrics
    scheme: http
    scrapeTimeout: 55s
  jobLabel: app.kubernetes.io/name
  namespaceSelector:
    matchNames:
    - qdrant
  selector:
    matchLabels:
      app.kubernetes.io/name: operator

上面的示例假设您的 Qdrant 数据库和云平台导出器部署在 qdrant 命名空间中。根据您的部署调整 namespaceSelectornamespace 字段。

步骤 3:访问 Grafana

一旦 Prometheus 配置为从 Qdrant 抓取指标,您就可以访问 Grafana 来可视化这些指标。

通过运行以下命令获取 Grafana “admin” 用户的密码

kubectl --namespace monitoring get secrets prometheus-grafana -o jsonpath="{.data.admin-password}" | base64 -d ; echo

通过端口转发访问 Grafana 仪表板

export POD_NAME=$(kubectl --namespace monitoring get pod -l "app.kubernetes.io/name=grafana,app.kubernetes.io/instance=prometheus" -oname)
kubectl --namespace monitoring port-forward $POD_NAME 3000

现在您可以打开 Web 浏览器并访问 https://:3000。使用用户名 admin 和您之前检索到的密码登录。

步骤 4:导入 Qdrant 仪表板

Qdrant Cloud 在 Qdrant GitHub 存储库上提供了一个 Grafana 仪表板示例。这附带了内置的视图和图表,可帮助您开始监控 Qdrant 集群。

导入仪表板

  1. 在 Grafana 中,转到“Dashboards”,然后点击“New”->“Import”。
  2. 从 Qdrant GitHub 存储库复制并粘贴仪表板 JSON。
  3. 点击“Load”,然后点击“Import”。
此页面有用吗?

感谢您的反馈!🙏

很抱歉听到这个消息。😔 您可以在 GitHub 上编辑此页面,或者创建一个 GitHub issue。