返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 1019|回复: 0

[转载] 【转载】Apache SkyWalking 监控 Linux 实战

[复制链接]
发表于 2025-4-25 00:11:24 | 显示全部楼层 |阅读模式
本帖最后由 da11 于 2025-4-25 00:13 编辑

Apache SkyWalking 监控 Linux 实战
转载作者:Geek_ymv、顾振印


SkyWalking 从 8.4 版本开始支持监控主机,用户可以轻松从 dashboard 上检测可能的问题,例如当 CPU 使用过载、内存或磁盘空间不足或者当网络状态不健康时等。
与监控 MySQL Server 类似,SkyWalking 也是利用 Prometheus 和 OpenTelemetry 收集主机的 metrics 数据。
同时 SkyWalking 也提供了使用 InfluxDB Telegraf 通过 Telegraf receiver 接收主机的 metrics 数据,telegraf receiver 插件负责接收、处理和转换 metrics,
然后将转换后的数据发送给 SkyWalking MAL 处理。

1.我们需要先安装node_exporter和docker pull otel/opentelemetry-collector

node_exporter下载地址如下:
wget https://github.com/prometheus/no ... .linux-amd64.tar.gz

docker pull otel/opentelemetry-collector命令:
docker pull otel/opentelemetry-collector:0.86.0

2.下载完毕后解压
tar xvfz node_exporter-1.7.0.linux-amd64.tar.gz

3.进入对应的文件夹
cd node_exporter-1.7.0.linux-amd64

4.注册服务
vim /etc/systemd/system/node_exporter.service


===============================================================
[Unit]
Description=node exporter service
Documentation=https://prometheus.io
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/data/linux-monitoring/node_exporter-1.7.0.linux-amd64/node_exporter --collector.textfile.directory=/data/linux-monitoring/node_exporter-1.7.0.linux-amd64/ --web.listen-address=:19100
Restart=on-failure

[Install]
WantedBy=multi-user.target

================================================================

--web.listen-address=:19100 是将端口9100修改为19100,一般只能通过此方法修改端口。

执行命令刷新系统服务命令:
systemctl daemon-reload

开启node_exporter服务命令:
systemctl start node_exporter


启动成功后访问 http://IP:19100/metrics 可以看到采集到的 metrics 信息。



5.部署 OpenTelemetry Collector,首先需要创建 OpenTelemetry Collector配置文件

mkdir -p /data/linux-monitoring/otel-collector/config/

vim otel-collector-config.yaml

  1. receivers:
  2.   prometheus:
  3.     config:
  4.       scrape_configs:
  5.         - job_name: "vm-monitoring" # make sure to use this in the vm.yaml to filter only VM metrics,一般不能修改此名称
  6.           scrape_interval: 10s
  7.           static_configs:
  8.             - targets: ["192.168.233.128:19100"]                          # node_exporter监测的地址

  9. processors:
  10.   batch:

  11. exporters:
  12.   otlp:
  13.     endpoint: "oap:11800"                        # SkyWalking采集端口地址,这里的oap是容器直连名称,之后运行容器需要link连接!!
  14.     tls:
  15.       insecure: true
  16.   logging:
  17.     loglevel: debug

  18. service:
  19.   pipelines:
  20.     metrics:
  21.       receivers: [prometheus]
  22.       processors: [batch]
  23.       exporters: [otlp, logging]
复制代码


6.启动 OpenTelemetry Collector服务

docker run -d -p 55678:55678 --name otel-collector --link oap:oap -v /data/linux-monitoring/otel-collector/config/otel-collector-config.yaml:/etc/otel-collector-config.yaml  -e TZ=Asia/Shanghai otel/opentelemetry-collector:0.86.0 --config=/etc/otel-collector-config.yaml

7.在SkyWalking-ui查看linux主机是否刷新进去了,看到主机则代表成功,但是图表样式需要自行一个个点击编辑才能看到具体的数据效果






需要手动输入指标,关键词为vm才能监控,右侧“铅笔”按钮的计算选项“Percentage”为百分比选项





疑难问答:保存图表样式报错:The dashboard update has been disabled. Check SW_ENABLE_UPDATE_UI_TEMPLATE on configuration-vocabulary.md(https://skywalking.apache.org/do ... guration-vocabulary) to activate it.

这是因为SkyWalking默认禁用了样式更改,需要重新指定 SW_ENABLE_UPDATE_UI_TEMPLATE参数为true 运行skywalking-oap-server

需要删掉旧的skywalking-oap-server,再重新运行,解除SW_ENABLE_UPDATE_UI_TEMPLATE参数运行命令如下:

docker run --name oap --restart always -p 11800:11800 -p 12800:12800 --link es:es --privileged=true -d -e TZ=Asia/Shanghai -e SW_ES_USER= -e SW_ES_PASSWORD= -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=es:9200 -e SW_ENABLE_UPDATE_UI_TEMPLATE=true -v /etc/localtime:/etc/localtime:ro apache/skywalking-oap-server:9.3.0

这时启动完成后就可以保存样式了~



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表