杨梅冲
每天在想什么呢?

一、简介

skywalking支持dubbo,SpringCloud,SpringBoot集成,代码无侵入,通信方式采用GRPC,性能较好,实现方式是java探针,支持告警,支持JVM监控,支持全局调用统计等等,功能较完善。
skywalking功能比较丰富,报表统计,UI界面更加人性化

SkyWalking 优点是服务性能分析和链路追踪,但也有不足之处。采集方式上不足
Skywalking 监控 Java、Golang、Node、.NET 语言的链路都是采用了 SDK 或者 Agent 的方式将数据上报到 Skyalking 后端,不过都是采用 gRPC 的方式和后端交互,比如 Java 项目,SkyWalking Agent 采集到后端的 Java 日志后进行上报。而对于 Nginx 则需要写 Lua 脚本来和 SkyWalking AOP 服务通信,对于 MySQL 日志也需要单独写脚本来上报日志。

数据可视化的不足:
SkyWalking 对于链路的展示非常直观,但是对于日志的数据的展示探索能力很弱,而 Kibana 提供了丰富的可视化选型,如折线图、饼图等。
SkyWalking 对于日志的搜索和展示能力较弱,而 Kibana 对于搜索的方式非常丰富,而且支持高亮。

 官网下载:https://skywalking.apache.org/downloads/

二、安装

 本次安装版本:

服务端:apache-skywalking-apm-9.3.0.tar.gz

客户端:apache-skywalking-java-agent-9.2.0.tgz

elasticsearch: elasticsearch-8.15.0-linux-x86_64.tar.gz

2.1  环境准备

# 1.关闭 selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
sed -i 's/SELINUXTYPE=targeted/#&/' /etc/selinux/config
setenforce 0

#2.limits.conf修改
vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 524288
* hard nproc 524288

# 3.修改内核参数,没有修改的话elasticsearch报错
vim /etc/sysctl.conf
vm.max_map_count=262144

sysctp -p # 激活

#4.添加elasticsearch启动用户
useradd es

2.2 Elasticsearch安装

cd /usr/local/
tar -xzvf elasticsearch-8.15.0-linux-x86_64.tar.gz
chown -R es.es elasticsearch-8.15.0
cd /usr/local/elasticsearch-8.15.0/config
vim elasticsearch.yml

cluster.name: Elasticsearch
node.name: server_102
path.data: /usr/local/elasticsearch-8.15.0/data
path.logs: /usr/local/elasticsearch-8.15.0/logs
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["server_102"]. #可以换成 IP
xpack.security.enabled: false
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

# 启动
su - es
cd /usr/local/elasticsearch-8.15.0/bin
./elasticsearch -d

2.3 Skywalking安装

2.3.1 skywalking服务端安装

# 采用elasticsearch作为持久化存储,修改SW_STORAGE 和elasticsearch IP
cd /usr/local
tar -xzvf apache-skywalking-apm-9.3.0.tar.gz
cd apache-skywalking-apm-bin/config
vim application.yml
# 设置存储
storage:
  selector: ${SW_STORAGE:elasticsearch}
  elasticsearch:
    namespace: ${SW_NAMESPACE:""}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:10.1.1.102:9200}

# 启动
./startup.sh

UI服务的配置文件
vim apache-skywalking-apm-bin/webapp/application.yml
# 访问页面端口 8080,可以修改
serverPort: ${SW_SERVER_PORT:-8080}

# Comma seperated list of OAP addresses.
oapServices: ${SW_OAP_ADDRESS:-http://localhost:12800}

页面访问:http://10.1.1.10:8080

2.3.2 skywalking客户端安装

cd /usr/local/
tar -xzvf apache-skywalking-java-agent-9.2.0.tgz
vim  skywalking-agent/config/agent.config
# 配置链接 elasticsearch
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:10.1.1.102:11800} 

三、apache-tomcat和 java包启动注册到 skywalking

cd /usr/local/apache-tomcat-8.5.37/bin
vim catalina.sh
#!/bin/sh
CATALINA_OPTS="$CATALINA_OPTS -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=stage::tomcat -Dskywalking.collector.backend_service=10.1.1.10:11800"

# 启动 tomcat
./startup.sh

java包程序启动

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=gs -Dskywalking.collector.backend_service=10.1.1.10:11800 -jar -Dspring.profiles.active=stage /application/gs.jar

#
-javaagent:指定skywalking中的agent中的skywalking-agent.jar的路径
-Dskywalking.agent.service_name:指定在skywalking中的服务名称,一般是微服务的spring.application.name
-Dskywalking.collector.backend_service:指定oap服务绑定的地址,如果是本地,由于oap服务默认的端口是11800,因此只需要配置为127.0.0.1:11800

http://10.1.1.10:8080

 

posted on 2024-08-23 14:36  杨梅冲  阅读(48)  评论(0编辑  收藏  举报