Skywalking + Elasticsearch 监控服务搭建

1,284 阅读2分钟

Skywalking是一个分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。SkyWalking 是观察性分析平台和应用性能管理系统。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。支持Java, .Net Core, PHP, NodeJS, Golang, LUA语言探针,支持Envoy + Istio构建的Service Mesh。

一、基础环境

服务器: windos
Java jdk:1.8
Skywalking: 8.3
Elasticsearch: 6.7 (数据存储)
Nodejs: 14.15
Kibana: 6.7 (ES数据可视化)

二、安装、配置、启动

所有服务为本地安装,各软件均采用默认配置,若有需求更改对应软件相关配置文件即可。

2.1 ES + Kibana

1、解压压缩包

2、执行 elasticsearch-6.7.0\bin\elasticsearch.bat 文件,http://localhost:9200/ 验证启动情况

3、执行 kibana-6.7.2-windows-x86_64\bin\Kibana.bat 文件,http://localhost:5601/验证启动情况

2.2 Skywalking

主要目录结构如下:

  • bin目录存放的是启动脚本,包含oapService.sh、webappService.sh等启动脚本
  • config是oap服务的配置,包含一个application.yml的配置我呢
  • agent是skywalking的agent,一般用来采集业务系统的日志
  • webapp目录是skywalking前端的UI界面服务的配置

整体的架构如下: 架构图

在整个skywalking的系统中,有四个角色:

  • skywalking agent和业务系统绑定在一起,负责收集各种监控数据
  • Skywalking oapservice是负责处理监控数据的,比如接受skywalking agent的监控数据,并存储在数据库中;接受skywalking webapp的前端请求,从数据库查询数据,并返回数据给前端。Skywalking oapservice通常以集群的形式存在。
  • skywalking webapp,前端界面,用于展示数据。
  • 用于存储监控数据的数据库,比如mysql、elasticsearch等。

2.2.1 配置更改

更改存储数据库:apache-skywalking-apm-bin\config\application.yml

storage:
  # h2 为默认数据库
  #selector: ${SW_STORAGE:h2}
  # 选择 ES
  selector: ${SW_STORAGE:elasticsearch}

启动: 执行 apache-skywalking-apm-bin\bin\startup.bat 文件, http://localhost:8080/ 验证启动情况

三、JVM 服务使用

通过添加JVM启动参数的方式来覆写配置项:

# 指定java agent的jar包路径
-javaagent:D:\software\apache-skywalking-apm-bin\agent\skywalking-agent.jar
# 指定skywalking agent的服务名称,通常对应项目的服务名称
-Dskywalking.agent.service_name=you-service-name

更多配置项参考: apache-skywalking-apm-bin\agent\config\agent.config

完成以上步骤后,在IDEA中引导类的配置界面里设置JVM启动参数(多个服务分别添加即可)

启动服务,刷新 Skywalking页面看到【当前服务】不为空则成功