我有以下 URL,我想将其重定向到另一个主机名,但如果可能的话,也更改查询参数。
它基本上是更改 prometheus 在 grafana 中工作的 URL。因此 prometheus url 是
https://prom-to-grafana.foobar.com/graph?g0.expr=vector(1)&g0.range_input=1h&g0.tab=0
我需要提取g0.expr
它以用于以下
https://grafana.foobar.com/explore?orgId=1&left={"datasource":"AbfTenkVk","queries":[{"expr":"vector(1)"}]}
基本上,vector(1)
查询最终以 grafana 的 expr json blob 结束。
我尝试过类似
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: grafana-redirect
annotations:
nginx.ingress.kubernetes.io/use-forwarded-headers: "true"
nginx.ingress.kubernetes.io/server-snippet: |
location ~* "^/graph.*" {
rewrite ^/graph\?g0\.expr=(.*)\&g0.range_input(.*)$ "https://grafana.foobar.com/explore?orgId=1&left={\"datasource\":\"AbfTenkVk\",\"queries\":[{\"expr\":\"$1\"}]}" break;
}
spec:
ingressClassName: ingress-nginx
rules:
- host: prom-to-grafana.foobar.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: app
port:
name: api