快速部署Telegraf & Influxdb

是什么?

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

Influxdb 是一个开源的分布式时序、时间和指标数据库,使用 Go 语言编写,无需外部依赖。Influxdb 有如下三大特性:

  • 时序性(Time Series):与时间相关的函数的灵活使用(诸如最大、最小、求和等);
  • 度量(Metrics):对实时大量数据进行计算;
  • 事件(Event):支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。

为什么要用?

在平台监控系统中,可以使用 Telegraf 采集多种组件的运行信息,而不需要自己手写脚本定时采集,大大降低数据获取的难度;且 Telegraf 配置极为简单,只要有基本的 Linux 基础即可快速上手。Telegraf 按照时间序列采集数据,数据结构中包含时序信息,时序数据库就是为此类数据设计而来,使用 Influxdb 可以针采集得到的数据完成各种分析计算操作。

怎么用?

这里不介绍过多原理性的东西,尽可能快速地在现有系统上安装部署 Telegraf 和 Influxdb,并使用 Telegraf 采集部分数据写入到 Influxdb 中。使用 wget 方式下载可能会较为缓慢,建议使用迅雷等下载工具下载后再分发至服务器上。

1.安装 Telegraf

[root@node1 ~]# wget http://get.influxdb.org/telegraf/telegraf-0.11.1-1.x86_64.rpm
[root@node1 ~]# rpm -ivh telegraf-0.11.1-1.x86_64.rpm
[root@node1 ~]# systemctl start telegraf 

2.安装 Influxdb

[root@node1 ~]# wget http://dl.influxdata.com/influxdb/releases/influxdb-1.0.2.x86_64.rpm 
[root@node1 ~]# rpm -ivh influxdb-1.0.2.x86_64.rpm
[root@node1 ~]# systemctl start influxd

3.创建 Influxdb 用户和数据库

[root@node1 ~]# influx
   Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
   Connected to http://localhost:8086 version 1.0.2
   InfluxDB shell version: 1.0.2
   > create user "telegraf" with password 'password'
   > show users;
   user		admin
   telegraf	false
   > create database telegraf
   > show databases
   name: databases
   ---------------
   name
   _internal
   telegraf

4.配置Telegraf

[root@node1 ~]# vim /etc/telegraf/telegraf.conf
   ## 修改内容如下: 
   [[outputs.influxdb]]
     urls = ["http://localhost:8086"] # required 
     database = "telegraf" # required
     retention_policy = ""
     precision = "s"
     timeout = "5s"
     username = "telegraf"
     password = "password"    
[root@node1 ~]# systemctl restart telegraf

5.查看数据

打开 Influxdb 查询界面:http://node1:8083 , 输入查询语句seclect * from cpu可查询到 CPU 相关信息。

posted @ 2017-09-20 23:26  deyken  阅读(9159)  评论(1编辑  收藏  举报