1. 开启Prometheus遥测数据

默认情况下, 遥测功能(telemetry)是关闭的(selectornone),像这样:

telemetry:
  selector: ${SW_TELEMETRY:none}
  none:
  prometheus:
    host: ${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0}
    port: ${SW_TELEMETRY_PROMETHEUS_PORT:1234}
    sslEnabled: ${SW_TELEMETRY_PROMETHEUS_SSL_ENABLED:false}
    sslKeyPath: ${SW_TELEMETRY_PROMETHEUS_SSL_KEY_PATH:""}
    sslCertChainPath: ${SW_TELEMETRY_PROMETHEUS_SSL_CERT_CHAIN_PATH:""}

Prometheus 可做为遥测功能(telemetry)的实现者。使用这个功能,Prometheus 就可以收集 Skywalking OAP 的 metrics 数据。

编辑config/application.yml文件,把selector 设置为 prometheus,像这样:

telemetry:
  selector: ${SW_TELEMETRY:prometheus}
  none:
  prometheus:
    host: ${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0}
    port: ${SW_TELEMETRY_PROMETHEUS_PORT:1234}
    sslEnabled: ${SW_TELEMETRY_PROMETHEUS_SSL_ENABLED:false}
    sslKeyPath: ${SW_TELEMETRY_PROMETHEUS_SSL_KEY_PATH:""}
    sslCertChainPath: ${SW_TELEMETRY_PROMETHEUS_SSL_CERT_CHAIN_PATH:""}

默认情况下,端点在开放在 http://0.0.0.0:1234/http://0.0.0.0:1234/metrics 。也可以根据需要设置主机和端口。

2. 开启 Prometheus Fetcher

SkyWalking 支持将 Prometheus 遥测数据直接收集到 OAP 后台。用户可以通过 UI 或 GraphQL API 查看它们。

默认情况下,Prometheus Fetcher是关闭的(activefalse),像这样:

prometheus-fetcher:
  selector: ${SW_PROMETHEUS_FETCHER:default}
  default:
    active: ${SW_PROMETHEUS_FETCHER_ACTIVE:false}

编辑config/application.yml文件,把active 设置为 true,像这样:

prometheus-fetcher:
  selector: ${SW_PROMETHEUS_FETCHER:default}
  default:
    active: ${SW_PROMETHEUS_FETCHER_ACTIVE:true}

3. 查看自监控数据

重启 OAP ,让修改的配置文件生效。

在 UI 中选择 SelfObservability ,然后在服务列表中选择 oap-server ,效果如下图:

如何开启Apache SkyWalking的自监控?

注:本文以SkyWalking的8.2.0版本为例进行介绍,如果版本不同会略有差异。