首页 文章 精选 留言 我的

精选列表

搜索[D3地图可视化],共10000篇文章
优秀的个人博客,低调大师

一招搞定 Spring Boot 可视化监控!

1、简介 当某个应用程序在生产环境中运行时,监控其运行状况是必要的。通过实时了解应用程序的运行状况,你能在问题出现之前得到警告,也可以在客户注意到问题之前解决问题。 在本文中,我们将创建一个Spring Boot应用程序,在Spring Actuator,Micrometer,Prometheus和Grafana的帮助下来监控系统。其中,Spring Actuator和Micrometer是Spring Boot App的一部分。 简要说明了不同组件的目的: Spring Actuator:在应用程序里提供众多 Web 接口,通过它们了解应用程序运行时的内部状况。有关更多信息,请参见Spring Boot 2.0中的Spring Boot Actuator。 Micrometer:为 Java 平台上的性能数据收集提供了一个通用的 API,它提供了多种度量指标类型(Timers、Guauges、Counters等),同时支持接入不同的监控系统,例如 Influxdb、Graphite、Prometheus 等。Spring Boot Actuator对此提供了支持。 Prometheus:一个时间序列数据库,用于收集指标。 Grafana:用于显示指标的仪表板。 下面,我们将分别介绍每个组件。本文中使用的代码存档在GitHub上。 2、创建示例应用 首先要做的是创建一个可以监控的应用程序。通过Spring Initializr,并添加Spring Boot Actuator,Prometheus和Spring Web依赖项, 我们创建了一个如下所示的Spring MVC应用程序。 @RestController public class MetricsController { @GetMapping("/endPoint1") public String endPoint1() { return "Metrics for endPoint1"; } @GetMapping("/endPoint2") public String endPoint2() { return "Metrics for endPoint2"; } } 启动应用程序: $ mvn spring-boot:run 验证接口是否正常: $ curl http://localhost:8080/endPoint1Metrics for endPoint1$ curl http://localhost:8080/endPoint2Metrics for endPoint2 验证Spring Actuator接口。为了使响应信息方便可读,我们通过python -mjson.tool来格式化信息。 $ curl http://localhost:8080/actuator | python -mjson.tool ... { "_links":{ "self":{ "href":"http://localhost:8080/actuator", "templated":false }, "health":{ "href":"http://localhost:8080/actuator/health", "templated":false }, "health-path":{ "href":"http://localhost:8080/actuator/health/{*path}", "templated":true }, "info":{ "href":"http://localhost:8080/actuator/info", "templated":false } } } 默认情况下,会显示以上信息。除此之外,Spring Actuator可以提供更多信息,但是你需要启用它。为了启用Prometheus,你需要将以下信息添加到application.properties文件中。 management.endpoints.web.exposure.include=health,info,prometheus 重启应用程序,访问http://localhost:8080/actuator/prometheus从Prometheus拉取数据,返回了大量可用的指标信息。我们这里只显示输出的一小部分,因为它是一个很长的列表。 $ curl http://localhost:8080/actuator/prometheus # HELP jvm_gc_pause_seconds Time spent in GC pause # TYPE jvm_gc_pause_seconds summary jvm_gc_pause_seconds_count{action="end of minor GC",cause="G1 Evacuation Pause",} 2.0 jvm_gc_pause_seconds_sum{action="end of minor GC",cause="G1 Evacuation Pause",} 0.009 ... 如前所述,还需要Micrometer。Micrometer为最流行的监控系统提供了一个简单的仪表板,允许仪表化JVM应用,而无需关心是哪个供应商提供的指标。它的作用和SLF4J类似,只不过它关注的不是Logging(日志),而是application metrics(应用指标)。简而言之,它就是应用监控界的SLF4J。 Spring Boot Actuator为Micrometer提供了自动配置。Spring Boot2在spring-boot-actuator中引入了micrometer,对1.x的metrics进行了重构,另外支持对接的监控系统也更加丰富(Atlas、Datadog、Ganglia、Graphite、Influx、JMX、NewRelic、Prometheus、SignalFx、StatsD、Wavefront)。 更新后的application.properties文件如下所示: management.endpoints.web.exposure.include=health,info,metrics,prometheus 重启应用程序,并从http://localhost:8080/actuator/metrics中检索数据。 $ curl http://localhost:8080/actuator/metrics | python -mjson.tool ... { "names": [ "http.server.requests", "jvm.buffer.count", "jvm.buffer.memory.used", ... 可以直接通过指标名来检索具体信息。例如,如果查询http.server.requests指标,可以按以下方式检索: $ curl http://localhost:8080/actuator/metrics/http.server.requests | python -mjson.tool ... { "name": "http.server.requests", "description": null, "baseUnit": "seconds", "measurements": [ { "statistic": "COUNT", "value": 3.0 }, { "statistic": "TOTAL_TIME", "value": 0.08918682 }, ... 3、添加Prometheus Prometheus是Cloud Native Computing Foundation的一个开源监控系统。由于我们的应用程序中有一个/actuator/Prometheus端点来供 Prometheus 抓取数据,因此你现在可以配置Prometheus来监控你的Spring Boot应用程序。 Prometheus有几种安装方法,在本文中,我们将在Docker容器中运行Prometheus。 你需要创建一个prometheus.yml文件,以添加到Docker容器中。 global: scrape_interval:15s scrape_configs: - job_name: 'myspringmetricsplanet' metrics_path: '/actuator/prometheus' static_configs: - targets: ['HOST:8080'] scrape_interval:Prometheus多久轮询一次应用程序的指标 job_name:轮询任务名称 metrics_path:指标的URL的路径 targets:主机名和端口号。使用时,替换HOST为主机的IP地址 如果在Linux上查找IP地址有困难,则可以使用以下命令: $ ip -f inet -o addr show docker0 | awk '{print $4}' | cut -d '/' -f 1 启动Docker容器并将本地prometheus.yml文件,映射到Docker容器中的文件。 $ docker run \ -p 9090:9090 \ -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus 成功启动Docker容器后,首先验证Prometheus是否能够通过 http://localhost:9090/targets收集数据。 如上图所示,我们遇到context deadline exceeded错误,造成Prometheus无法访问主机上运行的Spring Boot应用程序。如何解决呢? 可以通过将Docker容器添加到你的主机网络来解决此错误,这将使Prometheus能够访问Spring Boot应用程序。 $ docker run \ --name prometheus \ --network host \ -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \ -d \ prom/prometheus 再次验证,状态指示为UP。 现在可以显示Prometheus指标。通过访问http://localhost:9090/graph,在搜索框中输入http_server_requests_seconds_max并单击“执行”按钮,将为你提供请求期间的最长执行时间。 4、添加Grafana 最后添加的组件是Grafana。尽管Prometheus可以显示指标,但Grafana可以帮助你在更精美的仪表板中显示指标。Grafana也支持几种安装方式,在本文中,我们也将在Docker容器中运行它。 $ docker run --name grafana -d -p 3000:3000 grafana/grafana 点击 http://localhost:3000/,就可以访问Grafana。 默认的用户名/密码为admin/admin。单击“登录”按钮后,你需要更改默认密码。 接下来要做的是添加一个数据源。单击左侧边栏中的“配置”图标,然后选择“Data Sources(数据源)”。 单击Add data source(添加数据源)按钮。 Prometheus在列表的顶部,选择Prometheus。 填写可访问Prometheus的URL,将HTTP Access设置为Browser,然后单击页面底部的Save&Test按钮。 一切正常后,将显示绿色的通知标语,指示数据源正在工作。 现在该创建仪表板了。你可以自定义一个,但也可以使用开源的仪表板。用于显示Spring Boot指标的一种常用仪表板是JVM仪表板。 在左侧边栏中,点击+号,然后选择导入。 输入JVM仪表板的URL https://grafana.com/grafana/dashboards/4701,然后单击“Load(加载)”按钮。 为仪表板输入一个有意义的名称(例如MySpringMonitoringPlanet),选择Prometheus作为数据源,然后单击Import按钮。 到目前为止,你就可以使用一个很酷的Grafana仪表板。 也可以将自定义面板添加到仪表板。在仪表板顶部,单击Add panel(添加面板)图标。 单击Add new panel(添加新面板)。 在Metrics 字段中,输入http_server_requests_seconds_max,在右侧栏中的Panel title字段中,可以输入面板的名称。 最后,单击右上角的Apply 按钮,你的面板将添加到仪表板。不要忘记保存仪表板。 为应用程序设置一些负载,并查看仪表板上的http_server_requests_seconds_max指标发生了什么。 $ watch -n 5 curl http://localhost:8080/endPoint1$ watch -n 10 curl http://localhost:8080/endPoint2 5、结论 在本文中,我们学习了如何为Spring Boot应用程序添加一些基本监控。这非常容易,只需要通过将Spring Actuator,Micrometer,Prometheus和Grafana组合使用。 当然,这只是一个起点,但是从这里开始,你可以为Spring Boot应用程序扩展和配置更多、更具体的指标。 原文:https://mydeveloperplanet.com/2021/03/03/how-to-monitor-a-spring-boot-app/<br> 译文:https://www.kubernetes.org.cn/9020.html 近期热文推荐: 1.1,000+ 道 Java面试题及答案整理(2021最新版) 2.别在再满屏的 if/ else 了,试试策略模式,真香!! 3.卧槽!Java 中的 xx ≠ null 是什么新语法? 4.Spring Boot 2.5 重磅发布,黑暗模式太炸了! 5.《Java开发手册(嵩山版)》最新发布,速速下载! 觉得不错,别忘了随手点赞+转发哦!

