SkyWalking8.1.0 部署和使用

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SkyWalking8.1.0 部署和使用相关的知识,希望对你有一定的参考价值。

一、简介

1、官方文档

https://github.com/apache/skywalking/tree/master/docs

2、功能

SkyWalking是一个可观测性分析平台和应用性能管理系统,提供分布式跟踪、服务网格遥测分析、度量聚合和可视化一体化解决方案,并支持多种开发语言。专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。

二、部署

1、准备

下载安装包:

http://skywalking.apache.org/downloads/

选择版本“8.1.0”->"Binary Distribution for ElasticSearch 7"->"tar"

2、安装Backend

https://github.com/apache/skywalking/blob/master/docs/en/setup/backend/backend-setup.md

2.1 修改config/application.yml配置文件:
#配置数据库
storage:
  selector: $SW_STORAGE:elasticsearch7  
  elasticsearch7:    
    nameSpace: $SW_NAMESPACE:"qz-apm-release"
    clusterNodes: SW_STORAGE_ES_CLUSTER_NODES:192.168.0.17:9201

#配置访问令牌
receiver-sharing-server:
  selector: $SW_RECEIVER_SHARING_SERVER:default  
  default:
    authentication: $SW_AUTHENTICATION:"xxx"
2.2 修改config/alarm-settings.ym,l配置告警:
#钉钉
dingtalkHooks:
  textTemplate: |-
    
       "msgtype": "text",
       "text": 
         "content": "%s."
       
    
  webhooks:
    - url: https://oapi.dingtalk.com/robot/send?access_token=xxxxxx
      secret: xxxxxx
2.3 初始化&启动
#初始化:
./bin/oapServiceInit.sh
#启动:
./bin/oapServiceNoInit.sh
2.4 ES服务配置
1) 修改config/elasticsearch.yml
#优化线程池
#In tracing scenario, consider to set more than this at least.
thread_pool.write.queue_size: 1000
2) 优化索引
curl -X PUT -H 'Content-type':'application/json' 'http://localhost:9201/_all/_settings?preserve_existing=true' -d  '"index.max_result_window":"1000000"'
3) 重启ES

2.5 配置防火墙
#开启端口 
$ firewall-cmd --zone=public --add-port=11800/tcp --permanent 
$ firewall-cmd --zone=public --add-port=12800/tcp --permanent 
#重启,应用改动 
$ firewall-cmd --reload

3、安装UI

3.1 配置webapp/webapp.yml

修改端口号和Backend服务列表:

server:
  port: 8080
collector:  
  path: /graphql  
  ribbon:    
    ReadTimeout: 10000    
    # Point to all backend's restHost:restPort, split by ,    
    listOfServers: 192.168.0.161:12800
3.2 启动
$ ./bin/webappService.sh
3.3 配置防火墙
#开启端口 
$ firewall-cmd --zone=public --add-port=8080/tcp --permanent
#重启,应用改动 
$ firewall-cmd --reload
3.4 管理后台

UI地址为:http://[ip]:8080

本身不需要登录,需使用nginx做basic auth。

常见指标说明:

CPM(calls per minute):每分钟调用数。

Apdex(Application Performance Index):应用性能指数,反映真实用户体验。1为性能良好,值越小性能越差。

Successful Rate:成功率,对于http请求,为status code=200的比率。

Service Response Time Percentile(单位ms):服务响应时间百分比,分为P50、P75、P90、P95、P99。

若P75=1300ms,表示有大于百分之25(100-75)的请求,响应时间大等于1300ms。

3、安装Java Agent

https://github.com/apache/skywalking/blob/master/docs/en/setup/service-agent/java-agent/README.md

3.1 配置agent/config/agent.conf
1) 设置Token
agent.authentication = $SW_AGENT_AUTHENTICATION:xxxx
2) 修改Backend地址
# Backend service addresses.
collector.backend_service=$SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.0.161:11800
3.2 部署到服务器
1)安装

a、可打包agent目录,复制到目标服务器

b、或者在华为云可直接使用配置好的包,执行脚本

$ cd /opt && curl -k -O http://192.168.0.190:9000/apache-skywalking-8.1.0-agent.tar.gz && tar -zxvf apache-skywalking-8.1.0-agent.tar.gz && rm -rf apache-skywalking-8.1.0-agent.tar.gz
2)配置tomcat

a、配置代理 tomcat/bin/catalina.sh的第一行,增加

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/apache-skywalking-8.1.0-agent/skywalking-agent.jar=agent.namespace=qz_release,agent.service_name=qz-jserver-portal,agent.instance_name=qz-jserver-portal-rel1";export CATALINA_OPTS

其中:

agent.namespace:分隔不同项目或者环境

agent.service_name:服务名称

agent.instance_name:服务实例名称

b、重启。

4、配置.NET Agent

https://github.com/SkyAPM/SkyAPM-dotnet

三、扩展:

OpenTracing官方标准:

https://github.com/opentracing-contrib/opentracing-specification-zh

Skywalking中文文档(旧):

https://github.com/SkyAPM/document-cn-translation-of-skywalking

以上是关于SkyWalking8.1.0 部署和使用的主要内容,如果未能解决你的问题,请参考以下文章

skywalking监控nginx-ingress-controller

导出eclipse可部署插件和片段时出错

react简介

react简介

Gitlab代码管理仓库安装部署

GitLab安装部署