转自http://www.jianshu.com/p/fadcf4d92b0e

这里再配合InfluxdbGrafana可以构建一个非常漂亮的实时监控界面。

Grafana监控界面

采集数据(Metrics)-> 存储数据(InfluxDB) -> 显示数据(Grafana)。

资源有限,我把这一套服务搭建在了一台CentOS 7的服务器上。

安装influxdb

InfluxDB是Go语言写的一个时序型数据库,可以通过rpm的方式来安装它,这里最好能安装InfluxDB的最新版本,否则跟Grafana的交互会有一些不兼容。

  1. wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.4.x86_64.rpm
  1. sudo yum localinstall influxdb-1.2.4.x86_64.rpm
  1.  

安装完成之后,启动并查看这个服务是否在正常运行:

  1. systemctl start influxdb.service
  2. [root@metrics ~]# systemctl status influxdb.service
  3. influxdb.service - InfluxDB is an open-source, distributed, time series database
  4. Loaded: loaded (/usr/lib/systemd/system/influxdb.service; enabled; vendor preset: disabled)
  5. Active: active (running) since 2016-04-25 17:50:04 CST; 1 day 1h ago
  6. Docs: https://docs.influxdata.com/influxdb/
  7. Main PID: 17871 (sh)
  8. CGroup: /system.slice/influxdb.service
  9. ├─17871 /bin/sh -c /usr/bin/influxd -config /etc/influxdb/influxdb.conf >>/dev/nul...
  10. └─17872 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
  11. 4 25 17:50:04 metrics systemd[1]: Started InfluxDB is an open-source, distributed...se.
  12. 4 25 17:50:04 metrics systemd[1]: Starting InfluxDB is an open-source, distribute......
  13. Hint: Some lines were ellipsized, use -l to show in full.

启动后打开 web 管理界面 http://192.168.2.183:8083/ 默认用户名和密码是 root 和 root. InfluxDB 的 Web 管理界面端口是 8083,HTTP API 监听端口是 8086,如果需要更改这些默认设定,修改 InfluxDB 的配置文件(/etc/influxdb/influxdb.conf)并重启就可以了。

安装 Grafana

Grafana是一个非常好看的监控界面,它的安装方式也非常简单,通过yum,一条命令就可以在server上完成安装。

  1. wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.3.2-1.x86_64.rpm 
    sudo yum localinstall grafana-4.3.2-1.x86_64.rpm 

完成安装之后,启动并检查它的状态:

  1. [root@metrics ~]# systemctl start grafana-server.service
  2. [root@metrics ~]# systemctl status grafana-server.service
  3. grafana-server.service - Starts and stops a single grafana instance on this system
  4. Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; disabled; vendor preset: disabled)
  5. Active: active (running) since 2016-04-25 09:37:07 CST; 1 day 10h ago
  6. Docs: http://docs.grafana.org
  7. Main PID: 10309 (grafana-server)
  8. CGroup: /system.slice/grafana-server.service
  9. └─10309 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile= cfg:d...

用浏览器访问 Grafana,默认端口是3000,默认的帐号密码都是 admin(可以在配置文件中找到),登录之后配置数据库

设置数据源

Metrics Reporter

