当前位置: 首页 > 网络应用技术

春季靴视觉监视!

时间:2023-03-07 18:31:58 网络应用技术

  当应用程序在生产环境中运行时,有必要监视其操作。通过对应用程序操作的真实时间了解,您可以在问题发生之前获取警告,或者在客户注意到问题之前解决问题。

  在本文中,我们将创建一个Spring Boot应用程序,并在Spring执行器,千分尺,Prometheus和Grafana的帮助下进行了监视系统。在它们,Spring Actuator和Micrometor中,这是Spring Boot应用程序的一部分。

  简要说明了不同组件的目的:

  下面,我们将分别介绍每个组件。本文中使用的代码在GitHub上存档。

  首先要做的是创建一个监视应用程序。通过添加Spring Boot执行器,Prometheus和Spring Web依赖项,我们创建了一个Spring MVC应用程序,如下所示。

  不会引入弹簧启动基础知识。推荐本实际教程:

  https://github.com/javastacks/spring-boot-best-practice

  启动应用程序:

  验证接口是否正常:

  验证弹簧执行器接口。在使响应信息易于阅读的过程中,我们通过python -mjson.tool格式化信息。

  默认情况下,将显示上述信息。此外,弹簧执行器可以提供更多信息,但是您需要启用它。要启用Prometheus,您需要将以下信息添加到application.properties文件中。

  重新启动应用程序,请访问http:// localhost:8080/cartuator/prometheus,从Prometheus中删除数据并返回许多可用的指示信息。我们仅在此处显示输出的一小部分,因为它是一个长列表。

  如前所述,还需要千分尺。为最受欢迎的监视系统提供了简单的仪表板,允许对JVM应用程序进行计量化,而无需提供提供的指标。它的角色相似,但并不关注日志记录,但是,应用程序指标。简而言之,它是应用程序监控行业的SLF4J。

  Spring Boot执行器提供了千分尺的自动配置。SpringBoot2在Spring-boot-actuator中引入了千分尺,以重建1.x指标,并且支持对接的监视系统也更丰富(,,,,,,,,,,,,,,,,

  更新的文件如下:

  重新启动应用程序并从中检索数据。

  您可以通过指示名称直接检索特定信息。例如,如果查询查询索引,则可以通过以下方式检索:

  Prometheus是云本机计算基础的开源监视系统。由于我们的应用程序中有一个端点可以提供Prometheus Grab数据,因此您现在可以配置Prometheus来监视您的Spring Boot应用程序。

  Prometheus有几种安装方法。在本文中,我们将在Docker容器中运行Prometheus。

  您需要创建一个文件以添加到Docker容器中。

  如果很难在Linux上找到IP地址,则可以使用以下命令:

  启动Docker容器,然后将文件映射到Docker容器。

  成功启动Docker容器后,首先验证是否可以通过收集数据来收集Prometheus。

  如上图所示,我们遇到的错误会导致Prometheus访问主机上运行的Spring Boot应用程序。如何解决?

  可以通过将Docker容器添加到主机网络来解决此错误,这将使Prometheus能够访问Spring Boot应用程序。

  再次验证,状态指标已升起。

  现在可以显示Prometheus指示器。通过访问,输入并单击搜索框中的“执行”按钮,为您提供请求期内最长的执行时间。

  最后一个组件是Grafana。尽管Prometheus可以显示指示器,但Grafana可以帮助您在更精致的仪表板中显示指示器。Grafana还支持多种安装方法。在本文中,我们还将在Docker容器中运行它。

  点击访问Grafana。

  默认用户名/密码是。单击“登录”按钮后,您需要更改默认密码。

  接下来要做的是添加数据源。在左侧栏中单击“配置”图标,然后选择“数据源”。

  单击(添加数据源)按钮。

  Prometheus在列表的顶部选择Prometheus。

  填写Prometheus可以访问的URL,并设置设置,然后单击页面底部的按钮。

  一切正常之后,将显示一个绿色通知口号,表明数据源正在工作。

  现在创建了仪表板。您可以自定义一个,但是您也可以使用开源仪表板。用于显示弹簧靴索引的普通仪表板是JVM仪表板。

  在左侧栏中,单击+数字,然后选择要导入。

  输入JVM仪表板的URL https://grafana.com/grafana/dashboards/4701,然后单击“加载(加载)”按钮。

  输入有意义的名称(例如仪器面板的myspringmonitoringplanet),选择Prometheus作为数据源,然后单击“导入”按钮。

  到目前为止,您可以使用凉爽的Grafana仪表板。

  您还可以在仪表板上添加自定义面板。在仪器面板的顶部,单击“添加面板”(添加面板)图标。

  单击添加新面板(添加新面板)。

  在“指标”字段中,输入http_server_requests_seconds_max,在右栏中的面板标题字段中,您可以输入面板的名称。

  最后,单击右上角的“应用”按钮,然后将面板添加到仪表板中。不要忘记保存仪表板。

  为应用程序设置一些负载,并检查仪器板上HTTP_SERVER_REQUESTS_SECONDS_MAX指示器所发生的事情。

  在本文中,我们学会了如何在Spring Boot应用程序中添加一些基本的监视。这非常简单,只需使用春季执行器,千分尺,Prometheus和Grafana即可。

  当然,这只是一个起点,但是从这里开始,您可以为Spring Boot应用程序展开和配置更多的特定指标。