前面的几篇文章我们聊了基于Metrics的监控Prometheus,利用Prometheus和Grafana可以全方位监控你的服务器及应用的性能指标,在出现异常时利用Alertmanager告警及时通知运维处理。今天我们聊聊基于Trace的分布式跟踪系统 - SkyWalking

初识SkyWalking

应用场景

随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响,如果没有及时处理很有可能会造成整个系统崩溃。



面对以上情况,我们就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题。

架构

SkyWalking 逻辑上分为四部分: 探针, 平台后端, 存储和用户界面。

  • 探针

    主要负责从客户端收集数据,将数据转换成SkyWalking适用的格式,探针对客户端程序没有任何代码侵入,使用起来简单方便,使用如下命令即可完成对应用的监控

    java -javaagent:/path/skywalking-agent.jar -jar youApp.jar

  • 平台后端(OAP Server)

    主要用于数据聚合, 数据分析以及驱动数据流从探针到用户界面的流程。通过 gRPC/Http 收集客户端Agent的采集信息 ,Http默认端口 12800,gRPC默认端口 11800。

  • 存储

    SkyWalking支持很多存储:H2(用作演示环境)、MySQL(当数据量大时检索性能下降很厉害)、ES(主流生产级别的存储)

  • 用户界面

    炫酷的界面,调用请求监控一目了然。

安装配置

安装

直接从官网下载最新的安装包,并上传到服务器解压。解压后的文件如下:

(需要提前准备好JAVA(1.8)和ES(6.x)的环境。)

关注一下几个重要的目录:

  • agent:代理模块(探针)
  • bin:启动脚本(包括UI和OAP SERVER)
  • config:后端相关配置
  • webapp:UI界面

配置

  • 存储相关配置

    打开application.yml,修改storage相关配置。关闭H2,打开ES,然后启动 ./bin/startup.sh
storage:
elasticsearch:
nameSpace: ${SW_NAMESPACE:"elk-online"}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.136.129:9200}
protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
  • agent 配置

    agent文件夹从服务器上拷贝出来,放在客户端服务器。打开agent\config\agent.config作如下修改

    • agent.service_name修改成你应用名称:blog
    • collector.backend_service修改成OAP Server地址:192.168.136.129:11800
  • IDEA配置(可选)

配置完成后启动你的客户端应用。

效果

环境搭建好了,下一步就是全面监控你的应用了,咱们下期有缘再见。


三维一体立体化监控

请关注个人公众号:JAVA日知录

基于SkyWalking的分布式跟踪系统 - 环境搭建的更多相关文章

  1. 基于SkyWalking的分布式跟踪系统 - 微服务监控

    上一篇文章我们搭建了基于SkyWalking分布式跟踪环境,今天聊聊使用SkyWalking监控我们的微服务(DUBBO) 服务案例 假设你有个订单微服务,包含以下组件 MySQL数据库分表分库(2台 ...

  2. 基于SkyWalking的分布式跟踪系统 - 异常告警

    通过前面2篇文章我们搭建了SW的基础环境,监控了微服务,能了解所有服务的运行情况.但是当出现服务响应慢,接口耗时严重时我们需要立即定位到问题,这就需要我们今天的主角--监控告警,同时此篇也是SW系列的 ...

  3. Spring+Shiro搭建基于Redis的分布式权限系统(有实例)

    摘要: 简单介绍使用Spring+Shiro搭建基于Redis的分布式权限系统. 这篇主要介绍Shiro如何与redis结合搭建分布式权限系统,至于如何使用和配置Shiro就不多说了.完整实例下载地址 ...

  4. 微服务之分布式跟踪系统(springboot+zipkin+mysql)

    通过上一节<微服务之分布式跟踪系统(springboot+zipkin)>我们简单熟悉了zipkin的使用,但是收集的数据都保存在内存中重启后数据丢失,不过zipkin的Storage除了 ...

  5. ELK +Nlog 分布式日志系统的搭建 For Windows

    前言 我们为啥需要全文搜索 首先,我们来列举一下关系型数据库中的几种模糊查询 MySql : 一般情况下LIKE 模糊查询  SELECT * FROM `LhzxUsers` WHERE UserN ...

  6. Spark 1.6.1分布式集群环境搭建

    一.软件准备 scala-2.11.8.tgz spark-1.6.1-bin-hadoop2.6.tgz 二.Scala 安装 1.master 机器 (1)下载 scala-2.11.8.tgz, ...

  7. 基于HBase Hadoop 分布式集群环境下的MapReduce程序开发

    HBase分布式集群环境搭建成功后,连续4.5天实验客户端Map/Reduce程序开发,这方面的代码网上多得是,写个测试代码非常容易,可是真正运行起来可说是历经挫折.下面就是我最终调通并让程序在集群上 ...

  8. ZooKeeper 完全分布式集群环境搭建

    1. 搭建前准备 示例共三台主机,主机IP映射信息如下: 192.168.32.101 s1 192.168.32.102 s2 192.168.32.103 s3 2.下载ZooKeeper, 以  ...

  9. Hadoop完全分布式集群环境搭建

    1. 在Apache官网下载Hadoop 下载地址:http://hadoop.apache.org/releases.html 选择对应版本的二进制文件进行下载 2.解压配置 以hadoop-2.6 ...

随机推荐

  1. 安装vue-cli 3.

    安装node.js,查看版本node -v 修改npm为阿里的镜像源 npm install cnpm -g --registry=https://registry.npm.taobao.org 查看 ...

  2. JS 延时函数

    function sleep(delay) { var start = (new Date()).getTime(); while((new Date()).getTime() - start < ...

  3. C# 反射基础用法

    1.引用命名空间 using System.Reflection; 2.object[] parameters = { 参数 }; 调用方法的参数数组 3.Type t = Type.GetType( ...

  4. 【linux】【Python】python2.7安装pip9.0.1

    Centos7系统默认自带python2.7,但是没有安装pip. [root@localhost docker-elk]# python -V Python 2.7.5 [root@localhos ...

  5. 不fq安装 golang tools

    go get -u -v github.com/golang/tools/go/buildutil ln -s $GOPATH/src/github.com/golang/tools $GOPATH/ ...

  6. grep 命令使用

    grep是Linux中最常用的"文本处理工具"之一,用于在文本中查找指定的字符串. 语法: grep [OPTION]... PATTERN [FILE]... 参数: -i:在搜 ...

  7. CPU的物理数、核心数、线程数

    最近了解下CPU的参数,主要是对常见的CPU参数指标:物理数.核心数以及线程数做了下了解.增长了点自己的见识,方便自己回忆和分享,记录下来.参考了网上的一些说明并加以整理,形成该随笔.主要参考链接如下 ...

  8. 设计模式——统一建模语言UML

    目录 一.UML的结构 1.1视图 1.2图 1.3模型元素 二.类图 2.1类与类图 2.2类之间的关系 三.序列图 3.1序列图定义 3.2序列图组成元素与绘制 四.状态图 4.1状态图定义 4. ...

  9. python 处理excel踩过的坑——data_only,公式全部丢失

    用openpyxl读取excel的load_workbook有个data_only参数. yb_wb = load_workbook(u"D:\\Desktop\\xxx.xlsx" ...

  10. latex转word公式 java (latextoword,latex_word,latex2word,latex_omml)

    latex_word 主要目的:     给大家分享一个我的原创作品:latex转为word公式(omml)工具 [java] 此工具主要用于将含有latex公式的文本下载成word时,将latex转 ...