随着业务越来越复杂,软件系统越来越庞大,对软件系统的要求也越来越高,这意味着我们需要控制运行系统随时。因此,系统的实时监控和可视化显示非常重要。今天就来介绍下使用Grafana+Prometheus快速搭建监控平台。整体可视化方案Grafana:通过查询采集到的数据,然后可视化展示Prometheus:存储时间序列数据,即按照相同的时间序列(同名同标签),存储时间维度上连续数据的集合Exporter:是prometheus监控中的一个重要部分,负责收集数据指标Grafana介绍Grafana是一个开源的测量分析和可视化套件。通常用作基础架构和应用程序分析的时间序列数据的可视化。Grafana支持许多不同的数据源。每个数据源都有一个特定的查询编辑器,编辑器的自定义特性和功能暴露给特定的数据源。Prometheus简介Prometheus是一个开源的系统监控和报警框架。可以理解为Prometheus是一个数据库,需要配合Exporter使用。Exporter是一个负责数据上报的程序,不同的Exporter负责不同的业务。其统一命名格式:xx_exporter。Prometheus官方提供的exporter有blackbox_exporter,consul_exporter,graphite_exporter,haproxy_exporter,memcached_exporter,mysqld_exporter,node_exporter,statsd_exporter,还有很多第三方exporter,比如:Redisexporter,RabbitMQexporter等。Prometheus只会收集指定格式的监控信息,并周期性调用exporter提供的metrics数据接口获取数据,exporter以Prometheus指定的格式收集各种软件的监控信息案例:使用JMX监控Java程序效果构建过程本文使用Windows系统安装grafana和Prometheus,直接双击下载即可。Grafana默认地址:http://127.0.0.1:3000,默认账号和密码都是adminPrometheus默认地址:http://127.0.0.1:9090jmx_exporter监控Java程序可以使用jmx_exporter,github地址:https://github.com/prometheus/jmx_exporterjava-javaagent:./jmx_prometheus_javaagent-0.14.0.jar=8081:config.yaml-jaryourJar.jarconfig.yaml内容可以参考example_configs目录下的prometheus配置,在jmx_exporter项目中修改prometheus.yml,配置需要拉取的exporter如果在targets中看到你添加的exporter,说明可以采集数据Grafana设置添加数据源选择prometheus配置地址使用Grafana插件生成dashboardsGrafana提供了很多dashboard模板,比如从https://grafana.com/dashboards/8563这里下载一个模板导入grafana实现jvm监控。您也可以手动创建仪表盘、创建监控面板、创建监控指标图表、添加指标并保存。告警功能是不是感觉很方便实现监控的可视化?同时prometheus还提供了一个告警插件alertmanager,可以通过alertmanager实现监控异常的告警功能。
