Spring Boot Actutaur + Telegraf + InFluxDB + Grafana 构建监控平台

完成一套精准,漂亮图形化监控系统从这里开始第一步

Telegraf是收集和报告指标和数据的代理

  它是TICK堆栈的一部分,是一个用于收集报告指标的插件驱动的服务器代理。Telegraf拥有插件或集成功能,可直接从运行的系统获取各种指标,从第三方API获取指标,甚至通过StatsD和Kafka消费者服务来收听指标。它还具有输出插件,可将指标发送到各种其他数据存储服务消息队列,包括InfluxDB,Graphite,OpenTSDB,Datadog,Librato,Kafka,MQTT,NSQ等等。

Spring Boot Actuator

  Spring Boot Actuator包含一个带“metrics”和“gauge”支持的度量服务。“量表”记录单个值; ‘计数器‘记录增量(增量或减量)。Spring Boot Actuator还提供了一个PublicMetrics可以实现的 界面,用于公开您无法通过这两种机制之一记录的指标。看SystemPublicMetrics 一个例子。

  将你的springboot项目中依赖Spring Boot Actuator 的包,启动之后会发现控制台打出的mapped变得很多了,例如/env、/health、/info等等的信息,恭喜你已经成功使用了metric对程序进行了简单的监控了,在浏览器中输入本地的ip项目访问地址如:http://localhost:8080/metrics,就会出现如下的数据

  

{
    "counter.status.200.root": 20,
    "counter.status.200.metrics": 3,
    "counter.status.200.star-star": 5,
    "counter.status.401.root": 4,
    "gauge.response.star-star": 6,
    "gauge.response.root": 2,
    "gauge.response.metrics": 3,
    "classes": 5808,
    "classes.loaded": 5808,
    "classes.unloaded": 0,
    "heap": 3728384,
    "heap.committed": 986624,
    "heap.init": 262144,
    "heap.used": 52765,
    "nonheap": 0,
    "nonheap.committed": 77568,
    "nonheap.init": 2496,
    "nonheap.used": 75826,
    "mem": 986624,
    "mem.free": 933858,
    "processors": 8,
    "threads": 15,
    "threads.daemon": 11,
    "threads.peak": 15,
    "threads.totalStarted": 42,
    "uptime": 494836,
    "instance.uptime": 489782,
    "datasource.primary.active": 5,
    "datasource.primary.usage": 0.25
}

管理员功能

  通过指定spring.application.admin.enabled属性可以为应用程序启用与管理相关的功能 。这暴露 SpringApplicationAdminMXBean 了平台上MBeanServer。您可以使用此功能远程管理您的Spring Boot应用程序。这对于任何服务包装器实现也是有用的。

引入spring-boot-admin依赖
<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-server</artifactId>
    <version>1.4.0</version>
</dependency>  

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-server-ui</artifactId>
    <version>1.4.0</version>
</dependency>  

  如果您想知道应用程序在哪个HTTP端口上运行,请使用密钥获取该属性local.server.port

  当启用此功能时要小心,因为MBean公开了关闭应用程序的方法。

使用Jolokia进行JMX over HTTP

  Jolokia是一个JMX-HTTP桥梁,它提供了访问JMX bean的另一种方法。要使用Jolokia,只需添加依赖项即可org.jolokia:jolokia-core。例如,使用Maven你可以添加以下内容:

  

<dependency>
    <groupId> org.jolokia </ groupId>
    <artifactId> jolokia-core </ artifactId>
 </ dependency>

  在application.yaml后者application.properties中配置响应的配置

jolokia.config.debug=true
endpoints.jolokia.enabled=true
#endpoints.jolokia.sensitive=true
endpoints.jolokia.path=/jolokia 

环境搭建

下载Telegraf、influxdb 、grafana,我个人建议先搭建一个windows版本的环境自己配置玩一玩

https://portal.influxdata.com/downloads#influxdbhttps://grafana.com/grafana/download?platform=windows

1 Influxdb配置

修改influxdb.conf,设置日志文件目录:

#cd 到安装解压的修改influxdb.conf

[admin]
# Determines whether the admin service is enabled.
enabled = true

# The default bind address used by the admin service.
bind-address = ":8083"

其他配置都是默认好的,不用修改,如果版本下载不一样可能需要修改,不妨给我留言,我会及时回复的

2启动

 通过cmd命令窗口,切换到influxdb安装目录,执行如下命令:

influxd -config influxdb.conf

 通过cmd命令窗口,切换到Telegraf安装目录,执行如下命令:

telegraf -config telegraf.conf

切换到Grafana安装目录中的bin目录下,双击grafana-server.exe启动程序

访问http://locahost:8090,这是可以配置的端口号,可以访问了:

使用:

访问http://localhost:8086,使用admin/admin登录本机Grafana,新建influxdb数据源:

【注意】Telegraf启动后,向InfluxDb中上报数据时,会默认创建一个telegraf数据库,所以上面我们配置DataBase是telegraf

点击new创建一个Dashboards