优秀的个人博客,低调大师

CH Visualize Release 1.1.0-SNAPSHOT,ClickHouse 可视化

支持组件 ClickHouse 支持功能 支持添加数据源到查询页面 支持清除查询历史 支持表格组件的显示选择和索引 添加查询历史 支持 SHOW_CREATE_TABLE 和 SELECT_COUNT 用于快速 sql 更换软件标志 表的支持图标 禁用系统库UI删除表操作 支持删除空表数据库 添加服务器信息视图 支持取消查询 Bug修复 修复元数据数据库选择后报错问题 预览图片 取消功能 查询历史功能 快速查询功能 服务器信息功能 下载地址: 1.1.0-SNAPSHOT

优秀的个人博客,低调大师

DBeaver 21.0.4 发布,可视化数据管理平台

DBeaver 21.0.4 现已发布,DBeaver是一个免费开源的通用数据库工具,适用于开发人员和数据库管理员。 Navigator 修复了简单模式下的数据库统计 更新了传统的搜索图标 删除了原有的编辑工具条和主工具条项目 列的重新排序现在支持多列 对象查询功能现在支持在注释中搜索 DBeaver 主菜单仅在 DBeaver 视角下可见 SQL 编辑器 折叠后的结果面板扩展已修复 Data 编辑器 改进了 "查找替换" 对话框 重新设计了创建虚拟唯一键的对话框 修复了用于自定义 SQL 查询的引用面板 SSH 修复了对 SSH 代理的支持 修复了 SSHJ 扩展安装问题 MySQL ​​​​​​​修复了列编辑器(删除了 DEFAULT_GENERATED 条款) 增加了索引编辑器 PostgreSQL 修复了模式数据类型的读取 实现了序列编辑器 增加了对数据类型重命名的支持 详细内容请查看更新公告。

