Telegraf+Influxdb+Grafana 构建监控系统

2,269 阅读2分钟

一 背景

在所有现有的现代监控工具中,TIG(Telegraf、InfluxDB和Grafana)可能是最受欢迎的工具之一。 该堆栈可用于监视大量不同的数据源:从操作系统(如Linux或Windows性能指标)到数据库(如MongoDB或MySQL), Telegraf是一个负责收集和聚合数据的代理,例如当前的CPU使用情况。 InfluxDB将存储数据,并将其公开给Grafana,这是一种现代的仪表板解决方案。 在本教程中,我们将学习如何设置Telegraf、InfluxDB和Grafana。

二 组件

2.1 Telegraf

Telegraf是一个基于服务器的代理,从数据库、系统和物联网传感器收集和发送度量和事件。Telegraf用Go编写,编译成一个没有外部依赖的二进制文件--需要非常少的内存,相当于监控指标采集Agent。

2.2 Influxdb

InfluxDB是一个由InfluxData开发的开源时序型数据库,专注于海量时序数据的高性能读、高性能写、高效存储与实时分析等,在DB-Engines Ranking时序型数据库排行榜上排名第一,广泛应用于DevOps监控、IoT监控、实时分析等场景。

强大完整的生态,TICK是一个集成了采集、存储、分析、可视化等能力的开源时序中台,由Telegraf、 InfluxDB、Chronograf、Kapacitor 4个组件以一种灵活松散组合、但紧密配合互为补充的方式构成,各个模块项目配合、互为补充,专注于DevOps监控、IoT监控、实时分析等场景。

2.3 Grafana

Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。目前使用grafana的公司有很多,如paypal、ebay、intel等。

三 部署

3.1 InfluxDB部署

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

sudo yum install influxdb
sudo systemctl start influxdb

3.2 Grafana部署

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.5.4-1.x86_64.rpm
sudo yum install grafana-enterprise-8.5.4-1.x86_64.rpm
systemctl start grafana-server

3.3 Telegraf部署

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxData Repository - Stable
baseurl = https://repos.influxdata.com/stable/\$basearch/main
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

sudo yum install telegraf
telegraf config > telegraf.conf

四 配置

4.1 创建库

登录influxdb创建telegraf库

创建用户。

/etc/influxdb/influxdb.conf 启用认证

[http]
  # Determines whether HTTP endpoint is enabled.
  enabled = true
  
  # The bind address used by the HTTP service.
  bind-address = ":8086"

  # Determines whether user authentication is enabled over HTTP/HTTPS.
  auth-enabled = true

4.2 配置telegraf将数据存储在influxdb中

编辑/etc/telegraf/telegraf.conf

  • 启用认证
## HTTP Basic Auth
  username = "telegraf"
  password = "password"

4.4 配置Grafana

启动grafana后修改密码,添加influxdb数据源,添加dashboard。

使用5955进行dashboard导入。

其他

  • 再次influxdb未配置用户名密码,生产环境应配置。
  • 应该针对telegraf进行配置过滤指标已适应业务。

参考链接

本文正在参加「金石计划 . 瓜分6万现金大奖」