自从上了 SkyWalking,睡觉真香!!_公众号-老炮说Java的博客-CSDN博客


本站和网页 https://blog.csdn.net/qq_17231297/article/details/112792366 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

自从上了 SkyWalking,睡觉真香!!_公众号-老炮说Java的博客-CSDN博客
自从上了 SkyWalking,睡觉真香!!
公众号-老炮说Java
于 2021-01-16 13:41:59 发布
50694
收藏
102
文章标签:
分布式
分布式存储
gwt
slf4j
opera
原文链接:https://www.laopaojava.com/posts/38510.html
版权
点击上方蓝色字体,选择“标星公众号”
优质文章,第一时间送达
关注公众号后台回复pay或mall获取实战项目资料+视频
作者:废物大师兄
来源:www.cnblogs.com/cjsblog/p/14075486.html
SkyWalking 是一个应用性能监控系统,特别为微服务、云原生和基于容器(Docker, Kubernetes, Mesos)体系结构而设计。
除了应用指标监控以外,它还能对分布式调用链路进行追踪。类似功能的组件还有:Zipkin、Pinpoint、CAT等。
上几张图,看看效果,然后再一步一步搭建并使用。
1、概念与架构
SkyWalking是一个开源监控平台,用于从服务和云原生基础设施收集、分析、聚合和可视化数据。
SkyWalking提供了一种简单的方法来维护分布式系统的清晰视图,甚至可以跨云查看。它是一种现代APM,专门为云原生、基于容器的分布式系统设计。
SkyWalking从三个维度对应用进行监视:service(服务), service instance(实例), endpoint(端点)
服务和实例就不多说了,端点是服务中的某个路径或者说URI
SkyWalking allows users to understand the topology relationship between Services and Endpoints, to view the metrics of every Service/Service Instance/Endpoint and to set alarm rules.
SkyWalking允许用户了解服务和端点之间的拓扑关系,查看每个服务/服务实例/端点的度量,并设置警报规则。
1.1. 架构
SkyWalking逻辑上分为四个部分:Probes(探针), Platform backend(平台后端), Storage(存储), UI
这个结构就很清晰了,探针就是Agent负责采集数据并上报给服务端,服务端对数据进行处理和存储,UI负责展示
2、下载与安装
SkyWalking有两中版本,ES版本和非ES版。
如果我们决定采用ElasticSearch作为存储,那么就下载es版本。
https://skywalking.apache.org/downloads/https://archive.apache.org/dist/skywalking/
agent目录将来要拷贝到各服务所在机器上用作探针
bin目录是服务启动脚本
config目录是配置文件
oap-libs目录是oap服务运行所需的jar包
webapp目录是web服务运行所需的jar包
接下来,要选择存储了,支持的存储有:
H2ElasticSearch 6, 7MySQLTiDBInfluxDB
作为监控系统,首先排除H2和MySQL,这里推荐InfluxDB,它本身就是时序数据库,非常适合这种场景
但是InfluxDB我不是很熟悉,所以这里先用ElasticSearch7
https://github.com/apache/skywalking/blob/master/docs/en/setup/backend/backend-storage.md
2.1. 安装ElasticSearch
https://www.elastic.co/guide/en/elasticsearch/reference/7.10/targz.html
# 启动
./bin/elasticsearch -d -p pid
# 停止
pkill -F pid
ElasticSearch7.x需要Java 11以上的版本,但是如果你设置了环境变量JAVA_HOME的话,它会用你自己的Java版本。Java 系列面试题和答案我都整理好了,关注公众号Java技术栈,在后台回复:面试。
通常,启动过程中会报以下三个错误:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[3]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
解决方法:
在 /etc/security/limits.conf 文件中追加以下内容:
* soft nofile 65536
* hard nofile 65536
* soft nproc  4096
* hard nproc  4096
可通过以下四个命令查看修改结果:
ulimit -Hn
ulimit -Sn
ulimit -Hu
ulimit -Su
修改 /etc/sysctl.conf 文件,追加以下内容:
vm.max_map_count=262144
修改es配置文件 elasticsearch.yml 取消注释,保留一个节点
cluster.initial_master_nodes: ["node-1"]
为了能够ip:port方式访问,还需修改网络配置
network.host: 0.0.0.0
修改完是这样的:
至此,ElasticSearch算是启动成功了
一个节点还不够,这里用三个节点搭建一个集群
192.168.100.14 config/elasticsearch.yml
cluster.name: my-monitor
node.name: node-1
network.host: 192.168.100.14
http.port: 9200
discovery.seed_hosts: ["192.168.100.14:9300", "192.168.100.15:9300", "192.168.100.19:9300"]
cluster.initial_master_nodes: ["node-1"]
192.168.100.15 config/elasticsearch.yml
cluster.name: my-monitor
node.name: node-2
network.host: 192.168.100.15
http.port: 9200
discovery.seed_hosts: ["192.168.100.14:9300", "192.168.100.15:9300", "192.168.100.19:9300"]
cluster.initial_master_nodes: ["node-1"]
192.168.100.19 config/elasticsearch.yml
cluster.name: my-monitor
node.name: node-3
network.host: 192.168.100.19
http.port: 9200
discovery.seed_hosts: ["192.168.100.14:9300", "192.168.100.15:9300", "192.168.100.19:9300"]
cluster.initial_master_nodes: ["node-1"]
同时,建议修改三个节点config/jvm.options
-Xms2g
-Xmx2g
依次启动三个节点
pkill -F pid
./bin/elasticsearch -d -p pid
接下来,修改skywalking下config/application.yml 中配置es地址即可
storage:
  selector: ${SW_STORAGE:elasticsearch7}
  elasticsearch7:
    nameSpace: ${SW_NAMESPACE:""}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.100.14:9200,192.168.100.15:9200,192.168.100.19:9200}
