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

相关推荐
勿芮介5 小时前
[微服务]ELK Stack安装与配置全指南
elk·微服务·架构
可观测性用观测云10 小时前
Ceph 可观测性最佳实践
监控
mask哥12 小时前
详解flink java基础(一)
java·大数据·微服务·flink·实时计算·领域驱动
bing.shao18 小时前
微服务容错与监控体系设计
微服务·云原生·架构
天上掉下来个程小白20 小时前
Docker-14.项目部署-DockerCompose
运维·docker·微服务·容器
曾经的三心草1 天前
微服务的编程测评系统11-jmeter-redis-竞赛列表
redis·jmeter·微服务
云游2 天前
大模型性能指标的监控系统(prometheus3.5.0)和可视化工具(grafana12.1.0)基础篇
grafana·prometheus·可视化·监控
k↑2 天前
微服务之注册中心与ShardingSphere关于分库分表的那些事
数据库·微服务·架构·shardingsphere
Tadas-Gao2 天前
Java设计模式全景解析:从演进历程到创新实践
java·开发语言·微服务·设计模式·云原生·架构·系统架构
海风极客2 天前
一个案例带你搞懂Prometheus指标类型(下)
监控