You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS跨账号EKS环境下应用账户promtail访问监控账户Loki配置问题

问题根因定位

你当前的Istio VirtualService中Loki路由的rewrite配置错误是访问失效的核心原因:默认部署的Loki服务根路径为/,没有/loki前缀,你现在配置的rewrite.uri: /loki会导致转发到Loki的请求路径变成/loki/xxx,Loki无法匹配该路由直接返回404。

可行配置方案

你可以选择以下任意一种方案适配路径规则:

方案一:修改VirtualService转发规则(无需调整Loki配置)

直接更新监控账户的VirtualService配置,去掉转发给Loki的路径前缀即可:

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: grafana-vs
  namespace: monitoring
spec:
  gateways:
  - my-gateway
  hosts:
  - '*'
  http:
  - match:
    - uri:
        prefix: /grafana/
    name: grafana-ui
    rewrite:
      uri: /
    route:
    - destination:
        host: prometheus-operator-grafana.monitoring.svc.cluster.local
        port:
          number: 80
  - match:
    - uri:
        prefix: /loki
    name: loki-log-api
    rewrite:
      uri: / # 仅修改这一行,去掉路径前缀后再转发给Loki
    route:
    - destination:
        host: loki.monitoring.svc.cluster.local
        port:
          number: 80

方案二:给Loki配置统一路径前缀(无需修改VirtualService)

如果你要保留/loki前缀转发规则,直接在loki-stack的helm安装参数中添加如下配置即可:

loki:
  server:
    http_prefix: /loki

配置升级后Loki本身就会处理带/loki前缀的请求,不需要调整VirtualService的rewrite规则。


后续跨账号连通配置

  1. 网络打通:在两个AWS账号的VPC之间配置VPC对等连接或者Transit Gateway,确保应用账户的EKS集群可以访问监控账户的内部ALB
  2. 安全组放行:在监控账户ALB的安全组中,放行应用账户EKS Pod/VPC CIDR的80/443端口入站规则,同时配置对应路由表确保网络回程正常
  3. Promtail配置:在应用账户的promtail配置中直接填入ALB地址作为推送目标:
clients:
  - url: http://internal-k8s-istiosys-ingressa-25a256ef4d-1368971909.us-east-1.elb.amazonaws.com/loki/loki/api/v1/push

如果需要启用HTTPS,只需要给ALB配置ACM证书,将Ingress监听端口改为443,再把promtail的url前缀改为https即可。

验证方式

配置生效后可以在应用账户的Pod内执行如下命令验证连通性:
curl http://internal-k8s-istiosys-ingressa-25a256ef4d-1368971909.us-east-1.elb.amazonaws.com/loki/ready
返回200且内容为ready即为配置正常。

内容的提问来源于stack exchange,提问作者Shashikant Kulkarni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 03:06:03