优秀的个人博客,低调大师

DBeaver 21.0.3 发布,可视化数据管理平台

DBeaver 21.0.3 现已发布。DBeaver是一个免费开源的通用数据库工具,适用于开发人员和数据库管理员。 主要更新内容 改进了对夜间主题的支持 Data viewer 增加了格式配置编辑器 过滤器对话框增加了额外配置 按固定的列排序(适用于较小的提取尺寸) 增加了不区分大小写的过滤器支持 纯文本视图现在支持顶部/底部分隔线 数据编辑器已修复(当列名与别名冲突时) 修复了多个选定行的重复行命令 增加了列自动大小配置 字典查看器已修复(只读连接) 增加了对当前选择行的高亮支持(可配置) 元数据搜索现在支持在注释中搜索 GIS/Spatial 增加了对带有 Z 和 M 坐标的几何图形的支持 Postgis:修复了 3D 几何列的 DDL 增加了对Presto + MySQL几何类型的支持 BigQuery 现在支持空间数据查看器 改进了对二进制 geo json 的支持 SQL editor 修复了对象名称中带空格时的自动补全功能 修复了数据库对象超链接的渲染问题 SQL Server:添加了MFA(多因素身份验证)支持 详情请查看更新公告。

优秀的个人博客,低调大师

DBeaver 21.0.2 发布,可视化数据管理平台

DBeaver 21.0.2 现已发布。DBeaver是一个免费开源的通用数据库工具,适用于开发人员和数据库管理员。 主要更新内容 SQL Editor 添加了打开编辑器操作的配置 改进了列值的智能自动完成功能 解决了列名称解析不明确的问题 修复了超链接检测 SQL 模板视图冻结的问题已修复 Database navigator 修复了快速模式过滤器 元数据修改保存:单笔交易处理得到改善。 Data transfer 导出到平面文件现在支持列配置 BOM 支持已添加到 CSV 导入 Data viewer BLOB 查看器现在遵守重单元格值的内容类型。 分组面板:现在正确处理带有尾部注释的查询 详情请查看更新公告。

优秀的个人博客,低调大师

DBeaver 21.0.1 发布,可视化数据管理平台

DBeaver 21.0.1 现已发布。DBeaver是一个免费开源的通用数据库工具,适用于开发人员和数据库管理员。 主要更新内容 连接管理 增加了自动结束闲置交易的功能 修复了网络配置文件配置页面 修复了连接选择器对话框中的过滤器 数据传输 增加了禁用外键的可能性 (PostgreSQL,Oracle) 数值数据类型映射得到改善 在错误对话框中添加了“跳过所有错误”按钮 原数据编辑器 列删除现在检查依赖对象 “约束/索引创建” 命令现在在 “列编辑” 选项卡中可用 修复已删除对象 dup 的问题 SQL 编辑器 改进了脚本选择器弹出面板的 UIX 修复了十六进制常量和科学数字的格式 改进了列别名的生成 修复了多行注释支持 数据编辑器 改进了列式过滤器的 UI 为 SQL 脚本生成器添加了额外的配置 在空间查看器(GIS)中更好地支持 IE 浏览器 虚拟列支持(行添加/删除)已修复 单元格的选择已修复 详情请查看官方公告。