2.2. 安装Agent
https://github.com/apache/skywalking/blob/v8.2.0/docs/en/setup/service-agent/java-agent/README.md
将agent目录拷贝至各服务所在的机器上
scp -r ./agent chengjs@192.168.100.12:~/
这里,我将它拷贝至各个服务目录下
plugins是探针用到各种插件,SkyWalking插件都是即插即用的,可以把optional-plugins中的插件放到plugins中
修改 agent/config/agent.config 配置文件,也可以通过命令行参数指定
主要是配置服务名称和后端服务地址
agent.service_name=${SW_AGENT_NAME:user-center}
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.100.17:11800}
当然,也可以通过环境变量或系统属性的方式来设置,例如:
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
最后,在服务启动的时候用命令行参数 -javaagent 来指定探针
java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -jar yourApp.jar
例如:
java -javaagent:./agent/skywalking-agent.jar -Dspring.profiles.active=dev -Xms512m -Xmx1024m -jar demo-0.0.1-SNAPSHOT.jar
3、启动服务
修改 webapp/webapp.yml 文件,更改端口号及后端服务地址
server:
  port: 9000
collector:
  path: /graphql
  ribbon:
    ReadTimeout: 10000
    # Point to all backend's restHost:restPort, split by ,
    listOfServers: 127.0.0.1:12800
启动服务
bin/startup.sh
或者分别依次启动
bin/oapService.sh
bin/webappService.sh
查看logs目录下的日志文件,看是否启动成功
浏览器访问 http://127.0.0.1:9000
4、告警
编辑 alarm-settings.yml 设置告警规则和通知:
https://github.com/apache/skywalking/blob/v8.2.0/docs/en/setup/backend/backend-alarm.md
重点说下告警通知
为了使用钉钉机器人通知,接下来,新建一个项目:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.wt.monitor</groupId>
    <artifactId>skywalking-alarm</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <name>skywalking-alarm</name>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>alibaba-dingtalk-service-sdk</artifactId>
            <version>1.0.1</version>
        </dependency>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.15</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.75</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
Spring Boot 基础就不介绍了,推荐看下这个教程:
https://github.com/javastacks/spring-boot-best-practice
可选依赖(不建议引入)
<dependency
    <groupId>org.apache.skywalking</groupId>
    <artifactId>server-core</artifactId>
    <version>8.2.0</version>
