Apache SkyWalking
什么是 SkyWalking?
- SkyWalking 是观察性分析平台和应用性能管理系统。
- 提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案.
- 支持Java, .Net Core, PHP, NodeJS, Golang, LUA语言探针
- 支持Envoy + Istio构建的Service Mesh
架构图:

特性
- 多种监控手段,语言探针和service mesh
- 多语言自动探针,Java, .Net Core, PHP, NodeJS, Golang, LUA
- 轻量高效,不需要大数据
- 模块化,UI、存储、集群管理多种机制可选
- 支持告警
- 优秀的可视化方案
官网地址:https://skywalking.apache.org/
环境搭建
软件版本:
apache-skywalking-apm-6.5.0.tar.gz
apache-tomcat-8.5.47.tar.gz
elasticsearch-6.4.0.tar.gz
1、设置时间同步并创建安装目录
yum install -y ntp
*/2 * * * * /usr/sbin/ntpdate 182.92.12.11;/sbin/hwclock -w > /dev/null #2>&1
mkdir -p /usr/local/skywalking
2、创建elasticsearch用户及设置系统文件句柄数
#添加es用户
useradd es
passwd es
#设置文件打开句柄数
vim /etc/security/.conf
es soft nofile 65536
es hard nofile 65536
es soft nproc 4096
es hard nproc 4096
#增大虚拟内存
vim /etc/sysctl.conf
vm.max_map_count=262144
#运用生效
system -p
3、部署elasticsearch,注意事项:https://github.com/apache/skywalking/blob/5.x/docs/cn/Deploy-backend-in-standalone-mode-CN.md#%E9%83%A8%E7%BD%B2elasticsearch
#安装java环境
yum install -y java
#解压
tar -xf elasticsearch-6.4.0.tar.gz
#授权
chown -R es.es elasticsearch-6.4.0
#切换到es用户
su - es
#后台启动es服务
cd /usr/local/skywalking/elasticsearch-6.4.0/bin/
./elasticsearch -d
curl请求返回正常:

