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命令关闭进程

相关推荐
码熔burning5 小时前
【Spring Cloud Alibaba】:Nacos 入门讲解
分布式·spring cloud·微服务
极客先躯17 小时前
高级java每日一道面试题-2025年3月22日-微服务篇[Nacos篇]-Nacos的主要功能有哪些?
java·开发语言·微服务
bjzhang7519 小时前
微服务组件——Eureka组件的安装与使用指南
微服务·eureka
喵个咪21 小时前
开箱即用的GO后台管理系统 Kratos Admin - 定时任务
后端·微服务·消息队列
工业互联网专业1 天前
基于springcloud微服务架构的巡游出租管理平台
java·vue.js·spring cloud·微服务·毕业设计·源码·课程设计
陌言不会python1 天前
谷粒微服务高级篇学习笔记整理---thymeleaf
笔记·学习·微服务
y_bccl272 天前
链路追踪Skywalking
skywalking
极客先躯2 天前
高级java每日一道面试题-2025年3月21日-微服务篇[Nacos篇]-什么是Nacos?
java·开发语言·微服务
乄bluefox2 天前
SkyWalking+Springboot实战(最详细)
skywalking
Mike_jia2 天前
一篇文章带你了解一款强大的全栈监控工具---HertzBeat
监控