目录
Grafana简介Prometheus简介安装使用监控系统信息监控SpringBoot应用总结参考资料项目源码地址当面对一个复杂的系统时,我们往往需要监控工具来帮助我们解决一些性能问题。比如之前我们使用
SpringBoot Admin
来监控应用,从而获取到SpringBoot Actuator
暴露的指标信息。今天给大家介绍一个功能强大的监控工具Grafana,只要需要用到监控的地方,用它做可视化就对了!
Grafana简介
Grafana是一款开源的数据可视化和分析工具,不管你的指标信息存储在哪里,你都可以用它来可视化这些数据。同时它还具有告警功能,当指标超出指定范围时会提醒你。
Prometheus简介
Prometheus是一款时序数据库,可以简单理解为带时间的MySQL数据库。由于Grafana只能将数据转换成可视化图表,并没有存储功能,所以我们需要结合Prometheus这类时序数据库一起使用。
安装
使用Docker安装Grafana和Prometheus无疑是最简单的,我们接下来将采用此种方式。
首先下载Grafana的Docker镜像;
docker pull grafana/grafana
下载完成后运行Grafana;
docker run -p 3000:3000 --name grafana \ -d grafana/grafana
接下来下载Prometheus的Docker镜像;
docker pull prom/prometheus
在/mydata/prometheus/
目录下创建Prometheus的配置文件prometheus.yml
:
global: scrape_interval: 5s
运行Prometheus,把宿主机中的配置文件prometheus.yml
挂载到容器中去;
docker run -p 9090:9090 --name prometheus \ -v /mydata/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \ -d prom/prometheus
至此安装完成,是不是很简单!可以通过如下地址访问Grafana,登录账号密码为admin:admin
,访问地址:http://192.168.5.78:3000/
登录Grafana后显示界面如下;
其实Prometheus也是有可视化界面的,就是有点简陋,访问地址:http://192.168.5.78:9090/
使用
Grafana已经安装完后,是时候来波实践了,接下来我们来介绍下使用Grafana来监控Linux系统和SpringBoot应用。
监控系统信息
使用
node_explorer
可以暴露Linux系统的指标信息,然后Prometheus就可以通过定时扫描的方式获取并存储指标信息了。
下载node_explorer
的安装包,下载地址:https://prometheus.io/download/#node_exporter
这次我们直接把node_explorer
安装到Linux服务器上(如果使用Docker容器安装,监控的会是Docker容器的指标信息),将下载的安装包解压到指定目录,并修改文件夹名称:
cd /mydata tar -zxvf node_exporter-1.1.2.linux-amd64.tar.gz mv node_exporter-1.1.2.linux-amd64 node_exporter
进入解压目录,使用如下命令运行node_explorer
,服务将运行在9100
端口上;
cd node_exporter ./node_exporter >log.file 2>&1 &
使用curl
命令访问获取指标信息接口,获取到信息表示运行成功;
curl http://localhost:9100/metrics
# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served. # TYPE promhttp_metric_handler_requests_in_flight gauge promhttp_metric_handler_requests_in_flight 1 # HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code. # TYPE promhttp_metric_handler_requests_total counter promhttp_metric_handler_requests_total{code="200"} 2175 promhttp_metric_handler_requests_total{code="500"} 0 promhttp_metric_handler_requests_total{code="503"} 0
接下来修改Prometheus的配置文件prometheus.yml
,创建一个任务定时扫描node_explorer
暴露的指标信息;
scrape_configs: - job_name: node static_configs: - targets: ["192.168.5.78:9100"]
重启Prometheus容器,可以通过加号->Dashboard
来创建仪表盘;
当然你还可以选择去Grafana的仪表盘市场下载一个Dashboard,市场地址:https://grafana.com/grafana/dashboards
这里选择了Node Exporter Full
这个仪表盘,记住它的ID,访问地址:https://grafana.com/grafana/dashboards/1860
选择导入Dashboard并输入ID,最后点击Load
即可;
选择数据源为Prometheus,最后点击Import
;
导入成功后就可以在Grafana中看到实时监控信息了,是不是够炫酷!
监控SpringBoot应用
监控SpringBoot应用需要依靠
actuator
及micrometer
,通过暴露actuator
的端点,Prometheus可以定时获取并存储指标信息。
修改项目的pom.xml
文件,添加actuator
及micrometer
依赖;
org.springframework.boot spring-boot-starter-actuator io.micrometer micrometer-registry-prometheus
修改应用配置文件application.yml
,通过actuator
暴露监控端口/actuator/prometheus
;
management: endpoints: web: exposure: # 暴露端点`/actuator/prometheus` include: "prometheus" metrics: tags: application: ${spring.application.name}
在监控SpringBoot应用之前,我们需要先运行一个SpringBoot应用,使用如下命令运行即可;
docker run -p 8088:8088 --name mall-tiny-grafana \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/mall-tiny-grafana/logs:/var/logs \ -e TZ="Asia/Shanghai" \ -d mall-tiny/mall-tiny-grafana:1.0-SNAPSHOT
修改Prometheus的配置文件prometheus.yml
,创建一个任务定时扫描actuator
暴露的指标信息,这里需要注意下,由于SpringBoot应用运行在Docker容器中,需要使用docker inspect mall-tiny-grafana |grep IPAddress
来获取容器IP地址;
scrape_configs: # 采集任务名称 - job_name: "mall-tiny-grafana" # 采集时间间隔 scrape_interval: 5s # 采集超时时间 scrape_timeout: 10s # 采集数据路径 metrics_path: "/actuator/prometheus" # 采集服务的地址 static_configs: - targets: ["172.17.0.5:8088"]
我们可以通过Prometheus的可视化界面,来确定Prometheus是否能获取到指标信息;
同样,我们可以从仪表盘市场导入仪表盘,访问地址:https://grafana.com/grafana/dashboards/14370
导入成功后就可以在Grafana中看到SpringBoot实时监控信息了,果然够炫酷!
总结
通过对Grafana的一波实践,我们可以发现,使用Grafana来进行数据可视化的过程是这样的:首先我们得让被监控方将指标信息暴露出来,然后用Prometheus定时获取并存储指标信息,最后将Prometheus配置为Grafana的可视化数据源。
参考资料
Grafana官方文档:https://grafana.com/docs/grafana/latest/getting-started/getting-started-prometheus/
node-exporter的使用:https://prometheus.io/docs/guides/node-exporter/
项目源码地址
https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-grafana
到此这篇关于使用Grafana监控Redis的文章就介绍到这了,更多相关Grafana监控Redis内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?