十四、应用监控(2)

本章概要

  • 监控信息可视化
  • 邮件报警

14.2 监控信息可视化

Spring Boot 中提供了监管信息管理段,用来实现监控信息的可视化,这样可以方便开发者快速查看系统运行情况,而不用一个一个地调用接口。
创建 Spring Boot Web 工程,添加以下依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId><version>2.0.2</version>
</dependency>

创建成功后在启动类上添加 @EnableAdminServer 注解,表示启动 AdminServer

@SpringBootApplication
@EnableAdminServer
public class ActuatorApplication {public static void main(String[] args) {SpringApplication.run(ActuatorApplication.class, args);}
}

配置完成后,启动 Spring Boot 项目,“http://localhost:8080/index.html”
在这里插入图片描述

Admin 端将通过图表的方式展示监控信息。
接下来开发 Client。Client 实际上就是一个个的服务,Client 将被注册到 AdminServer 上 然后 AdminServer 获取 Client 的运行数据并展示出来。
再新建一个 Spring Boot 项目(Client),添加依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>2.0.2</version>
</dependency>

然后在 application.properties 中添加以下配置

server.port=8081
spring.boot.admin.client.url=http://localhost:8080info.app.encoding=@project.build.sourceEncoding@
info.app.java.source=@java.version@
info.app.java.target=@java.version@
info.author.name=tianxiadiyizei
info.author.email=tianxiadiyizei@qq.commanagement.endpoints.web.base-path=/
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
management.health.status.order=FATAL,DOWN,OUT_OF_SERVICE,UP,UNKNOWN
management.health.status.http-mapping.FATAL=503
management.info.git.mode=simple

MyHealth

@Component
public class MyHealth implements HealthIndicator {@Overridepublic Health health() {return Health.up().withDetail("msg", "网络连接正常...").build();}
}

spring.boot.admin.client.url 表示配置 AdminServer 地址。
配置完成后启动 Client 项目,此时在 AdminServer 上就可以看到 Client 的运行数据。
下图展示了当前注册到 AdminServer 上的 Client 列表。
在这里插入图片描述

Wallboard 展示了 Client 的简略信息
在这里插入图片描述

单击实例名,即可看到 Client 运行的详细数据,一些常见的信息展示在 Details 选项卡中,其它选项卡都对应不同的端点数据。
在这里插入图片描述

Journal 中展示了项目运行日志,如下
在这里插入图片描述

14.3 邮件报警

虽然使用 AdminServer 可以实现监控信息可视化,但是项目运维工程师不可能一天24小时盯着屏幕查看各个应用的运行状况,如果在应用运行出现问题时能够自动发送邮件通知运维工程师,就会方便很多。对此,Spring Boot 提供了相应的支持。
修改上面的 Admin 工程,添加邮件依赖

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

在 application.properties 中配置邮件发送基本信息

spring.mail.host=smtp.qq.com
spring.mail.port=465
spring.mail.username=aaa@qq.com
spring.mail.password=授权码
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.debug=true
#邮件发送者
spring.boot.admin.notify.mail.from=aaa@qq.com
#收件人
spring.boot.admin.notify.mail.to=bbb@qq.com
#抄送人
spring.boot.admin.notify.mail.cc=ccc@qq.com
#忽略掉的事件
spring.boot.admin.notify.mail.ignore-changes=

关于邮件发送的配置及其他信息,详见十三、企业开发(1)。
默认情况下,当被监控应用的状态为 UNKNOWN 或者 UP 时不会发送报警邮件,这里配置表示被监控应用的任何变化都会发送报警邮件。
配置完成后,重新启动 AdminServer ,然后再重启被监控的应用 client ,就会收到应用上线的邮件报警。
在这里插入图片描述

此时关闭被监控的应用 client ,就会收到应用下线的邮件报警。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1381906.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Prometheus应用监控

1.主流机器与应用Prometheus,skywalking监控体系分享介绍 应用监控介绍 目前市面上开源应用的APM系统主要有CAT、Zipkin、Pinpoint、SkyWalking。目前市面上机器监控软件有zabbix&#xff0c;Prometheus(也能监控应用&#xff0c;及其他中间件产品)。 Zipkin是Twitter开源的…

系统与应用监控的思路和方法

0、前言 在实际的性能分析中&#xff0c;一个很常见的现象是&#xff0c;明明发生了性能瓶颈&#xff0c;但当你登录到服务器中想要排查的时候&#xff0c;却发现瓶颈已经消失了。或者说&#xff0c;性能问题总是时不时地发生&#xff0c;但却很难找出发生规律&#xff0c;也很…

应用程序服务器监控

什么是应用程序服务器监视 为了确保业务应用程序的最佳性能&#xff0c;必须使用应用程序服务器监视工具&#xff0c;以深入了解应用程序的运行状况和正常运行时间。应用程序服务器监视可帮助您识别性能不足的服务器组件以及性能问题的根本原因&#xff0c;修复它们并确保应用…

应用监控

简介 Spring Boot提供了运行时的应用监控和管理的功能。我们可以通过http、JMX、SSH协议来进行操作。审计、健康及指标信息将会自动得到。 Endpoints 列举一些主要的endpoints &#xff1a; 敏感信息访问限制 根据上面表格&#xff0c;鉴权为false的&#xff0c;表示不敏…

应用监控以及告警实现

