VPC网络下的SAE应用接入Prometheus监控

本文介绍如何将VPC网络下的SAE应用接入Prometheus监控。

步骤一:创建SAE应用并获取VPC、交换机等信息

SAE控制台中创建应用并暴露Metrics(可以为其他地址)服务。具体操作,请参见通过代码包部署Web应用从应用列表页面,单击特定的应用名称,进入应用详情页面,可以获取应用的命名空间、VPC、交换机、安全组等信息。

步骤二:安装ECS类型的Prometheus实例

  1. 登录ARMS控制台

  2. 登录Prometheus控制台

  3. 在左侧导航栏单击实例列表,进入可观测监控 Prometheus 版的实例列表页面。

  4. 单击新建Prometheus实例,然后单击Prometheus for ECS区域。

  5. 单击步骤一中获取的目标VPC右侧操作列的安装

  6. 安装Prometheus应用对话框中,输入实例名称,选择交换机、安全组和Grafana工作区,然后单击确定

    说明
    • VPC:为步骤一中获取的VPC。

    • 交换机和安全组:建议您选择与步骤一中获取的交换机和安全组保持一致。

    • 安全组规则:您还需要添加网络规则,确保SAE应用和可观测监控 Prometheus 版之间的网络通畅。

    安装成功后,对应VPC右侧状态列显示安装成功安装成功

步骤三:配置SAE服务发现

  1. Prometheus监控页面的顶部菜单栏,选择地域,然后单击步骤二中安装的目标实例操作列的设置

  2. 设置页面单击编辑Prometheus.yaml,在弹出的对话框中输入如下代码段,然后单击保存,创建SAE服务发现。

    global:
      scrape_interval: 30s
      scrape_timeout: 30s
      evaluation_interval: 30s
    scrape_configs:
    ## job名称,可以自定义修改
    - job_name: sae-test
      honor_timestamps: true
      scrape_interval: 30s
      scrape_timeout: 10s
      metrics_path: /metrics
      scheme: http
      ## SAE专用服务发现类型
      aliyun_sae_sd_configs:
          ## 请将端口号调整为您的应用对应的端口号
        - port:  9913
          ## 请根据你的实际情况填写用户信息
          user_id: *********
          access_key: *********
          access_key_secret: ********
          refresh_interval: 30s
          ## 请根据步骤1中应用的信息填写
          region_id: cn-hangzhou
          vpc_id: vpc-bp156863cbb2z17bhyzav
          namespace_id: ["cn-hangzhou"]
          app_name: ["test1","test2"]
          tag_filters:
            - key: environment
              values: ["daily","publish"]
            - key: owner
              values: ["zhangshan"]
      relabel_configs:
        - source_labels: [__meta_sae_private_ip]
          regex: (.*)
          target_label: __address__
          ## 将端口号调整为您的应用对应的端口号
          replacement: $1:9913
        - source_labels: [__meta_sae_namespace_id]
          regex: (.*)
          target_label: namespace
          replacement: $1
        - source_labels: [__meta_sae_app_name]
          regex: (.*)
          target_label: app_name
          replacement: $1
        - source_labels: [__meta_sae_group_name]
          regex: (.*)
          target_label: group_name
          replacement: $1
        - source_labels: [__meta_sae_instance_id]
          regex: (.*)
          target_label: instance_id
          replacement: $1
        - source_labels: [__meta_sae_status]
          regex: (.*)
          target_label: instance_status
          replacement: $1
          ## 用户在应用上自定义的标签(格式:__meta_sae_tag_[tagName])
        - source_labels: [__meta_sae_tag_owner]
          regex: (.*)
          target_label: owner
          replacement: $1

步骤四:查看监控数据

  1. 在左侧导航栏单击大盘列表,然后单击任一大盘名称,进入Grafana页面。

  2. 在左侧导航栏单击Explore,然后在Explore页面选择VPC对应的数据源,然后输入Metrics查询命令,例如,up{job="sae-test"} ,可以看到数据采集是否符合预期,若未成功采集到数据,请您检查安全组网络规则和Prometheus.yaml配置。

    说明

    其中job名称为步骤三中创建的。

    image.png