优秀的个人博客,低调大师

nginxWebUI 1.1.7 发布,nginx 可视化网页配置工具

功能说明 本项目可以使用WebUI配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, ssl证书自动申请、续签、配置等,, 最终生成nginx.conf文件并覆盖nginx的默认配置文件, 完成nginx的最终功能配置. 支持nginx服务器批量管理 部署此项目后, 配置nginx再也不用上网各种搜索, 再也不用手动申请和配置ssl证书, 再也不用为了配多个nginx登录n遍服务器了, 只需要在本项目中进行增删改查就可方便的配置nginx和服务器集群。 nginx本身功能复杂, 本项目并不能涵盖nginx所有功能, 但支持配置的功能已经涵盖90%的nginx使用, 更高级的功能配置可根据需要在最终生成的nginx.conf中进行手动编写。 技术说明 本项目是基于springBoot的web系统, 数据库使用sqlite, 因此服务器上不需要安装任何数据库 其中orm使用了本人自己开源的sqlHelper项目作为orm, 使用sqlite作为数据库, 项目启动时会释放一个.sqlite.db到系统用户文件夹中, 注意进行备份 sqlHelper是一个可以像mongodb一样使用sql数据库的orm, 解放开发者对sql数据库表结构的维护工作, 支持sqlite, mysql, postgresql三种数据库, 有兴趣的可以了解一下https://gitee.com/cym1102/sqlHelper 本系统支持在系统内通过Let's encrypt申请和续签证书, 使用acme.sh脚本进行自动化申请, 开启续签的证书将在每天凌晨2点进行续签, 只有超过60天的证书才会进行续签.acme.sh只支持linux, 因此只能在linux中进行证书申请 本次更新内容 本次更新功能较多, 如果有bug请在评论区进行回复 conf页面增加可指定nginx执行文件和nginx目录, 最大限度兼容编译版nginx 可以将conf文件按域名进行分解,每个域名的配置文件单独存放为一个文件,在conf.d下 nginx远程管理页面增加分组, 方便集群管理, 可同步本机所有数据到其他服务器, 可以使用勾选选择特定服务器 证书可直接指定服务器上得证书路径 添加了http设置向导 详细部署说明 https://gitee.com/cym1102/nginxWebUI 编译包下载地址 https://gitee.com/cym1102/nginxWebUI/releases

优秀的个人博客,低调大师

nginxWebUI 1.0.8 发布,nginx 可视化网页配置工具

功能说明 本项目可以使用WebUI配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, ssl证书自动申请、续签、配置等,, 最终生成nginx.conf文件并覆盖nginx的默认配置文件, 完成nginx的最终功能配置. 支持nginx服务器批量管理 部署此项目后, 配置nginx再也不用上网各种搜索, 再也不用手动申请和配置ssl证书, 再也不用为了配多个nginx登录n遍服务器了, 只需要在本项目中进行增删改查就可方便的配置nginx和服务器集群。 nginx本身功能复杂, 本项目并不能涵盖nginx所有功能, 但支持配置的功能已经涵盖90%的nginx使用, 更高级的功能配置可根据需要在最终生成的nginx.conf中进行手动编写。 技术说明 本项目是基于springBoot的web系统, 数据库使用sqlite, 因此服务器上不需要安装任何数据库 其中orm使用了本人自己开源的sqlHelper项目作为orm, 使用sqlite作为数据库, 项目启动时会释放一个.sqlite.db到系统用户文件夹中, 注意进行备份 sqlHelper是一个可以像mongodb一样使用sql数据库的orm, 解放开发者对sql数据库表结构的维护工作, 支持sqlite, mysql, postgresql三种数据库, 有兴趣的可以了解一下https://gitee.com/cym1102/sqlHelper 本系统支持在系统内通过Let's encrypt申请和续签证书, 使用acme.sh脚本进行自动化申请, 开启续签的证书将在每天凌晨2点进行续签, 只有超过60天的证书才会进行续签.acme.sh只支持linux, 因此只能在linux中进行证书申请 本次更新内容 本次更新功能较多, 如果有bug请在评论区进行回复 修复一些bug 添加集群管理模式,可以在一台机器上管理所有nginx服务器 添加管理备份文件和一键还原功能 详细部署说明 https://gitee.com/cym1102/nginxWebUI 编译包下载地址 https://gitee.com/cym1102/nginxWebUI/releases

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册