纵有疾风起
人生不言弃

Apache SkyWalking

什么是 SkyWalking?

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

架构图:

Apache SkyWalking插图

整体架构包含如下三个组成部分:
1. 探针(agent)负责进行数据的收集,包含了Tracing和Metrics的数据,agent会被安装到服务所在的服务器上,以方便数据的获取。
2. 可观测性分析平台OAP(Observability Analysis Platform),接收探针发送的数据,并在内存中使用分析引擎(Analysis Core)进行数据的整合运算,然后将数据存储到对应的存储介质上,比如Elasticsearch、MySQL数据库、H2数据库等。同时OAP还使用查询引擎(Query Core)提供HTTP查询接口。
3. Skywalking提供单独的UI进行数据的查看,此时UI会调用OAP提供的接口,获取对应的数据然后进行展示。

特性

  1. 多种监控手段,语言探针和service mesh
  2. 多语言自动探针,Java, .Net Core, PHP, NodeJS, Golang, LUA
  3. 轻量高效,不需要大数据
  4. 模块化,UI、存储、集群管理多种机制可选
  5. 支持告警
  6. 优秀的可视化方案

官网地址: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>&1mkdir -p /usr/local/skywalking

2、创建elasticsearch用户及设置系统文件句柄数

#添加es用户useradd espasswd es#设置文件打开句柄数vim /etc/security/.confes soft nofile 65536es hard nofile 65536es soft nproc 4096es hard nproc 4096#增大虚拟内存vim /etc/sysctl.confvm.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请求返回正常:

Apache SkyWalking插图1

 4、安装skywalking

tar -xf apache-skywalking-apm-6.5.0.tar.gzcd 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 -dSkyWalking OAP started successfully!SkyWalking Web Application started successfully!
 默认端口:

端口号

说明

8080

web端口

11800

gRPC追踪信息收集器端口

12800

rest追踪信息收集器端口

通过浏览器访问Skywalking的可视化页面了,访问地址:http://虚拟机IP地址:8080,如果出现下面的图,就代表安装成功了。
Apache SkyWalking插图2

  5、基于tomcat部署skywalking agent

#解压tomcattar -xf apache-tomcat-8.5.47.tar.gz#在tomcat的启动参数添加skywalking-agent.jar/usr/local/skywalking/apache-tomcat-8.5.47/bin/catalina.shCATALINA_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。

Apache SkyWalking插图3

 后记:

1、系统时间同步,不然也会导致UI无法显示请求。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

文章转载于:https://www.cnblogs.com/Dev0ps/p/12724492.html

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » Apache SkyWalking
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录