skywalking的DashBoard页面上有一个SelfObservability按钮,用于监测oap-serve所在服务器的性能状况。但点进去之后什么数据也没有。这是因为自监测服务未启动。
如何开启自启动服务呢
1.进入oap容器内部,修改config目录下的application.yaml文件,可能还需修改fetcher-prom-rules目录下的self.yml文件
docker exec -it skywalking-oap /bin/bash
cd config
vi application.yaml
2.application.yaml修改部分如下
Prometheus-fetcher 的selector修改为:default
telemetry的selector修改为:prometheus
host可根据自身修改,如果修改了就需要改动self.yaml文件
prometheus-fetcher:
selector: ${SW_PROMETHEUS_FETCHER:default}
default:
enabledRules: ${SW_PROMETHEUS_FETCHER_ENABLED_RULES:"self"}
...
...
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:""}
3.self.yml修改如下
如果没改host其实不需要修改这个文件
cd fetcher-prom-rules
vi self.yaml
staticConfig:
# targets will be labeled as "instance"
targets:
- url: http://localhost:1234
sslCaFilePath:
labels:
service: oap-server
4.重启 oap 服务
docker restart oap
5.重启ui
docker restart ui
6.结果图
日志和告警都还没有开启,另外还准备修改UI集成到自家公司的系统中。任重而道远啊。