- 安装skywalking-es7的版本
- 1、试错之路-安装skywalking-es7-6.6.0
- 2、最终选择skywalking-es7-8.7.0
- 3、skywalking-es7-8.7.0安装步骤
- 3.1、解压安装包
- 3.2、更改application.yml配置
- 3.3、启动skywalking主程序
- 安装elasticsearch7
- 1、解压文件并创建es用户
- 2、设置max_map_count大小
- 3、设置es用户能打开的文件数和创建进程数
- 4、更改elasticsearch配置
- 5、启动成功后返回页面
- 指定agent探针启动微服务
- 1、配置SkyWalking Agent
- 2、Java -jar启动
- 3、设置排除的url路径
- 4、多台服务器注册到同一个collector
由于公司业务开发涉及的微服务链路比较长,微服务之间调用在排错及定位上比较麻烦。因此想引入apm开源框架skywalking实现微服务之间接口全链路调用以及接口耗时的统计。
1、试错之路-安装skywalking-es7-6.6.0楼主在刚开始采用skywalking-es7-6.6.0+es7.15.2集成,最后发现在进入skywalking的主页是,调了一个graphql的接口,一直包500,进入skywalking的wabapp.log查看日志时,发现是Skywalking-Collector追踪信息收集器的服务没起来,一直报错cannot connect to 127.0.0.1:12800。
2、最终选择skywalking-es7-8.7.0因此就采用了apache-skywalking-apm-es7-8.7.0版本,最终完成了apm的集成工作,skywalking的下载地址
安装包下载完成后,解压安装包,安装文件夹如下:
主要是将storage.selector:改为elasticsearch7。注意不要使用elasticsearch,否则再启动服务后会报elasticsearch的jar包冲突的错。
具体错误提示码为:java.lang.NoSuchMethodError: org.elasticsearch.client.RestHighLevelClient.ping when use elasticsearch7。
将elasticsearch的nameSpace改为es7的cluster_name的名字,将clusterNodes改为安装es7的服务地址和端口
es7启动后,输入localhost:9200出来一下json串信息说明es安装成功
在bin目录下执行sh start.sh命令就会启动skywalking主程序,输入localhost:8080,启动后的主页如下:
elasticsearch下载地址,下载完成后解压文件夹,在bin目录下./elasticsearch -d后台启动es。不能采用root账号启动,需要创建es用户。
#创建es用户组 groupadd es #创建es用户并指定密码 useradd es -g es -p es #将elasticsearch7所在的目录授权给es用户 chown -R es:es /home/es/elasticsearch-7.15.2 #切换es用户 su es2、设置max_map_count大小
启动es后会发现提示vm.max_map_count太小了,需要重新设定大小
vim /etc/sysctl.conf #指定内存大小 vm.max_map_count = 262144 #查看设置状态 sysctl -p3、设置es用户能打开的文件数和创建进程数
需要给es用户设置 一个进程最多能打开的的文件数和最多能创建的进程数
vim /etc/security/limits.conf #设置es用户能打开的文件数和创建的进程数 es soft nofile 65536 es hard nofile 65536 es soft nproc 4096 es hard nproc 40964、更改elasticsearch配置
在bin目录下的elasticsearch.yml文件中,指定logs和datas生成目录、host主机和集群初始加载主节点信息
cluster.name: my-application node.name: node-1 path.data: /home/es/elasticsearch-7.15.2/data path.logs: /home/es/elasticsearch-7.15.2/logs network.host: 0.0.0.0 http.port: 9200 cluster.initial_master_node: ["node-1"]5、启动成功后返回页面
启动成功后,输入localhost:9200,返回页面为
配置agent的参数,具体参照官网agent参数配置
-javaagent:/path/to/skywalking-agent.jar=[option1]=[value1],[option2]=[value2] #设置探针code和日志级别 -javaagent:/home/skywalking/skywalking-agent.jar=agent.application_code=31200,logging.level=debug
# 配置Agent名字,一般可以在启动微服务时指定探针的名称 export SW_AGENT_NAME=demo-application # 配置Collector地址 export SW_AGENT_COLLECTOR_BACKEND_SERVICES=localhost:11800 # 配置链路的最大Span数量,默认数为300 export SW_AGENT_SPAN_LIMIT=2000 # 配置SkyWalking Agent的jar包路径 export JAVA_AGENT=-javaagent:/home/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar2、Java -jar启动
以启动demo-service为例来说明具体参数名称
agent.service_name=demo-service为微服务启动后的探针名
nohup java -javaagent:/home/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar=agent.service_name=demo-service -Xmx512m -Xms512m -jar projectapp.jar >demoservice.log 2>&1 &3、设置排除的url路径
将agent中的 /agent/optional-plugins/apm-trace-ignore-plugin-8.74.0.jar插件cpoy到 plugins目录中,对应的shell命令为:
cp optional-plugins/apm-trace-ignore-plugin-8.74.0.jar plugins
然后在启动服务时需要指定trace.ignore_path=/exclude ,具体示例如下
nohup java -javaagent:/home/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar=agent.service_name=demo-service,collector.backend_service=192.168.0.2:11800,trace.ignore_path=/exclude -Xmx512m -Xms512m -jar projectapp.jar >demoservice.log 2>&1 &4、多台服务器注册到同一个collector
如果业务涉及的微服务较多,服务需要部署在多个服务器,则需要将skywalking包的agent包拷贝到其他服务器,然后在启动服务时需要指定collector.backend_service的服务器ip和端口。
nohup java -javaagent:/home/skywalking/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar=agent.service_name=demo-service,collector.backend_service=192.168.0.2:11800 -Xmx512m -Xms512m -jar projectapp.jar >demoservice.log 2>&1 &
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)