4、安装skywalking
tar -xf apache-skywalking-apm-6.5.0.tar.gz
cd apache-skywalking-apm-bin/
#修改数据源
vim config/application.yml #打开elasticseatch注解
storage: elasticsearch:
nameSpace: ${SW_NAMESPACE:""}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
trustStorePath: ${SW_SW_STORAGE_ES_SSL_JKS_PATH:"../es_keystore.jks"}
trustStorePass: ${SW_SW_STORAGE_ES_SSL_JKS_PASS:""}
user: ${SW_ES_USER:""}
password: ${SW_ES_PASSWORD:""}
indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
# Those data TTL settings will override the same settings in core module.
recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day
otherMetricsDataTTL: ${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is day
monthMetricsDataTTL: ${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is month ##注释h2数据源
# h2:
# driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
# url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}
# user: ${SW_STORAGE_H2_USER:sa}
# metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000} #后台启动服务
/usr/local/skywalking/apache-skywalking-apm-bin/bin
./startup.sh -d
SkyWalking OAP started successfully!
SkyWalking Web Application started successfully!
|
端口号 |
说明 |
|
8080 |
web端口 |
|
11800 |
gRPC追踪信息收集器端口 |
|
12800 |
rest追踪信息收集器端口 |
5、基于tomcat部署skywalking agent
#解压tomcat
tar -xf apache-tomcat-8.5.47.tar.gz
#在tomcat的启动参数添加skywalking-agent.jar
/usr/local/skywalking/apache-tomcat-8.5.47/bin/catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/local/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar";export CATALINA_OPTS
#启动tomcat服务
./startup.sh
6、首先要访问tomcat服务,这时我们打开一个新的无痕窗口(fuck。。。因为缓存的问题我整整花了一天时间卡在上面,当前服务一直不显示。)看到skywalking UI。

后记:
1、系统时间同步,不然也会导致UI无法显示请求。
Apache SkyWalking的更多相关文章
- Apache SkyWalking 为.NET Core带来开箱即用的分布式追踪和应用性能监控
在大型网站系统设计中,随着分布式架构,特别是微服务架构的流行,我们将系统解耦成更小的单元,通过不断的添加新的.小的模块或者重用已经有的模块来构建复杂的系统.随着模块的不断增多,一次请求可能会涉及到十几 ...
- Apache SkyWalking的架构设计【译文】
Apache SkyWalking提供了一个功能强大并且很轻量级的后端.在此,将介绍为什么采用以下方式来设计它,以及它又是如何工作的. 架构图 对于APM而言,agent或SDKs仅是如何使用libs ...
- Apache SkyWalking 告警配置指南
Apache SkyWalking Apache SkyWalking是分布式系统的应用程序性能监视工具(Application Performance Management,APM),专为微服务.云 ...
- 图解 Apache SkyWalking UI 的使用
Apache SkyWalking的UI界面主要分为以下几个区域: 功能选择区:这里列出了主要的UI功能,包括仪表盘.拓扑图.追踪.性能刨析.告警等功能 重新加载区:控制重新加载机制,包括定期重新加载 ...
- 安装-apache skywalking (java 应用性能监控)
官网:http://skywalking.apache.org/ 服务器:10.30.31.28 centos 7 jdk 1.8.x ES 5.x 5.0.0-bet a2版本 . http://s ...
- 一篇文章快速搞懂 Apache SkyWalking 的 OAL
OAL简介 在流模式(Streaming mode)下,SkyWalking 提供了 观测分析语言(Observability Analysis Language,OAL) 来分析流入的数据. OAL ...
- 详解 Apache SkyWalking 跨进程传播协议
简介 SkyWalking 跨进程传播协议是用于上下文的传播,本文介绍的版本是3.0,也被称为为sw8协议. Header项 Header应该是上下文传播的最低要求. Header名称:sw8. He ...
- 速查列表:Apache SkyWalking OAL 的 域(Scopes)
OAL简介 在流模式(Streaming mode)下,SkyWalking 提供了 观测分析语言(Observability Analysis Language,OAL) 来分析流入的数据. OAL ...
- 详解 Apache SkyWalking OAP 的分布式计算
SkyWalking的OAP(Observability Analysis Platform,观测分析平台)是一个用于链路数据的分布式计算系统. 因为它巧妙的设计,使得在链路数据计算和聚合过程中,不需 ...
随机推荐
- Oracle 中文日期转换
中文日期转换 select to_char(to_date('07-5月-17'),'yyyy-MM-dd HH24:mi:ss') from dual
- Django实现简单的用户添加、删除、修改等功能
一. Django必要的知识点补充 1. templates和static文件夹及其配置 1.1 templates文件夹 所有的HTML文件默认都放在templates文件夹下. 1.2 stati ...
- hdu1224SPFA求最长路加上打印路径
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1224/ 无负环. 代码如下: #include<bits/stdc++.h> using names ...
- python win32com
要使用Python控制MS Word,您需要先安裝win32com套件,這個套件可以到 http://sourceforge.net/projects/pywin32/ 找到.本文假設您已經正確安裝w ...
- Mysql性能优化:如何给字符串加索引?
导读 现代大部分的登录系统都支持邮箱.手机号码登录两种方式,那么如何在邮箱或者手机号码这个字符串上建立索引才能保证性能最佳呢? 今天这篇文章就来探讨一下在Mysql中如何给一个字符串加索引才能达到性能 ...
- 面试刷题29:mysql事务隔离实现原理?
mysql的事务是innodb存储引擎独有的,myisam存储引擎不支持事务. 事务最经典的例子就是转账了,事务要保证的是一组数据库的操作要么全部成功,要么全部失败.是为了保证高并发场景下数据的正确性 ...
- K 最近邻(k-nearest neighbours,KNN)算法
KNN用于分类和回归,需要考虑最近的邻居. 分类就是编组. 回归就是预测结果(如数字). 特征抽取意味着将物品(如水果或用户)转换为一系列可比较的数字. 能否挑选合适的特征事关KNN算法的 ...
- setAttribute 方法
IE8及以下不支持 setAttribute用来修改dom标签上的属性比如(onclick); getAttribute用来获取dom标签上的属性
- mongodb的更新语句
MongoDB 使用 update() 和 save() 方法来更新集合中的文档: update()方法: update() 方法用于更新已存在的文档.语法格式如下: db.collection.up ...
- python—time模块
timetime模块提供各种时间相关的功能,与时间相关的模块有:time,datetime,calendar等. 时间有三种表示方式,一种是时间戳.一种是格式化时间.一种是时间元组.时间戳和格式化时间 ...