本文主要适合新手运维在快速配置APM 全链路检测 ,并在k8s部署过程给出一定思路, 如果已经解决该问题 直接跳过该文章,本文编写的过程中 参考前同事(小黑龙)之前部署心得和体验。
本文主要为了如下几个部分
1、所需配置
2、搭建部署skywalking
3、k8s接入skywalking jar
4、访问测试
— 1 —
所需配置
软件
java 推荐使用 1.11以上skywalkingelasticsearch (存储skywalking数据) 推荐使用7.0以上版本。不推荐使用mysql h2等等
系统
操作系统:centos 7.8 64CPU:2C内存:8G硬盘 300G ESSD
— 2 —
部署skywalking
部署JAVA
wget https:/-init.oss-cn-hangzhou.aliyuncs.com/jdk-11.0.9_linux-x64_bin.tar.gztar zxvf jdk-11.0.9_linux-x64_bin.tar.gz -C usr/local/、cat << EOF > etc/profileexport JAVA_HOME=/usr/local/jdk-11.0.9export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/binEOFsource etc/profilejava -version
elasticsearch 厂商购买
skywalking
一、从官网下载
cd usr/local/srcwget https://www.apache.org/dyn/closer.cgi/skywalking/8.6.0/apache-skywalking-apm-es7-8.6.0.tar.gztar zxvf apache-skywalking-apm-es7-8.6.0.tar.gz -C usr/localcd usr/local/aapache-skywalking-apm-es7-8.6.0/config
二、修改配置
cd
/usr/local/apache-skywalking-apm-es7-8.6.0/config
vim application.yml####修改storage相关信息####storage:selector: ${SW_STORAGE:elasticsearch7}elasticsearch7:nameSpace: ${SW_NAMESPACE:"es-cn-nif1ys33y0027zfox"}clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:es-cn-nif1ys33y0027zfox.elasticsearch.aliyuncs.com:9200}user: ${SW_ES_USER:"elastic"}password: ${SW_ES_PASSWORD:"aoteman666"}只要修改 storage下面的配置selector: ${SW_STORAGE:elasticsearch7} 修改成: selector: ${SW_STORAGE:elasticsearch7}nameSpace: ${SW_NAMESPACE:""} 修改成: nameSpace: ${SW_NAMESPACE:"xxxxxxxx"}user: ${SW_ES_USER:""} 修改成: user: ${SW_ES_USER:"elastic"}password: ${SW_ES_PASSWORD:""} 修改成: password: ${SW_ES_PASSWORD:"aoteman666"}
三、启动服务
# 启动skywalking服务端cd usr/local/apache-skywalking-apm-es7-8.6.0/bin./startup.sh start# 设置开机启动chmod a+x etc/rc.d/rc.localvim etc/rc.local/usr/local/apache-skywalking-apm-es7-8.6.0/bin/startup.sh start
— 3 —
k8s接入skywalking jar
配置应用
1、将sw-agent 放入git项目中参考 xxx-app这个项目,将sw-agent下载到这项目中 xxx-app/data下面2、docker build时将 sw-agent加入到docker镜像中修改Dockerfile,新增:COPY sw-agent/ /var/local/sw-agent3、修改run.sh, 启动命令中新增:-javaagent:/var/local/sw-agent/skywalking-agent.jar以 shenlu-app为例,启动命令为:sh -c "/var/local/jdk-11.0.9/bin/java -javaagent:/var/local/sw-agent/skywalking-agent.jar -jar ${JAVA_OPTS} /var/local/shenlu-shenlu-app.jar --spring.profiles.active=${PROFILE}"4、修改k8s deployment的yaml文件,传入sw相关的变量在 spec.template.spec.containers.env下面新增:- name: SW_AGENT_NAMEvalue: xxx-app(这里需要随项目名来改动)- name: SW_AGENT_COLLECTOR_BACKEND_SERVICESvalueFrom:configMapKeyRef:key: SW_AGENT_COLLECTOR_BACKEND_SERVICESname: skywalking-env(已经创建好skywaling-env这个configmap)5、yaml提交到git仓库后,按正常流程部署服务,就可以正常加载skywalking agent了
— 4 —
访问测试
访问skywalking服务

本教程适合新手运维 希望对大家有所帮助!!
文章转载自运维入门时间,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




