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即可
如果是云服务器,需要放开端口