RelaxHeart王琦
作者RelaxHeart王琦2019-05-10 18:41
研发工程师, RelaxHeart

grafana + influxdb + telegraf 构建性能监控平台

字数 2769阅读 1589评论 0赞 0

简介


grafana

grafana一般是和一些时间序列数据库进行配合来展示数据的,例如:Graphite、OpenTSDB、InfluxDB等
grafana是用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据。
grafana最常用于因特网基础设施和应用分析,但在其他领域也有机会用到,比如:工业传感器、家庭自动化、过程控制等等。
grafana有热插拔控制面板和可扩展的数据源,目前已经支持Graphite、InfluxDB、OpenTSDB、Elasticsearch。
image.png

image.png

influxdb

在了解influxdb之前先了解个问题:什么是时间序列数据库?
什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU的使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间序列数据的更重要的一个属性是如何去查询它,包括数据的过滤,计算等等。

Influxdb是一个开源的分布式时序、时间和指标数据库,使用go语言编写,无需外部依赖。 它有三大特性:
时序性(Time Series):与时间相关的函数的灵活使用(诸如最大、最小、求和等);
度量(Metrics):对实时大量数据进行计算;
事件(Event):支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。
image.png

image.png

Telegraf

Telegraf 是一个用 Go 编写的代理程序,可收集系统和服务的统计数据,并写入到 InfluxDB 数据库。内存占用小,通过插件系统可轻松添加支持其他服务的扩展。

注:我是在win10 64位下安装的,下面是我的安装过程,一共分为3步吧,对于linux、Ubuntu安装配置方式相差不大。

第一步:安装包下载

文件准备(版本号可以自己选择,个人习惯最新版):
telegraf-x.x.x_windows_amd64.zip
influxdb-x.x.x_windows_amd64.zip
grafana-x.x.x.windows-x64.zip

grafana

官方下载地址:https://grafana.com/grafana/download?platform=windows (需要fan qiang)
CSDN下载地址:https://download.csdn.net/download/maguic/10354263

influxdb

官方下载地址:https://portal.influxdata.com/downloads/

CSDN下载地址:https://download.csdn.net/download/w4585m3590/10229573

telegraf

官方下载地址:https://portal.influxdata.com/downloads/

CSDN下载地址:https://download.csdn.net/download/qiguangwei1985/10477141

第二步:安装及环境配置

grafana

加压下载后的grafana 安装包到本地磁盘目录下(我的是在D:\grafana)即安装完成。

使用默认配置就行。

influxdb

加压下载后的influxdb 安装包到本地磁盘目录下(我的是在D:\influxdb )即安装完成。

修改influxdb.conf,打开Web控制台:

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

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

加压下载后的telegraf 安装包到本地磁盘目录下(我的是在D:\telegraf )即安装完成。

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

[[outputs.influxdb]]
  # The full HTTP or UDP endpoint URL for your InfluxDB instance.
  # Multiple urls can be specified but it is assumed that they are part of the same
  # cluster, this means that only ONE of the urls will be written to each interval.
  # urls = ["udp://127.0.0.1:8089"] # UDP endpoint example
 #    ------------修改这里,如果集群部署influxdb,这里数组中逗号分隔-------------    #
  urls = ["http://127.0.0.1:8086"]    # required  

第三步:服务启动,本地调试

第二部完成后即表示你的环境已经搭建完成了【是不是很简单呢】,下面我们启动服务验证下安装的是否正确。

  1. 首先启动influxdb:
    通过cmd命令窗口,切换到influxdb安装目录,执行如下命令:

    influxd -config influxdb.conf

    启动成功如下图所示:
    image.png

    image.png

    浏览器输入 http://127.0.0.1:8083/ 显示下面页面:
    image.png
    image.png

注意:
image.png

image.png

然后我们需要创建一个数据库叫“telegraf”,因为telegraf配置默认会找influxdb下的这个库
image.png

image.png

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

    telegraf -config telegraf.conf

    启动成功如下显示:
    image.png

    image.png

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

启动成功后,浏览器输入 http://localhost:3000/?orgId=1 加载到如下页面即启动成功:
image.png

image.png

第四步:使用

恭喜你!grafana + influxdb + telegraf 构建性能监控平台你已经搭建完成,我们搭建的监控平台最终常用的用途是集群性能监控,业务QPS、RT等实时监控,所以业务如何打点到influxDB们需要我们自行实现,监控平台只需要配置即可。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广