如何使用skywalking 进行全链路监控

本文详细介绍了如何使用Apache Skywalking进行全链路监控,包括Java应用的监控、Nginx的接入以及Skywalking的参数配置。通过Skywalking UI,可以观察到CPM、SLA、百分位数统计等关键指标,帮助提升服务性能和稳定性。
摘要由CSDN通过智能技术生成

小盒子的技术分享 发起了一个读者讨论 有什么想问小盒子的吗?

图片

如何使用skywalking 进行全链路监控

本文涉及内容

  • skywalking 全链路监控

  • skywalking 的参数配置

  • skywalking UI 监控视角与指标介绍

  • 一些很有用的点

skywalking 全链路监控

下图是我从网上找到的一个比较常见的微服务架构,看的出来使用的是 spring cloud 框架组件,后端服务是 java。我所谓的全链路监控是 从 Nginx 到数据库 这个链路的监控。

图片

我们知道 skywalking 可以通过 agent 比较方便的监控到后端的 java 应用。有关 skywalking 的安装请参考官方文档[1]

以下是几个界面截图:通过 skywalking , 我们可以从服务入口开始一直监控到数据库,甚至是数据库的 sql 以及参数都可以一览无余(sql 参数显示需要单独配置,后面会讲)。

图片

图片

图片

然而我们并没有监控到请求的上游源头,即 Nginx 入口,如果我们将从 Nginx 入口来的并且经由 java 服务最终到数据库的请求全部监控起来,就完成了请求的全链路监控。上面我们处理了下半段,现在我们来处理上半段。

skywalking-nginx-lua[2] 这是 skywalking 的另一个项目,可以通过它来对nginx进行监控。skywalking-nginx-lua 是使用lua来织入 agent 的。所以要求你的 nginx 要么有 lua 模块,要么用 openResty 这样的自带 Lua 功能模块的软件。

我使用的是openResty,只需要加以下配置就可以实现监控(注意中文注释部分):

http {
    lua_package_path "/Path/to/.../skywalking-nginx-lua/lib/skywalking/?.lua;;";

    # Buffer represents the register inform and the queue of the finished segment
    lua_shared_dict tracing_buffer 100m;

    # Init is the timer setter and keeper
    # Setup an infinite loop timer to do register and trace report.
    init_worker_by_lua_block {
        local metadata_buffer = ngx.shared.tracing_buffer

        -- Set service name
        metadata_buffer:set('serviceName&#
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值