前言 一个Java应用 可以不优秀&#xff0c;但是一定不能没有监控方案。否则极大影响排查线上问题的效 以及系统故障的及时告警 。试想 核心应用挂了一个 但是没有配置告警 理想情况几个小时 被自己人发现了 但是万一自己人也没看到或者没关注 那难道让服务一直挂下去么 &#…

十四、应用监控(1)

本章概要 监控端点配置&#xff08;开启端点&#xff0c;暴露端点&#xff0c;端点保护&#xff0c;端点响应缓存&#xff0c;路径映射&#xff0c;CORS支持&#xff0c;健康信息&#xff0c;应用信息&#xff09; 当一个Spring Boot 项目运行时&#xff0c;开发者需要对 Spr…

一篇文章讲透线上应用监控

“线上服务停了&#xff0c;要重启一下”&#xff1f;久经职场做研发的程序员&#xff0c;视线会逐渐转移到线上应用的运行状态。设想一下&#xff0c;如果你在半夜两点正在酣眠美梦时&#xff0c;微信群里突然炸开锅&#xff1a;“服务停了&#xff0c;先重启。。。”&#xf…

如何设置时间倒计时

开发工具与关键技术&#xff1a;Visual Studio 2015、SQL Server 2014 作者&#xff1a;黄世豪 撰写时间&#xff1a;2019年01月31号相信很多小伙伴在做项目时会遇到过要用到时间倒计时的效果&#xff0c;下面我们来实现一下如何将自己设置的时间来让其进行时间倒计。 jsp调用…

js倒计时读秒

1.需求及分析 最近,接到一个接收手机验证码的功能&#xff0c;大体就是设置一个定时器&#xff0c;在每次执行的时候将秒数&#xff0c;逐个减去1&#xff0c;小于0的时候&#xff0c;清除定时器&#xff0c;然后完善一下功能&#xff0c;例如&#xff0c;加上一下状态的变化&…

C#实现倒计时的功能

软件界面&#xff1a; 软代码&#xff1a; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;na…

android studio高考倒计时,高考倒计时app排行榜

编辑推荐 时间管理倒计时 v1.3.0 大小&#xff1a;13.7MB 更新时间&#xff1a;21-04-14 下载 时间管理倒计时&#xff0c;一款专为小伙伴打造的手机时间规划工具&#xff0c;为小伙伴提供更强大的规划服务&#xff0c;在这里小伙伴可以自由规划自己的时间&#xff0c;为小伙伴…

VS2015+C#实现倒计时小程序

最近疫情严重&#xff0c;在家呆着也是呆着&#xff0c;于是就想学一下上位机的编写&#xff0c;权衡利弊之后&#xff0c;选择了C#语言&#xff0c;原因是据说它写出来的上位机比较小&#xff0c;不占内存。开发环境就用VS吧&#xff0c;用的人挺多的。好了&#xff0c;进入正…

C#之一个倒计时小应用程序的实现

只能开始计时&#xff0c;不能停止计时 代码&#xff1a; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.W…

易语言编写倒计时小程序

本人为编程爱好者&#xff0c;非专业人员。 最近工作中需要用到编写倒计时软件&#xff0c;故有此篇。 软件功能&#xff1a; 1.时间倒计时 2.倒计时会有一个透明放大的标签显示时间 3.各窗口可隐藏 以下为软件运行界面&#xff1a; 代码&#xff1a; .版本 2 .支持库 she…

DIY蓝牙小音响

PRE 我个人是比较喜欢手工做一些小东西&#xff0c;但是由于知识限制&#xff0c;我无法去制作一些复杂的东西&#xff0c;如果是一些简单的小玩具&#xff0c;如果我有能力做&#xff0c;我还是很乐意去做的。前段时间正好在看音响&#xff0c;我最后入手了一个便宜的EDIFIER…

树莓派系列二(语音识别)

树莓派的基本概念和安装系统在系列文章一中介绍了.这篇准备介绍一下语音识别. 一直想研究一下语音识别,用来做家庭物联网的控制入口,未来也许就是这样,讯飞的叮咚音响可以连接京东的物联平台,苹果的homekit平台,华为的平台暂时落后的有点多... 国内语音识别领域,我个人比较欣…

毕业设计 基于单片机的智能音响设计与实现 -物联网 嵌入式 stm32

文章目录 0 前言1 简介2 主要器件3 实现效果4 设计原理4.1 PAJ7620U2模块4.2 HC-05蓝牙模块4.3 JQ8900语音模块 5 部分核心代码6 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到…

两台电脑共享一个音响方法

两台电脑共享一个音响方法 由于某种原因&#xff0c;需要两个电脑使用同一个扬声器&#xff0c;现分享一种简单的方案 原理&#xff1a;通过主机的音频输入功能&#xff0c;将另一台电脑的音频接收过来并播放。 连线如下&#xff1a; PC2作为主设备&#xff0c;正常连接音响…

Spring IOC DI - 整合MyBatis

Spring IOC目录 主要内容Spring 框架介绍Spring 框架的优势(对比以前项目的缺点)Spring 框架引入历史发展框架学习三要素Spring 模块介绍 Spring IoC/DI - 引入IoC/DI 概念辨析使用IoC/DI的好处IoC/DI具体应用场景 Spring IoC/DI - 代码实现环境准备Spring 框架环境搭建创建Mav…