0


Skywalking调用链监控系统 及 日志采集

Skywalking做为生产级的调用链监控工具,不仅提供了丰富的监控系统,而且通过字节码拦截形式集成系统,对系统没有任何侵入性;最近研究一下调用链项目,在此与大家共享;

github 地址 https://github.com/apache/skywalking

  1. 从github中下载压缩包;
  2. 解压进入bin目录;
  3. startup.bat(Windows系统) 或 startup.sh(Linux系统)启动;
  4. 访问http://localhost:8080/ (在此以本地为例)

下载地址

https://downloads.apache.org/skywalking/8.6.0/apache-skywalking-apm-8.6.0.tar.gz

下载完解压

主要目录结构如下:

bin目录存放的是启动脚本,包含oapService.bat、webappService.bat、oapService.sh、webappService.sh等启动脚本
config是oap服务的配置,包含一个application.yml的配置文件
agent是skywalking的agent,一般用来采集业务系统的日志
webapp目录是skywalking前端的UI界面服务的配置
整体的架构如下:

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

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

通过查看config\application.yml

默认是存储在h2中。 支持es,mysql,tidb,influxdb,postgresql,zipkin-elasticsearch7

启动程序 startup.bat

配置idea启动参数

VM options 虚拟机参数

-javaagent:D:\apache-skywalking-apm-8.6.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar

Environment variables 环境变量

SW_AGENT_NAME=boot-es;W_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800

最终的启动命令为:

java -javaagent:D:\apache-skywalking-apm-8.6.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar -jar boot-es.jar

如果配置文件中已配置的话,也可以不配置环境变量

D:\apache-skywalking-apm-8.6.0\apache-skywalking-apm-bin\agent\config\agent.config

日志采集

在springboot工程的pom文件中添加相关依赖

        <dependency>
            <groupId>org.apache.skywalking</groupId>
            <artifactId>apm-toolkit-logback-1.x</artifactId>
            <version>8.6.0</version>
        </dependency>

在resources中新建logback-spring.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <appender name="skywalking-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
                <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level logger_name:%logger{36} - [%tid] - message:%msg%n</pattern>
            </layout>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="skywalking-log" />
    </root>

</configuration>

服务细粒度指标---平均时延,平均吞吐量等

端点---端点维度查看平均时延,平均吞吐量,慢端点排行榜

实例---实例维度查看响应时间,吞吐量,内存信息

拓扑图---看到项目拓扑

追踪---每个请求的耗时明细

【总结】

做为生产级项目,相关监控是必不可少的;监控可以让我们直观实时的知道项目运行的情况,为项目后续的优化提供重要的参考指标。

标签:

本文转载自: https://blog.csdn.net/jiangxwa/article/details/118999416
版权归原作者 jiangxwa 所有, 如有侵权,请联系我们删除。

“Skywalking调用链监控系统 及 日志采集”的评论:

还没有评论