Home avatar

个人知识星球,专注于Python/Java/AI技术

Prometheus监控SpringBoot

Micrometer 为 Java 平台上的性能数据收集提供了一个通用的 API, 它提供了多种度量指标类型(Timers、Guauges、Counters等),同时支持接入不同的监控系统, 例如 Influxdb、Graphite、Prometheus 等。我们可以通过 Micrometer 收集 Java 性能数据, 配合 Prometheus 监控系统实时获取数据,并最终在 Grafana 上展示出来,从而很容易实现应用的监控。

Prometheus核心概念

Prometheus 里面也有一些关键性的概念,理解这些概念有利于我们后续更深入的学习。

Metric 指标

在 Prometheus 中,我们所有的信息都以 Metrics(指标) 的形式存在。Metrics 由 metric name 和 label name 组成。

Prometheus快速入门

Prometheus 其实就是一个数据监控解决方案,它能帮你简单快速地搭建起一套可视化的监控系统。但这么说还是有点抽象, 下面我举几个简单的例子,帮助大家理解 Prometheus 究竟能做什么?

对于运维人员来说,他们需要监控机器的 CPU、内存、硬盘的使用情况,以此来保证运行在机器上的应用的稳定性。

Grafana快速入门

Grafana 是一个监控仪表系统,它是由 Grafana Labs 公司开源的的一个系统监测 (System Monitoring) 工具。 它可以大大帮助你简化监控的复杂度,你只需要提供你需要监控的数据,它就可以帮你生成各种可视化仪表。 同时它还有报警功能,可以在系统出现问题时通知你。

使用expect实现自动交互脚本

Expect 是一个可以通过脚本和其它交互程序通信的程序,也可以直接被用于C或C++。

可以实现什么?

  • 让计算机自动回应,比如你可以登录,无需手动输入
  • 开始一个游戏,如果最佳配置没有出现,一直重启直到他出现,然后把控制权交给你。
  • 基于预先确定的标准,运行回话,回答问题“是”、“否”,然后把控制权交给你
  • 传递环境变量,当前路径或者任何类型的信息通过rlogin, telnet, tip, su, chgrp等

安装:yum install expect

Vagrant创建虚拟化开发环境

作为一名开发者,是否经常抱怨环境问题,某个bug只出现在你的环境下面,找了很久才找到原来是一个很小的环境差异导致。 Vagrant可以非常容易的配置一个统一的可复制、可移植的分布式开发环境, 在VirtualBox、VMware、AWS或其他provider平台上, 借助provisioning工具, 比如shell脚本、Ansible、Chef等自动在各个机器上面安装和配置好软件。