一、简介
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(9.7版本要 java11)
客户端: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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2023-08-23 kubernetes-1.26安装
2022-08-23 k8s对接Ceph实现持久化存储(16)
2022-08-23 Istio微服务入门---通过istio部署微服务实现灰度发布(15)