方案总览
VictoriaMetrics 无法直接 scrape Cloud Run 的 /metrics,因为:
Cloud Run 是动态实例,没有固定 IP;
Cloud Run 实例按需启动/销毁;
没有暴露容器内部端口供 scraping。
所以正确的做法是:
[Cloud Run 服务指标]
↓
[Cloud Monitoring (Stackdriver)]
↓
[Prometheus /metrics 接口 (Google Managed Prometheus Adapter)]
↓
[vmagent 或 VictoriaMetrics 集群采集]
一、前提条件
用以下命令生成了 GCP 服务账号的密钥:
gcloud iam service-accounts keys create vmagent-key.json \--iam-account vmagent-monitor@YOUR_PROJECT_ID.iam.gserviceaccount.com
二、把密钥转为 Base64
Kubernetes Secret 里的数据必须是 Base64 编码的。
运行下面命令:
cat vmagent-key.json | base64 -w 0(macOS 用:base64 -b 0)输出会是一长串 Base64 字符串,例如:ewogICJ0eXBlIjogInNlcnZpY2VfYWNjb3VudCIsCiAg...
🧾 三、创建 YAML 文件
把输出填到下面这个模板里 👇
apiVersion: v1
kind: Secret
metadata:name: gcp-tokennamespace: monitoring # 或你自己的命名空间
type: Opaque
data:credentials.json: ewogICJ0eXBlIjogInNlcnZpY2VfYWNjb3VudCIsCiAg... # <== 这里替换为你的 base64 编码内容保存为:gcp-secret.yaml
🚀 四、应用到集群
kubectl apply -f gcp-secret.yaml
验证:
kubectl get secret gcp-token -n monitoring -o yaml
你会看到编码后的内容在 data.credentials.json 里。
🧩 五、在 Deployment / Pod 中使用
举例:vmagent Deployment 里挂载这个 Secret👇
apiVersion: apps/v1
kind: Deployment
metadata:name: gcp-cloudrun-detailed-exporternamespace: vm
spec:replicas: 1selector:matchLabels:app: gcp-cloudrun-detailed-exportertemplate:metadata:labels:app: gcp-cloudrun-detailed-exporterspec:containers:- name: stackdriver-exporterimage: prometheuscommunity/stackdriver-exporter:latestports:- containerPort: 9255name: metricsargs:- --monitoring.metrics-prefixes=run.googleapis.comenv:- name: GOOGLE_APPLICATION_CREDENTIALSvalue: /etc/gcp/credentials.json- name: GOOGLE_PROJECT_IDvalue: "aiart-develop"volumeMounts:- name: gcp-credentialsmountPath: /etc/gcpreadOnly: trueresources:requests:memory: "256Mi"cpu: "200m"limits:memory: "512Mi"cpu: "500m"volumes:- name: gcp-credentialssecret:secretName: seaart-cloudrun-token
这样,容器中就能自动读取 /var/secrets/google/credentials.json,使用该 GCP 账号身份访问监控接口。
六、创建service
暴露metric端口
apiVersion: v1
kind: Service
metadata:name: gcp-cloudrun-detailed-exporternamespace: vmlabels:app: gcp-cloudrun-detailed-exporter
spec:selector:app: gcp-cloudrun-detailed-exporterports:- port: 9255targetPort: 9255name: metrics
七、部署刮擦配置
自动抓取cloudrun的指标
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMServiceScrape
metadata:name: gcp-cloudrun-detailed-exporternamespace: vm
spec:jobName: gcp-cloudrun-detailed-exporterendpoints:- port: metricsinterval: 1mpath: /metricsselector:matchLabels:app: gcp-cloudrun-detailed-exporter
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/943626.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!