当前位置: 首页 > news >正文

个人备案的网站可以做淘宝客吗今日新闻最新头条10条内容

个人备案的网站可以做淘宝客吗,今日新闻最新头条10条内容,石龙网站建设,网站做电子商务需要什么资质目录 前言一、引入Actuator依赖二、暴露Actuator端点1. 配置文件2. 监控端点 三、自定义健康检查自定义健康检查类 四、vue前端代码五、监控器的优势六、监控指标的可视化1. Grafana2. Prometheus 七、安全性考虑安全配置示例 八、总结 前言 随着微服务架构的流行,…

目录

  • 前言
  • 一、引入Actuator依赖
  • 二、暴露Actuator端点
      • 1. 配置文件
      • 2. 监控端点
  • 三、自定义健康检查
      • 自定义健康检查类
  • 四、vue前端代码
  • 五、监控器的优势
  • 六、监控指标的可视化
      • 1. Grafana
      • 2. Prometheus
  • 七、安全性考虑
      • 安全配置示例
  • 八、总结

前言

随着微服务架构的流行,对系统运行状况的监控和管理变得至关重要。Spring Cloud提供了强大的监控工具Actuator,能够实时监控服务的运行状态、性能指标和健康状况。本文将介绍如何使用Spring Cloud的Actuator来实现微服务的监控。


一、引入Actuator依赖

首先,我们需要在项目中引入Spring Boot Actuator的依赖。

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

这样做会自动添加Actuator相关的端点,我们可以通过这些端点来获取系统的运行信息。


二、暴露Actuator端点

默认情况下,Actuator的端点是不对外暴露的,为了方便监控,我们需要手动配置来暴露这些端点。

1. 配置文件

yamlCopy codemanagement:endpoints:web:exposure:include: "*" # 暴露所有端点base-path: /monitor # 设置端点的根路径endpoint:health:show-details: always # 显示健康检查的详细信息shutdown:enabled: true # 启用关闭应用的端点

在上述配置中,我们通过 management.endpoints.web.exposure.include 指定了要暴露的端点,这里设置为 * 表示暴露所有端点。同时,我们将端点的根路径设置为 /monitor,方便统一管理。

2. 监控端点

Spring Boot Actuator提供了许多端点,包括 /health/info/metrics 等。这些端点可以提供关于应用程序运行状况的信息。

例如,访问 /monitor/health 端点可以获取应用程序的健康状况信息。


三、自定义健康检查

有时候,我们需要根据业务需求自定义健康检查逻辑。Spring Boot Actuator允许我们通过实现 HealthIndicator 接口来自定义健康检查。

自定义健康检查类

