编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

开源分布式追踪skywalking安装部署

wxchong 2024-08-04 02:40:21 开源技术 15 ℃ 0 评论

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 &

喜欢本文的请给个点赞与关注,你的鼓励是我创作的动力!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表