SkyWalking是一个开源的分布式追踪系统,主要用于监控和分析微服务架构下的应用性能。 它提供了分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案,特别适用于微服务、云原生架构和基于容器的环境(如Docker、K8s、Mesos)。
SkyWalking的主要功能包括:
- 分布式追踪:通过追踪请求在微服务之间的流动,帮助开发者理解服务的调用关系和性能瓶颈。
- 服务网格遥测分析:对服务网格中的通信进行监控和分析,提供详细的遥测数据。
- 度量聚合:收集系统的各种度量指标,如CPU使用率、内存消耗等,帮助进行性能调优。
- 可视化:提供直观的界面展示追踪数据和度量信息,方便用户分析和调试。
本文主要介绍skywalking安装过程及需要注意的点
1、下载安装包
Index of /dist/skywalking/8.7.0
2、上传到linux服务器并解压
tar xzxf apache-skywalking-apm-8.7.0.tar.gz
解压后目录
3、修改配置
进入安装目录下的config目录,修改application.yml
storage:selector: ${SW_STORAGE:mysql}mysql:properties:jdbcUrl: ${SW_JDBC_URL:"jdbc:mysql://localhost:3306/swtest?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai"}dataSource.user: ${SW_DATA_SOURCE_USER:root}dataSource.password: ${SW_DATA_SOURCE_PASSWORD:root}dataSource.cachePrepStmts: ${SW_DATA_SOURCE_CACHE_PREP_STMTS:true}dataSource.prepStmtCacheSize: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_SIZE:250}dataSource.prepStmtCacheSqlLimit: ${SW_DATA_SOURCE_PREP_STMT_CACHE_SQL_LIMIT:2048}dataSource.useServerPrepStmts: ${SW_DATA_SOURCE_USE_SERVER_PREP_STMTS:true}metadataQueryMaxSize: ${SW_STORAGE_MYSQL_QUERY_MAX_SIZE:5000}maxSizeOfArrayColumn: ${SW_STORAGE_MAX_SIZE_OF_ARRAY_COLUMN:20}
进入安装目录下的webapp目录,修改webapp.yml的端口配置
server:port: 9876
上传mysql连接驱动jar包到安装目录下的oap-libs下
4、进入bin目录执行启动命令
./startup.sh
5、通过nginx进行设置用户登录拦截(注意)
因为skywalking-ui页面是没有权限管理的的,所以我们可以通过nginx配置登陆拦截
如果系统没有htpasswd命令,先使用下面的命令安装即可
yum -y install httpd-tools
使用htpasswd生成密码,/usr/local/nginx/conf/skyWalking/htpasswd为密码保存文档路径,skywalking为用户名
htpasswd -c /usr/local/nginx/conf/skyWalking/htpasswd skywalking
配置nginx代理skyWalking-UI
server {listen 7801;location / {#auth_basic on;auth_basic "Please enter the user name and password"; #这里是验证时的提示信息auth_basic_user_file /usr/local/nginx/conf/skyWalking/htpasswd;proxy_pass http://localhost:9876/;# WebSocket 穿透proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}}
6、重启nginx即可
如果是云服务器,需要放开端口