1、安装环境
1.1、安装软件信息
version | 描述 |
elasticsearch-8.3.2 | es数据存储 |
skywalking-web | 管理后台 |
skywalking-collector | 链路数据归集器 |
skywalking-agent-9.1.0 | skywalking agent用于收集app中的访问请求 |
1.2、部署规划
ip地址 | 主机名 | 安装软件 |
192.168.52.15 | skywalking | jdk,collector,web |
192.168.52.16 | elasticsearch-01 | jdk,elasticsearch |
192.168.52.17 | elasticsearch-02 | jdk,elasticsearch |
192.168.52.18 | elasticsearch-03 | jdk,elasticsearch |
192.168.52.19 | skywalking-agent | jdk,skywalking-agent |
2、安装步骤
2.1、skywalking简介
skywalking是一个可观测性分析平台(Observability Analysis Platform简称OAP)和应用性能管理系统(Application Performance Management简称APM)。
提供分布式链路追踪、服务网格(Service Mesh)遥测分析、度量(Metric)聚合和可视化一体化解决方案。
2.2、skywalking系统架构图
整体主要分为三个部分:
1.skywalking-collector:链路数据归集器,数据可以保存在H2或ElasticSearch;
2.skywalking-web:web的可视化管理后台,可以查看归集的数据;
3.skywalking-agent:探针,用来收集和推送数据到归集器。
架构图如下:
Skywalking提供Tracing和Metrics数据的获取和聚合:
●Metric的特点是可累加的:他们具有原子性,每个都是一个逻辑计量单元,或者一个时间
段内的柱状图。 例如:队列的当前深度可以被定义为一个计量单元,在写入或读取时被更新统计; 输入HTTP请求的数量可以被定义为一个计数器,用于简单累加; 请求的执行时间可以被定义为一个柱状图,在指定时间片上更新和统计汇总。
●Tracing的最大特点就是在单次请求的范围内,处理信息。 任何的数据、元数据信息都被绑定到系统中的单个事务上。 例如:一次调用远程服务的RPC执行过程;一次实际的SQL查询语句;一次HTTP请求的业务性ID。
●总结,Metric主要用来进行数据的统计,比如HTTP请求数的计算。Tracing主要包含了某一次请求的链路数据。
2.3、详细安装配置步骤
2.3.1、软件包下载
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.2-x86_64.rpm
https://archive.apache.org/dist/skywalking/9.1.0/apache-skywalking-apm-9.1.0.tar.gz
2.3.2、系统初始化
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久
setenforce 0 # 临时
# 关闭THP(页面内存透明化)
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
# 时间同步
yum install ntpdate -y
ntpdate time.windows.com
echo "*/5 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2 >&1" >> /var/spool/cron/root
# 系统文件配置
vim /etc/security/limits.conf
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
vim /etc/security/limits.d/90-nproc.conf
soft nproc 2048
vi /etc/sysctl.conf
vm.max_map_count=655360
#配置生效
sysctl -p
2.3.3、安装jdk详细步骤
上传安装文件: jdk-8u201-linux-x64.tar.gz
mkdir /app/pinpoint -p
tar -xzf jdk-8u201-linux-x64.tar.gz -C /app/pinpoint/
启用环境变量:
# vim /etc/profile
export JAVA_HOME=/app/pinpoint/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin
然后source使其生效
source /etc/profile
java -version
2.3.4、elasticsearch集群安装详细步骤
2.3.4.1、安装配置elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.2-x86_64.rpm
rpm -ivh elasticsearch-8.3.2-x86_64.rpm
# 编辑配置文件 另外两台修改node.name
cat /etc/elasticsearch/elasticsearch.yml |grep -Ev "#|^#34;
cluster.name: skywalking-es-cluster
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.52.17","192.168.52.18"]
cluster.initial_master_nodes: ["192.168.52.16","192.168.52.17","192.168.52.18"]
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
xpack.security.http.ssl:
enabled: false
keystore.path: certs/http.p12
xpack.security.transport.ssl:
enabled: false
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12
http.host: 0.0.0.0
注: node.name 名字和域名解析上的一致,scp方式复制的配置文件,只需要更改node.name和discovery.seed_hosts部分即可
2.3.4.2、elasticsearch启停
# 启动elasticsearch
systemctl daemon-reload
systemctl start elasticsearch
systemctl status elasticsearch
netstat -tunlp | grep 9200
2.3.4.3、访问elasticearch
http://localhost:9200
检查集群健康状态
curl -X GET "localhost:9200/_cat/health?v"
查看集群节点信息
curl -X GET "localhost:9200/_cat/nodes?v"
如果出现多次更改配置文件,或者是单独成集群的现象,建议删除掉elasticsearch 的日志和数据
rm -rf /var/log/elasticsearch/*
rm -rf /var/lib/elasticsearch/*
2.3.5、skywalking详细安装步骤
2.3.5.1、安装配置skywalking
wget https://archive.apache.org/dist/skywalking/9.1.0/apache-skywalking-apm-9.1.0.tar.gz
tar -xzf apache-skywalking-apm-9.1.0.tar.gz
# 修改配置文件
vim /app/apache-skywalking-apm-bin/config/application.yml
storage:
selector: ${SW_STORAGE:elasticsearch}
elasticsearch:
namespace: ${SW_NAMESPACE:""}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.52.16:9200,192.168.52.17:9200,192.168.52.18:9200}
2.3.5.2、启动skywalking
sh /app/apache-skywalking-apm-bin/bin/startup.sh
# 观察下日志看是否有报错
tail -f /app/apache-skywalking-apm-bin/logs/*
# 查看下ES有没有生成索引
curl http://localhost:9200/_cat/indices/
2.3.5.3、访问skywalking
http://192.168.52.15:8080
2.3.6、skywalking agent详细安装步骤
2.3.6.1、安装配置skywalking
wget https://dlcdn.apache.org/skywalking/java-agent/8.15.0/apache-skywalking-java-agent-8.15.0.tgz --no-check-certificate
tar -xzf apache-skywalking-java-agent-8.15.0.tgz -C /app/
# 修改配置文件
vim /app/skywalking-agent/config/agent.config
agent.service_name=${SW_AGENT_NAME:demo}
agent.namespace=${SW_AGENT_NAMESPACE:xiaonuo}
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.52.15:11800}
# 上传demo-0.0.1-SNAPSHOT.jar,启动skywalking-agent
nohup java -javaagent:/app/skywalking-agent/skywalking-agent.jar -jar /app/demo-0.0.1-SNAPSHOT.jar >> agent.log 2>&1 &
喜欢本文的请给个点赞与关注,你的鼓励是我创作的动力!
本文暂时没有评论,来添加一个吧(●'◡'●)