配置编辑会出来可配置页面:

点击General:配置基本的图表信息

点击metrics,配置收集到的收据信息,实际就是写sql查询,不同数据库数据sql书写方式不同

查看http://localhost:8083,可以发现telegraf库中,默认有4个Measurements(表):

配置Grafana中的面板完成后,这样一个简易的本机监控系统就搭建完了:

原文地址:https://www.cnblogs.com/zhikou/p/8537074.html

时间: 2024-11-04 09:06:58

Spring Boot Actutaur + Telegraf + InFluxDB + Grafana 构建监控平台的相关文章

Spring Boot Actutaur + Telegraf + InFluxDB + Grafana 构建监控平台之应用数据分析

本节将引入完美的granafa仪表板,在上节的基础上,并提出自己的一些监控数据的总结和看法 你可以有一个类似于这个的Dashboard,会引入监控Zimbra协作 本节环境采用的是centos7系统,配置跟上节介绍的一样,但是Telegraf是企业级监控加入很多可靠的监控插件,非常有用的一些参数,随之也给自 己的监控数据分析带来了复杂度. Telegraf:它负责收集我们通过配置文件传递的所有数据,Telegraf收集我们配置的输出结果,例如CPU / RAM / LOAD或Nginx,Mari

用Nginx+Telegraf+Influxb+Grafana构建高逼格Nginx集群监控系统

日常生产环境搭建了Nginx集群后,就需要继续深入研究的就是日常Nginx监控. Nginx如何监控?相信百度就可以找到:nginx-status 通过Nginx-status,实时获取到Nginx监控数据后,如何和现有监控系统集成?一个很好的解决方案: Nginx+Telegraf+Influxdb+Grafana 即通过Telegraf监控插件定时收集Nginx的监控状态,存储到时序数据库Influxdb中,然后通过Grafana展现即可. 一.Nginx启用nginx-status功能 源

使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况

使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况 前言 本文在Debian9下采用Docker的方式安装Telegraf + Influxdb + Grafana对服务器进行监控. 首先我们需要在一台Server上安装Debian9作为监控主机,这个监控主机可以配置为可监控多台Server. 安装Docker 如果之前已经安装过旧版本的Docker,先移除旧版本的安装 sudo apt-get remove docker docker-eng

telegraf+influxdb+grafana环境初探

Telegraf+Influxdb+Grafana环境初探 简介 Part1:写在最前 Grafana,一个非常好用的开源监控(应该说是出图)软件.各类个性化定制非常易用,像常见的cpu,mem,mysql常用监控项都已经内置.grafana并未被我用在生产,本着学习交流的原则,来写这篇文章吧. 安装 Part1:环境准备 环境: HE3: mysql所在服务器,被监控机 ip 192.168.1.250 mysql port 3306 部署telegraf HE4: grafana serve

jmeter+influxdb+grafana性能测试监控

背景: 话说Jmeter原生的监控确实太丑了,听大佬们在讨论Jmeter+InfluxDb+Grafana的监控,于是,为了有一个漂亮的测试报告,就手动开始进行部署. 安装步骤: 1.influxdb下载安装: [[email protected] ~]# wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm --no-check-certificate [[email protected] ~]#

使用telegraf+influxdb+grafana监控ceph集群

telegraf是一个收集监控项的agent,有支持收集多种数据的插件比如ceph,apache,docker,haproxy,system等,同时有支持多种输出的插件比如influxdb,graphite等. influxdb是时序数据库,多用于监控场景 grafana是很棒的绘图工具 这三者的结合有三个主要过程: 1.安装在ceph集群所有节点(包括mon和osd节点)上的telegraf通过ceph_input插件收集ceph集群信息,这里踩了两个坑,ceph_input插件报了两个错,一

Spring Boot 中 10 行代码构建 RESTful 风格应用

RESTful ,到现在相信已经没人不知道这个东西了吧!关于 RESTful 的概念,我这里就不做过多介绍了,传统的 Struts 对 RESTful 支持不够友好 ,但是 SpringMVC 对于 RESTful 提供了很好的支持,常见的相关注解有: @RestController @GetMapping @PutMapping @PostMapping @DeleteMapping @ResponseBody ... 这些注解都是和 RESTful 相关的,在移动互联网中,RESTful 得

基于Prometheus和Grafana的监控平台 - 环境搭建

相关概念 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics. Logging - 用于记录离散的事件.例如,应用程序的调试信息或错误信息.它是我们诊断问题的依据.比如我们说的ELK就是基于Logging. Metrics - 用于记录可聚合的数据.例如,队列的当前深度可被定义为一个度量值,在元素入队或出队时被更新:HTTP 请求个数可被定义为一个计数器,新请求到来时进行累.prometheus专注于Metrics领域. Tracing - 用于记录请求范围内

[docker] 用influxDB &amp; Grafana &amp; Telegraf &amp; Jmeter搭建服务监控平台

原文地址:https://www.cnblogs.com/allbetter/p/11072813.html