package cn.weizi.main.endpoint;import cn.weizi.main.pojo.R;
import org.springframework.boot.actuate.health.AbstractHealthIndicator;
import org.springframework.boot.actuate.health.Health;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.concurrent.atomic.AtomicLong;@Service
@CrossOrigin
@RestController
@RequestMapping("/Custom")
public class CustomHealthIndicator extends AbstractHealthIndicator {private final AtomicLong lastRequestTime = new AtomicLong(System.currentTimeMillis());@Overrideprotected void doHealthCheck(Health.Builder builder) {long currentTime = System.currentTimeMillis();long timeSinceLastRequest = currentTime - lastRequestTime.get();try {if (timeSinceLastRequest <= 10000) {builder.up();} else {builder.down().withDetail("error", "10秒内没有请求");}} catch (Exception ex) {builder.down().withException(ex);}}@GetMapping("check")private R check() {// 处理实际的请求逻辑lastRequestTime.set(System.currentTimeMillis());// 这里可以放置其他处理逻辑return new R(true, "UP");}
}

在上述示例中,我们实现了一个自定义的健康检查类 CustomHealthIndicator,通过继承 AbstractHealthIndicator 并实现 doHealthCheck 方法来自定义健康检查逻辑。在这里,我们检查了最后一次请求的时间,如果超过10秒没有请求,将会返回一个健康状态为 DOWN 的信息。


四、vue前端代码

<template><div><van-notice-bar left-icon="volume-o" text="为了减少系统占用,此页面每5秒刷新一次,如果不想等待,可以下拉刷新"/><div v-if="loadingShow"><van-overlay :show="loadingShow"><div @click.stop><van-loading size="50px">加载中...</van-loading></div></van-overlay></div><div v-else><van-cell-group><van-cellv-for="(component, componentName) in data.components":key="componentName":title="componentName":label="getStatusTag(component.status)":value="component.status === 'DOWN' ? '查看异常' : '运行正常'"@click="handleCellClick(component)"/></van-cell-group><van-dialog v-model="dialogVisible" title="异常" theme="round-button"><p class="error-message">{{ currentComponentError }}</p></van-dialog></div></div>
</template><script>import request from "@/unilts/request";
import redirectToHome from "@/unilts/redirectToHome";export default {components: {},data() {return {dialogVisible: false,currentComponentError: '',loadingShow: false,data: {status: 'UP',components: {EVS: {status: 'UP',details: {error: 'null',},},},},};},created() {this.onDataInit();// 初始加载数据this.timer = setInterval(() => {this.onDataInit(); // 每隔一定时间重新加载数据}, 5000); // 5秒一次,可以根据需求调整时间间隔},destroyed() {clearInterval(this.timer); // 清除定时器,防止内存泄漏},methods: {async onDataInit() {this.loadingShow = true;await request.get("/SystemState/health").then((res) => {console.log(res.data)if (res.data.flag) {this.data = res.data.data;} else {this.data = res.data.data;}}).finally(() => {this.loadingShow = false;})},getStatusTag(status) {if (status === 'UP') {return <van-tag type="success">正常</van-tag>;} else {return <van-tag type="danger">异常</van-tag>;}},handleCellClick(component) {this.currentComponentError = '';if (component.status === 'DOWN') {this.currentComponentError = component.details.error;this.dialogVisible = true;}},},
};
</script>
<style>
.error-message {white-space: pre-line;word-wrap: break-word;max-width: 30ch; /* 可根据需要调整最大宽度 */margin: auto; /* 添加居中的样式 */text-align: center; /* 文本水平居中 */
}
</style>

五、监控器的优势

  1. 实时监控:Actuator提供了丰富的端点,能够实时监控系统的运行状况、性能指标和健康状况,帮助开发人员及时发现并解决问题。
  2. 可配置性:通过配置文件,我们可以灵活地控制哪些端点需要暴露,从而保证系统的安全性和稳定性。
  3. 自定义扩展:Actuator允许开发人员自定义健康检查逻辑,根据具体业务需求进行监控和管理,使得监控更加灵活和定制化。

六、监控指标的可视化

除了通过端点获取监控信息外,我们还可以将监控指标可视化,以便更直观地了解系统的运行状况。常见的可视化工具包括Grafana和Prometheus等。

1. Grafana

Grafana是一款开源的数据可视化工具,支持多种数据源,并提供丰富的图表和仪表盘功能。我们可以通过将Actuator的监控数据导入到Grafana中,实现监控指标的可视化展示。

2. Prometheus

Prometheus是一款开源的监控系统,可以实时收集并存储时间序列数据,支持多维度的查询和告警功能。我们可以将Actuator暴露的监控端点数据导入到Prometheus中,从而实现监控指标的存储和分析。

通过与Grafana或Prometheus等工具的集成,我们可以更直观地了解系统的运行情况,并及时采取措施应对潜在的问题,保证系统的稳定性和可靠性。


七、安全性考虑

在暴露Actuator端点时,我们需要考虑系统的安全性。默认情况下,Actuator的端点是不对外暴露的,我们需要手动配置来暴露这些端点,并且可以通过配置用户名和密码来保护这些端点。

安全配置示例

yamlCopy codespring:security:user:name: adminpassword: password
management:endpoints:web:exposure:include: "*"endpoint:health:show-details: alwaysshutdown:enabled: true

在上述配置中,我们通过 spring.security.user 配置了用户名和密码,用于保护Actuator端点。只有提供了正确的用户名和密码才能访问这些端点,从而确保系统的安全性。


八、总结

本文介绍了如何使用Spring Cloud的Actuator来实现微服务的监控,并介绍了监控指标的可视化、安全性考虑和监控告警机制等相关内容。Actuator作为微服务架构中不可或缺的监控工具,为开发人员提供了实时监控系统运行状况的便利,并帮助他们及时发现并解决问题,保证系统的稳定性和可靠性。

通过合理配置和使用Actuator,我们可以更好地管理和监控微服务,提高系统的可维护性和可靠性,为用户提供更好的服务体验。

在本文中,我们深入探讨了Actuator的配置和使用,以及与其他监控工具的集成,希望能够对读者在微服务监控领域的实践提供一些参考和帮助。 Actuator的强大功能和灵活性为微服务的监控和管理提供了便利,是现代软件开发中不可或缺的重要组件。

http://www.dinnco.com/news/40961.html

相关文章:

  • 网络运维和网站开发哪个好网站seo外包靠谱吗
  • 小学网站建设工作小组推广普通话内容50字
  • 广州 四合一网站开发广告代运营
  • 域名申请 网站建设东莞网站制作外包
  • 长春网站网络公司品牌seo如何优化
  • 大连 做网站公司赣州seo推广
  • 网页优化与网站优优化营商环境的措施建议
  • 网站开发的路径是什么网络推广平台代理
  • 湖南平台网站建设企业小程序开发教程
  • 平面设计广告设计属于什么专业山西seo优化公司
  • 做图模板网站新品推广活动方案
  • 网站开发上线ftp怎么用某个网站seo分析实例
  • 小手工衡阳seo优化
  • 深圳精品网站设计seo站长教程
  • 大理网站建设2020国内十大小说网站排名
  • 网站如何做品牌宣传百度云搜索引擎入口官网
  • 长治网站公司工具刷网站排刷排名软件
  • wordpress 客服 浮动常州谷歌优化
  • 检查网站有没有做301石家庄seo推广
  • 电子商务网站开发与设计项目管理网站推广的渠道有
  • 如何免费建网站百度推广怎么添加关键词
  • 网站生成移动版优化培训方式
  • 网络公司企业文化标语四川自助seo建站
  • 沈阳做网站多少钱如何开发一个网站
  • 北京企业网站案例今天重大新闻
  • 信息流推广的竞价机制是优化法治化营商环境
  • 百度做网站吗深圳网站建设资讯
  • 做现货黄金的金融网站高德北斗导航
  • 郑州建材公司网站建设手机360优化大师官网
  • 苏州相城区最新楼盘价格泉州网站建设优化