Centos7搭建 Skywalking 单机版

介绍

Skywalking是应用性能监控平台,可用于分布式系统,支持微服务、云原生、Docker、Kubernetes 等多种架构场景。

整体架构如图

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。

安装步骤如下

安装Elaticsearch

参考:Centos7源码方式安装Elasticsearch 7.10.2单机版

下载SkyWalking安装包

官网:Downloads | Apache SkyWalking

下载SkyWalking APM

https://archive.apache.org/dist/skywalking/9.3.0/apache-skywalking-apm-9.3.0.tar.gz

配置jdk

参考:Centos7安装jdk-CSDN博客

安装

本文安装目录为:/opt

上传并解压

将安装包apache-skywalking-apm-9.3.0.tar.gz上传到/opt目录

cd /opt
#解压
tar -zxvf apache-skywalking-apm-9.3.0.tar.gz
#进入安装目录
cd apache-skywalking-apm-bin
ll

编辑配置文件

配置elasticsearch

vi /opt/apache-skywalking-apm-bin/config/application.yml;

找到storage部分,默认为h2,修改为elasticsearch

配置es相关信息,要修改的部分如下图所示

修改web端口号(可选)

SkyWalking UI界面默认8080端口,如果需要更换,则安装下面的方式修改

cd apache-skywalking-apm-bin;
vi webapp/application.yml;

将8080修改为要使用的端口号,注意修改了端口号后,需要注意防火墙放开

防火墙设置

注意端口号如果不是默认的,将下面的端口号修改为实际的端口号

# 放开web端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent;
# grpc协议  用于agent上传数据 
firewall-cmd --zone=public --add-port=11800/tcp --permanent;
firewall-cmd --reload;

启动

cd /opt/apache-skywalking-apm-bin;
bin/startup.sh

虽然提示启动成功了,但是如果访问不了需要查看一下日志,日志位置为:

安装目录/apache-skywalking-apm-bin/logs/目录下

本示例日志目录为:/opt/apache-skywalking-apm-bin/logs

访问

浏览器访问:http://192.168.110.155:8080 如下图所示表示启动成功

配置自启动

通过定时任务设置开机后启动

# 进入定时任务编辑页面
crontab -e

最后添加如下内容,表示服务器启动30秒后执行启动脚本

@reboot ( sleep 30 ; source /etc/profile&&bash /opt/apache-skywalking-apm-bin/bin/startup.sh)

运维

日志

/opt/apache-skywalking-apm-bin/logs

启动

#启动oap和web ui服务
bash /opt/apache-skywalking-apm-bin/bin/startup.sh

#单独启动oap服务
bash /opt/apache-skywalking-apm-bin/bin/oapService.sh
#单独启动webui服务
bash /opt/apache-skywalking-apm-bin/bin/webappService.sh

关闭

jps 查出进程号

然后使用kill命令关闭进程

相关推荐
拾忆,想起15 小时前
如何选择Spring AOP的动态代理?JDK与CGLIB的适用场景
spring boot·后端·spring·spring cloud·微服务
zhuyasen15 小时前
多维度详细比较 kratos、go-zero、goframe、sponge 框架
后端·http·微服务·rpc·golang
掘金-我是哪吒17 小时前
分布式微服务系统架构第90集:现代化金融核心系统
分布式·微服务·金融·架构·系统架构
程序猿零零漆1 天前
SpringCloud系列教程:微服务的未来(十九)请求限流、线程隔离、Fallback、服务熔断
java·spring cloud·微服务
小小工匠2 天前
DDD - 领域事件_解耦微服务的关键
微服务·领域事件
掘金-我是哪吒2 天前
分布式微服务系统架构第89集:kafka消费者
分布式·微服务·架构·kafka·系统架构
字节全栈_PVK2 天前
微服务配置中心 Apollo解析——Portal 关联 Namespace
java·前端·微服务
奔跑吧邓邓子3 天前
SpringCloud之服务间通信超时:突破微服务的“时间枷锁”
spring cloud·微服务·通信超时
潜水阿宝3 天前
微服务网关鉴权之sa-token
java·spring boot·微服务·gateway·springcloud
程序猿零零漆3 天前
SpringCloud系列教程:微服务的未来(十八)雪崩问题、服务保护方案、Sentinel快速入门
spring cloud·微服务·sentinel