</dependency>
定义告警消息实体类:
package com.wt.monitor.skywalking.alarm.domain;
import lombok.Data;
import java.io.Serializable;
/**
 * @author ChengJianSheng
 * @date 2020/12/1
 */
@Data
public class AlarmMessageDTO implements Serializable {
    private int scopeId;
    private String scope;
    /**
     * Target scope entity name
     */
    private String name;
    private String id0;
    private String id1;
    private String ruleName;
    /**
     * Alarm text message
     */
    private String alarmMessage;
    /**
     * Alarm time measured in milliseconds
     */
    private long startTime;
发送钉钉机器人消息:
package com.wt.monitor.skywalking.alarm.service;
import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiRobotSendRequest;
import com.taobao.api.ApiException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
/**
 * https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq
 * @author ChengJianSheng
 * @data 2020/12/1
 */
@Slf4j
@Service
public class DingTalkAlarmService {
    @Value("${dingtalk.webhook}")
    private String webhook;
    @Value("${dingtalk.secret}")
    private String secret;
    public void sendMessage(String content) {
        try {
            Long timestamp = System.currentTimeMillis();
            String stringToSign = timestamp + "\n" + secret;
            Mac mac = Mac.getInstance("HmacSHA256");
            mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256"));
            byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8"));
            String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)),"UTF-8");
            String serverUrl = webhook + "&timestamp=" + timestamp + "&sign=" + sign;
            DingTalkClient client = new DefaultDingTalkClient(serverUrl);
            OapiRobotSendRequest request = new OapiRobotSendRequest();
            request.setMsgtype("text");
            OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();
            text.setContent(content);
            request.setText(text);
            client.execute(request);
        } catch (ApiException e) {
            e.printStackTrace();
            log.error(e.getMessage(), e);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            log.error(e.getMessage(), e);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
            log.error(e.getMessage(), e);
        } catch (InvalidKeyException e) {
            e.printStackTrace();
            log.error(e.getMessage(), e);
        }
    }
AlarmController.java
package com.wt.monitor.skywalking.alarm.controller;
import com.alibaba.fastjson.JSON;
import com.wt.monitor.skywalking.alarm.domain.AlarmMessageDTO;
import com.wt.monitor.skywalking.alarm.service.DingTalkAlarmService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.text.MessageFormat;
import java.util.List;
/**
 * @author ChengJianSheng
 * @date 2020/12/1
 */
@Slf4j
@RestController
@RequestMapping("/skywalking")
public class AlarmController {
    @Autowired
    private DingTalkAlarmService dingTalkAlarmService;
    @PostMapping("/alarm")
    public void alarm(@RequestBody List<AlarmMessageDTO> alarmMessageDTOList) {
       log.info("收到告警信息: {}", JSON.toJSONString(alarmMessageDTOList));
       if (null != alarmMessageDTOList) {
           alarmMessageDTOList.forEach(e->dingTalkAlarmService.sendMessage(MessageFormat.format("-----来自SkyWalking的告警-----\n【名称】: {0}\n【消息】: {1}\n", e.getName(), e.getAlarmMessage())));
       }
    }
参考文档:
https://skywalking.apache.org/https://skywalking.apache.org/zh/\ https://github.com/apache/skywalking/tree/v8.2.0/docshttps://archive.apache.org/dist/https://www.elastic.co/guide/en/elasticsearch/reference/master/index.html https://www.elastic.co/guide/en/elasticsearch/reference/7.10/modules-discovery-bootstrap-cluster.htmlhttps://www.elastic.co/guide/en/elasticsearch/reference/7.10/modules-discovery-hosts-providers.html
有热门推荐????
别再用OFFSET和LIMIT分页了
高赞回答:为什么高级程序员不必担心自己的技术过时?
单点登录的三种实现方式
开发经理是否应该写代码?
程序员界有哪些经典的笑话?
Java实现大文件下载,提速30倍!想学?我教你啊!
知乎面试官:为什么不建议在 MySQL 中使用 UTF-8?
朋友沉迷代码,他媳妇为了增进感情,给他撸了一个IDEA防沉迷插件
干掉 powerdesigner,设计数据库表用它就够了
美团面试官:为什么不建议把数据库部署在Docker容器内?
点击阅读原文,前往学习SpringCloud实战项目
公众号-老炮说Java
关注
关注
29
点赞
102
收藏
评论
自从上了 SkyWalking,睡觉真香!!
点击上方蓝色字体,选择“标星公众号”优质文章,第一时间送达关注公众号后台回复pay或mall获取实战项目资料+视频作者:废物大师兄来源:www.cnblogs.com/cjsblog/p...
复制链接
扫一扫
YunaiV#Blog#2020_10_28_SkyWalking 源码解析 —— 运维界面(二)之应用实例视角2
07-25
1. 概述
1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
2. RocketMQ / MyCAT / Shard
分布式全链路追踪 SkyWalking基本原理(一)
AMimiDou_212
03-09
7655
分布式链路追踪 SkyWalking基本原理一、APM简介二、分布式链路追踪二、Apache Skywalking(Incubator)简介1. Apache SkyWalking:2. Skywalking已经支持从6个可视化维度剖析分布式系统的运行情况。三、什么是 SkyWalking四、SkyWalking 原理架构图如下:五、SkyWalking 核心模块介绍:六、各模块组件视图简介1. ...
评论 4
您还未登录,请先
登录
后发表或查看评论
一文带你看懂,SkyWalking分布式追踪系统原理及实践
vincent
09-28
1万+
前言
在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互协作才能完成。这一系列调用请求中,有些是串行的,有些是并行的,那么如何确定这个请求背后调用了哪些应用,哪些模块,哪些节点及调用的先后顺序?如何定位每个模块的性能问题?本文将为你揭晓答案。
分布式追踪系统的原理及作用
如何衡量一个接口的性能好坏,一般我们至少会关注以下三个指标
接口的 RT 你怎么知道?
是否有异常响应?
主要慢在哪里?
单体架构
在初期,公司刚起步的时候,可能多会采用..
2、skywalking-安装(Docker-Compose方式)
最新发布
Echo
11-21
556
skywalking-安装,有图有步骤有代码,超级详细
Skywalking快速入门
csdn_xpw的博客
04-15
1586
Mac搭建Skywalking一 概述二 整体架构三 环境准备3.1 搭建Elasticsearch(如果存储源需要用ES的话,则需要安装)3.2 下载 SkyWalking 软件包3.2.1 官方包3.3 SkyWalking OAP 搭建四应用接入4.1 编写简单的springboot demo,并打一个jar包4.2 效果
一 概述
SkyWalking 是什么?
FROM http://...
SkyWalking链路监控(一):SkyWalking快速搭建
你不知道你不知道的事
02-23
1042
简介
当分布式系统服务比较多,特别是微服务,出现故障就很难排查。所以需要借助APM 系统进行排查(Application Performance Management,即应用性能管理),SkyWalking是APM 系统的一种,类似的产品还有CAT、Zipkin、Pinpoint。
SkyWalking和Pinpoint相比其他系统,做到了无侵入性。Pinpoint出现的时间长,文档也较为丰富,为多数公司使用。
国人开源的APM产品SkyWalking,探针采集数据粒度相较于 Pinpoint 来说略
Skywalking概述
qq_29860591的博客
05-08
1668
1.Skywalking概述1.1 什么是APM系统1.1.1 APM系统概述APM (Application Performance Management) 即应用性能管理系统,是对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理,主要指对企业的关键业务应用进行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本。APM系...
SkyWalking--使用/教程/实例
IT利刃出鞘的博客
09-15
1万+
原文网址:
网址
官网:Apache SkyWalking
SkyWalking安装使用 - 简书skywalking搭建与使用_congge-CSDN博客Skywalking 性能监控安装及使用_奋斗的小鸟专栏-CSDN博客
简介
说明
Skywalking是由国内开源爱好者吴晟(原OneAPM工程师,目前在华为)开源并提交到Apache孵化器的产品,它同时吸收了Zipkin/Pinpoint/CAT的设计思路。特点是:支持多种插件,UI功能较强,支持非侵入式埋点。目...
grafana 改端口_Prometheus+Grafana搭建监控平台
weixin_39934640的博客
12-22
357
1、 安装Prometheus目录:/usr/local下载:wget https://github.com/prometheus/prometheus/releases/download/v2.13.0/prometheus-2.13.0.linux-amd64.tar.gz解压:tar -zxvf prometheus-2.13.0.linux-amd64.tar.gz创建软链接:ln -s ...
Keepalived双机热备
m0_50947507的博客
11-24
112
(3)第七章
Keepalived双机热备
安装lvs和keepalived
设置服务开机自动启动
修改keepalived的主服务
修改主配置文件
启动keepalived服务
测试
skywalking教程 文档手册 使用详情 从搭建到集群
qq_36268103的博客
08-17
3103
SkyWalking
性能监视工具 ,是一个APM(application performance Mange)工具
官网:https://skywalking.apache.org/
文档:https://skywalking.apache.org/docs/main/v8.4.0/readme/
中文文档:https://skyapm.github.io/document-cn-translation-of-skywalking/
无侵入性:即不需要改变代码
使用了java agent(java探针技术
skywalking
wokoone的博客
06-24
2552
1. skywalking是什么 对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题,比如: 1. 如何串联整个调用链路,快速定位问题? 2. 如何理清各个微服务之间的依赖关系? 3. 如何进行各个微服务接口的性能分折? 4. 如何跟踪整个业务流程的调用处理顺序? skywalking是一个国产开源框架,2015年由吴晟开源 , 2017年加入Apache孵化器。skywalking是分布式系统的应用程序性能监视 工具,专为微服务、云原生架构和基于容器(Docker、K8s、Me
Skywalking原理学习 -- skywalking 搭建及入门示例
热门推荐
井底之蛙
04-27
9万+
访问地址:http://localhost:8080/1、首页:2、调用关系3、服务调用信息4、追踪日志信息。
5分钟搭建SkyWalking监控系统
xvktdmjg的博客
01-24
784
5分钟搭建SkyWalking监控系统
背景
公司项目采用微服务的架构,服务很多,人工监控是不可能的,项目的访问量很大,想通过日志查找某个方法中性能的问题也是非常困难的。但是系统的性能问题是不能忽视的。目前有几个比较好的开源APM(Application Performance Management)检测工具。
常见的监控工具对比
SkyWalking:中国人吴晟(华为)开源的一款分布式追踪,分析,告警的工具,现在是Apache旗下开源项目,对云原生支持,目前增长势头强劲,社区活跃,中文文档没有语言障碍。
服务追踪工具 SkyWorking 搭建使用
啦啦啦啦 la
07-31
1万+
服务追踪工具 SkyWorking 搭建使用
SkyWalking 是用于对微服务,Cloud Native,容器等提供应用性能监控和分布式调用链追踪的工具
Demo
截图
安装
环境
SkyWalking 5.0.0-beat2
Mac OS
ElasticSearch 5.6.10
安装 ElasticSearch
下载解压 Ela...
SkyWalking 搭建及简单使用、入门(Linux)
成钰的博客
08-06
8926
SkyWalking 搭建及简单使用、入门(Linux)
SkyWalking 入门教程
JavaClub
06-28
342
APM (Application Performance Management) 即应用性能管理系统,是对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理,主要指对企业的关键业务应用进行监测、优化,提高企业应用的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本。...
全链路追踪工具SkyWalking使用入门
清茶的博客
01-21
1万+
目录
前言
SkyWalking简介
架构
入门使用
1、下载
2、配置探针
3、配置参数到需要监控的应用
4、配置skyWalking
5、启动skyWalking
6、查看服务
前言
随着业务越来越复杂,企业应用也进入了分布式服务的阶段,传统的日志监控等方式无法很好达到跟踪调用,排查问题等需求。这是客套话,我们最常见的痛点便是性能优化,在优化时需要找到有问题的代码,以前...
分布式链路追踪---skywalking从入门到应用全系列教程
自律使我自由
04-14
1797
什么是skywalking?
SkyWalking是一个开源的可观察性平台,用于收集,分析,聚合和可视化来自本地或者云服务中的数据。即使在整个云环境中,SkyWalking也能提供一种简便的方法来维护您的分布式系统的清晰视图。它是一个现代的APM(Application Performance Monitor 应用性能监测软件),专门为基于云、容器的分布式系统而设计。
为什么要选择skywalking?
SkyWalking提供了用于在许多不同情况下观察和监视分布式系统的解决方案,并通过agent方式,做到
skywalking搭建与使用
congge
11-15
4045
前言
在分布式环境中,对于服务的监控与链路追踪变得越来越重要,简单来说,相比单体应用,分布式环境下的服务链路变得更长,问题定位、排查与解决也更加复杂,因此使用一款好的服务监控工具可以为Java开发人员和运维人员大大提升工作效率
目前,对于微服务应用的监控体现在多个维度上,比如应用层的监控,大家熟知的各自restFul接口,数据库层面的监控,比如sql执行,慢查询sql检测,服务链路追踪,比如A服务通过feign调用B服务,B再调C服务等,服务器性能上的监控,比如JVM等相关参数等
以上大概罗列了实际应用中比
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:猿与汪的秘密
设计师:我叫白小胖
返回首页
公众号-老炮说Java
CSDN认证博客专家
CSDN认证企业博客
码龄8年
企业员工
65
原创
2万+
周排名
2849
总排名
167万+
访问
等级
8862
积分
783
粉丝
672
获赞
321
评论
3918
收藏
私信
关注
热门文章
推荐几款可以直接在手机上编程的app(包含Java、C、Python等)
323782
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000794500000, 576716800, 0)
79270
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request p
77608
GitHub上非常实用的40个开源JAVA项目
61605
自从上了 SkyWalking,睡觉真香!!
50694
分类专栏
自学java
1篇
Java后端技术
jwt
1篇
单点登录sso
1篇
dubbo
1篇
redis
1篇
Linux
1篇
项目源码
9篇
微服务
1篇
mysql
1篇
Github
2篇
mybatis源码分析
6篇
maven
5篇
javaweb开发常见问题
2篇
java资料
7篇
互联网架构
7篇
程序员人生
6篇
spring
2篇
springboot
6篇
bug
5篇
IDEA
2篇
java
77篇
程序员工资
1篇
工具
10篇
mybatis
1篇
SQL
3篇
springCloud
2篇
最新评论
java开发简单BBS论坛系统(源码)
末260:
BBS
腾讯低代码平台正式开源!可拖拽生成手机项目、PC项目、TV项目!接私活福利啊!...
迷路的蝙蝠:
纯前端中后台系统开发设计:https://blog.csdn.net/mryaj/article/details/128301929
这是要起飞!打破度盘下载限制,无需登录非会员也能跑到110Mb/s
2201_75948022:
939
这是要起飞!打破度盘下载限制,无需登录非会员也能跑到110Mb/s
2201_75920636:
939
这是要起飞!打破度盘下载限制,无需登录非会员也能跑到110Mb/s
弗丽嘉L:
939
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
我们公司用了7年的Dubbo架构技术栈(稳的一批),这套架构真绝了!
危险!请马上停止使用JWT!!!
大公司病了!!!
2022
12月
20篇
11月
25篇
10月
17篇
09月
13篇
08月
21篇
07月
28篇
06月
22篇
05月
68篇
04月
32篇
03月
27篇
02月
24篇
01月
19篇
2021年445篇
2020年544篇
2019年329篇
2018年323篇
2017年295篇
2016年8篇
目录
目录
分类专栏
自学java
1篇
Java后端技术
jwt
1篇
单点登录sso
1篇
dubbo
1篇
redis
1篇
Linux
1篇
项目源码
9篇
微服务
1篇
mysql
1篇
Github
2篇
mybatis源码分析
6篇
maven
5篇
javaweb开发常见问题
2篇
java资料
7篇
互联网架构
7篇
程序员人生
6篇
spring
2篇
springboot
6篇
bug
5篇
IDEA
2篇
java
77篇
程序员工资
1篇
工具
10篇
mybatis
1篇
SQL
3篇
springCloud
2篇
目录
评论 4
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值