文章目录
- 场景
- SkyWalking介绍
- 部署
- 部署Storage [单机版Elasticsearch]
- 部署SkyWalking OAP [下载地址](https://skywalking.apache.org/downloads/#SkyWalkingAPM)
- 部署SkyWalking Java Agent
场景
SkyWalking是应用性能监控平台,可用于分布式系统,支持微服务、云原生、Docker、Kubernetes 等多种架构场景。 最近搞了一台家用服务器,下面演示下部署过程以及用法
SkyWalking介绍
部署
- Agent:在应用中,收集 Trace、Log、Metrics 等监控数据,使用 RPC、RESTful API、Kafka 等 Transport 传输方式,发送给 OAP 服务
- OAP:首先 Receiver 接收 Agent 发送的监控数据,然后 Aggregator 进行聚合计算,之后存储到 Storage 外部存储器,最终提供给 GUI 查询数据
- Storage:存储监控数据,支持 Elasticsearch、MySQL、TiDB、H2 等多种数据库
- GUI:UI 可视化界面,提供监控数据的查询后台
部署Storage [单机版Elasticsearch]
- 修改用户的最大文件描述符数量到65535, /etc/security/limits.conf 添加下面的配置
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535# 限制 root /普通用户的最大文件描述符数量为 65535。
- 配置再当前会话生效 (root账号执行)
ulimit -n 65536
- 增加 Linux 系统中的内存映射区域的最大数量 在/etc/sysctl.conf添加下面的配置
vm.max_map_count=655360# 默认情况下,Linux 系统通常会有一个较小的 vm.max_map_count 值,例如 1024。如果应用程序需要更高的映射区域(如 Elasticsearch),可能会因为超出该值而报错,增加这个值可以解决此问题。
- 执行命令,使配置立刻生效
sysctl -p
- 下载elasticsearch-6.7.2.tar.gz安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.2.tar.gztar -zxvf elasticsearch-6.7.2.tar.gzvim elasticsearch-6.7.2/config/elasticsearch.ymlnetwork.host: 0.0.0.0 # 允许外网访问
- 修改启动脚本, 指定使用jdk1.8 (因为我的环境默认是jdk17, 当前版本的es需要1.8) 该步骤选做
vim bin/elasticsearch-env
# 添加下面的配置 (路径是jdk1.8的路径)
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64
- 安装分词器插件
cd elasticsearch-6.7.2wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.7.2/elasticsearch-analysis-ik-6.7.2.zip unzip elasticsearch-analysis-ik-6.7.2.zip -d plugins/ik/
- 启动
bin/elasticsearch -d
- 查看是否部署成功, 浏览器查看 http://自己的ip:9200/
部署SkyWalking OAP 下载地址
- 下载脚本
wget https://archive.apache.org/dist/skywalking/9.4.0/apache-skywalking-apm-9.4.0.tar.gz
- 修改配置
vim config/application.yml
# storage.selector 修改成elasticsearch 默认h2
storage:selector: ${SW_STORAGE:elasticsearch}
- 另外需要自行调整es配置
- 启动
bin/oapService.sh start
SkyWalking OAP started successfully!
- 启动SkyWalking UI
bin/./webappService.sh start
6. 访问ui
默认端口8080, webapp/webapp.yml 修改配置
server.port :SkyWalking UI 服务端口。
spring.cloud.discovery.client.simple.instances.oap-service :SkyWalking OAP 服务地址数组。因为 SkyWalking UI 界面的数据,是通过请求 SkyWalking OAP 服务来获得的
部署SkyWalking Java Agent
- 下载
wget https://archive.apache.org/dist/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz