linux环境skywalking搭建及项目应用
现在项目一般都是多实例,分布式部署,一个请求也许会需要多个项目模块响应,链路比较长。前端页面请求出现问题了,定位需要多个项目挨个查看日志,在生产环境日志量比较大,刷新的也比较快,会给问题定位带来很大的难度,所以链路跟踪是非常必要的。在工作中使用过zipkin和skywalking,也使用过arths,在最近项目选型链路跟踪软件果断选择了skywalking了,好处不多说,直接上从0开始部署方法。一
现在项目一般都是多实例,分布式部署,一个请求也许会需要多个项目模块响应,链路比较长。前端页面请求出现问题了,定位需要多个项目挨个查看日志,在生产环境日志量比较大,刷新的也比较快,会给问题定位带来很大的难度,所以链路跟踪是非常必要的。在工作中使用过zipkin和skywalking,也使用过arths,在最近项目选型链路跟踪软件果断选择了skywalking了,好处不多说,直接上从0开始部署方法。
一、ES安装
1、去ES官网下载(Download Elasticsearch | Elastic),选择linux版本,我选择的是7.14.0版本,没有使用最新的8,尽量不要用es6
2、上传elasticsearch-7.14.0-linux-x86_64.tar.gz到指定文件夹,执行tar -zxvf elasticsearch-7.14.0-linux-x86_64.tar.gz解压缩
3、修改config/elasticsearch.yml,如下
4、创建用户组和用户,执行以下命令
groupadd elsearch
sudo useradd elsearch -g elsearch
passwd elsearch
5、赋权限,执行chown -R elsearch:elsearch elasticsearch-7.14.0
6、vi /etc/sysctl.conf,添加vm.max_map_count=262144,然后执行 sysctl -p生效配置
6、设置es密码
7、启动es (./elsearch -d 后台启动)
8、验证启动是否启动成功,浏览器输入:http://127.0.0.1:9200
二、skywalking apm服务端搭建
1、去skywalking官网下载(Downloads | Apache SkyWalking),我选择的是8.7.0版本
2、上传apache-skywalking-apm-es7-8.7.0.tar.gz到指定文件夹,执行tar -zxvf apache-skywalking-apm-es7-8.7.0.tar.gz
3、修改config/application.yml配置
4、修改webapp/webapp.yml
5、启动bin/startup.sh
6、在浏览器访问:http://192.168.103.202:18088
三、skywalking agent部署
1、去skywalking官网下载(Downloads | Apache SkyWalking)
2、上传到指定目录,使用tar命令解压缩
3、修改agent/config/agent.config文件
四、项目中配置使用
需要项目所在服务器部署agent端,启动项目时指定使用agent即可
nohup java -javaagent:/usr/local/env/public/skywalking-agent/agent/skywalking-agent.jar=agent.service_name=project-name(sky显示的项目名) -XX:+UseG1GC -server -jar project-name.1.0.0.jar(项目jar包) > project-name.out 2>&1 &
总结:skywalking是本人工作这么多年,见过的最好用的链路跟踪监控软件,也比较推荐使用。skywalking对项目没有任何侵入性,性能瓶颈可视化,非常nice。但是使用了链路跟踪也会有一定的性能损耗,特别开启sql参数打印跟踪的情况下。有时候项目需要在前端页面response显示traceId,方便拿着traceId到apm端查看请求日志,这样定位问题会更加方便,可以解决90%的页面请求问题,有时间介绍下。
更多推荐
所有评论(0)