之前提到Metrics只需要配置它的Reporter就可以输出到对应的地方,对于Influxdb,在github上找到了一个InfluxdbReporter(https://github.com/davidB/metrics-influxdb)。

Maven中引入:

  1. <dependency>
  2. <groupId>com.github.davidb</groupId>
  3. <artifactId>metrics-influxdb</artifactId>
  4. <version>0.8.2</version>
  5. </dependency>

并在代码中配置Influxdb的数据源:

  1. @Bean(name = "influxdbReporter")
  2. public ScheduledReporter influxdbReporter(MetricRegistry metrics) throws Exception {
  3. return InfluxdbReporter.forRegistry(metrics)
  4. .protocol(InfluxdbProtocols.http("host_ip_address", port, "username", "password", "database"))
  5. .convertRatesTo(TimeUnit.SECONDS)
  6. .convertDurationsTo(TimeUnit.MILLISECONDS)
  7. .filter(MetricFilter.ALL)
  8. .skipIdleMetrics(false)
  9. .build();
  10. }

启动项目之后,我们开始配置我们需要看到的图表信息:

配置图标信息

最后我们利用wrk测试工具并发访问连接:

  1. ~ wrk -t 10 -c 50 -d 5s http://127.0.0.1:8888/hello
  2. Running 5s test @ http://127.0.0.1:8888/hello
  3. 10 threads and 50 connections
  4. Thread Stats Avg Stdev Max +/- Stdev
  5. Latency 6.59ms 12.17ms 210.05ms 92.16%
  6. Req/Sec 1.40k 427.51 2.79k 71.80%
  7. 69902 requests in 5.04s, 10.28MB read
  8. Requests/sec: 13873.71
  9. Transfer/sec: 2.04MB

于此同时Grafana界面上系统实时的数据信息也展现出来了:

利用Metrics+influxdb+grafana构建监控平台(转)的更多相关文章

  1. 利用Metrics+influxdb+grafana构建监控平台

    https://blog.csdn.net/fishmai/article/details/51817429

  2. 微服务监控之二:Metrics+influxdb+grafana构建监控平台

    系统开发到一定的阶段,线上的机器越来越多,就需要一些监控了,除了服务器的监控,业务方面也需要一些监控服务.Metrics作为一款监控指标的度量类库,提供了许多工具帮助开发者来完成自定义的监控工作. 使 ...

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

    本节将引入完美的granafa仪表板,在上节的基础上,并提出自己的一些监控数据的总结和看法 你可以有一个类似于这个的Dashboard,会引入监控Zimbra协作 本节环境采用的是centos7系统, ...

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

    完成一套精准,漂亮图形化监控系统从这里开始第一步 Telegraf是收集和报告指标和数据的代理 它是TICK堆栈的一部分,是一个用于收集和报告指标的插件驱动的服务器代理.Telegraf拥有插件或集成 ...

  5. influxdb + Grafana可视化监控平台

    在centos6.5上influxdb + Grafana监控平台配置: 1.RedHat and CentOS users can install the latest stable version ...

  6. Metrics.net + influxdb + grafana 构建WebAPI的自动化监控和预警

    前言 这次主要分享通过Metrics.net + influxdb + grafana 构建WebAPI的自动化监控和预警方案.通过执行耗时,定位哪些接口拖累了服务的性能:通过请求频次,设置适当的限流 ...

  7. .NET Core微服务之基于App.Metrics+InfluxDB+Grafana实现统一性能监控

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.关于App.Metrics+InfluxDB+Grafana 1.1 App.Metrics App.Metrics是一款开源的支持. ...

  8. 全网最详细!Centos7.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台

    背景 日常工作中,经常会用到Jmeter去压测,毕竟LR还要钱(@¥&*...),而最常用的接口压力测试,我们都是通过聚合报告去查看压测结果的,然鹅聚合报告的真的是丑到家了,作为程序猿这当然不 ...

  9. Centos7.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台(不使用docker)

    工具介绍 [centos7安装influxDB] Influxdata官网下载路径:https://portal.influxdata.com/downloads/ 1.直接执行以下命令安装 2.安装 ...

随机推荐

  1. 有术:DIY代理服务器

    FQ有术:DIY代理服务器 公司HTTP代理穿透+手機ShadowSocks+SSH翻牆 利用SSH代理爬墙 http://bestvpnchina.net/

  2. Nginx负载均衡 ssl原理 生成ssl密钥对 Nginx配置ssl

  3. CentOS6.5下安装iRedMail中需要解决的问题

    iRedMail是个专门用于Redhat/CentOS下的企业Mail服务集成安装软件包,本来只要有干净的系统就可以轻松安装,无奈国内网络状况和墙头众多,安装中也有很多问题需要解决,下面记录的都是我安 ...

  4. SQL随机生成6位数字

    SELECT RIGHT(100000000 + CONVERT(bigint, ABS(CHECKSUM(NEWID()))), 6)

  5. 将nosetests的echo结果保存到本地文件

    nose是很好用的python 测试框架. 但是一直很纠结如何将结果保存到本地.采用nosetests -h查看相关的options,找到一个xunit的东西,似乎可以实现功能. 测试结果: 可见,已 ...

  6. 超强OCR文字识别软件首选ABBYY FineReader

    提到纸质文档—转换—文本格式—可编辑这些字眼,相信大家的第一反映都是OCR文字识别软件,如何排除错误或利用辅助信息提高识别正确率,是OCR最重要的课题,衡量一个OCR系统性能好坏的主要指标无非是精确度 ...

  7. 【matlab】命令行窗口一直不停的输出ans=1?

    ans= 1 matlab里面的ans是一个系统量,当m文件中出现非赋值性的计算时,matlab会把结果自动存入ans. 如果m文件中每一个计算都是赋值的,即所计算的结果都是保存在自己设定的变量中的, ...

  8. C语言realloc,malloc,calloc的区别【转载】

    转载自:http://www.cnblogs.com/BlueTzar/articles/1136549.html 三个函数的申明分别是: void* realloc(void* ptr, unsig ...

  9. IOPS性能指标

    如何计算mysql的IOPS? qps 每秒处理的查询数tps 每秒处理的事务数IOPS,每秒磁盘进行的I/O操作次数 今天看到一篇文章说磁盘理论最大IOPS为200左右,我有两个疑问:1.MYSQL ...

  10. 使用HTML5监测网站性能

    在这个信息爆炸的互联网时代,越来越多的人缺少了等待的耐心,网站性能对于一个网站来说越来越重要.以下为监控到的网站打开时间对跳出率的影响: 当网站打开时间在0-1秒时,跳出率为12% 当网站打开时间在1 ...