(五)基于telegraf+influxdb+grafana数据库监控

1.grafana介绍

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:

1)、展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;

2)、数据源:GraphiteInfluxDBOpenTSDBPrometheusElasticsearchCloudWatchKairosDB(postgres)等;

3)、通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过SlackPagerDutyEmail等获得通知;

4)、混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;

5)、注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;

6)、过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

grafana 不支持带有变量的模板报警

2.grafana安装

#下载

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.3.3-1.x86_64.rpm

#安装

yum install initscripts fontconfig -y

rpm -ivh grafana-enterprise-8.3.3-1.x86_64.rpm

#启动

systemctl start grafana-server

#登陆

Ip:3000 , 默认登陆信息admin

3.influxdb 介绍

InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。

 

Telegraf

Telegraf负责收集监控数据,并将数据输出到influxDB数据库,它支持多种类型的数据输入,比如httpjsonmysqlrabbitMQpgsql等等。

InfluxDB

InfluxDBtime-series data数据库,负责高效处理实时数据。

Chronograf

Chronograf是图形展示工具,负责从InfluxDB收集数据,并将数据图表以web的形式发布。

Kapacitor

KapacitorInfluxDB的数据处理引擎。

Enterprise Manager

Enterprise Manager是正在开发的UI系统,用于更加广泛的图形展示。

该方案中,我们所采用的是该时间序列平台中的数据采集(Telegraf)和数据存储(InfluxDB)部分。数据展示部分,由于InfluxData公司的Chronograf为新推出产品,相较于目前广泛使用的Grafana还不够成熟,因此暂不考虑;

常用的一种使用场景:监控数据统计。每毫秒记录一下电脑内存的使用情况,然后就可以根据统计的数据,利用图形化界面(InfluxDB V1一般配合Grafana)制作内存使用情况的折线图;可以理解为按时间记录一些数据(常用的监控数据、埋点统计数据等),然后制作图表做统计。

以下是20212月时序数据库排名:

InfluxDB有三大特性:

1). Time Series(时间序列):可以使用与时间有关的相关函数(如最大,最小,求和等)

2). Metrics(度量):可以实时对大量数据进行计算

3. Eevents(事件):它支持任意的事件数据

特点

1).Schemaless(无结构),可以是任意数量的列

2).Scalable(可扩展):min,max,sum,count,mean,median 一系列函数,方便统计

3).Native HTTP API, 内置http支持,使用http读写

4).Powerful Query Language 类似sql

5). Built-in Explorer 自带管理工具,功能强大

4.influxdb 安装

#下载

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.3.x86_64.rpm

#安装

sudo yum -y localinstall influxdb-1.8.3.x86_64.rpm

#启动

Influxd(临时后台启动)

systemctl start influxd(后台启动)

默认端口为Web8083 , API8086 , 默认登陆信息admin

5.Telegraf介绍

Telegraf 是一个插件驱动的服务器代理,用于从数据库、系统和 IoT 传感器收集和发送指标和事件。

Telegraf 是用 Go 编写的,可以编译成一个没有外部依赖关系的二进制文件,并且需要非常小的内存占用。并写入到 InfluxDB数据库 , 在需要监控的机器上安装

为什么要用telegrafinfluxdb

①、在数据采集和平台监控系统中,Telegraf 可以采集多种组件的运行信息,而不需要自己手写脚本定时采集,降低数据获取的难度;

②、Telegraf 配置简单,只要有基本的 Linux 基础即可快速上手;

③、Telegraf 按照时间序列采集数据,数据结构中包含时序信息,influxdb就是为此类数据设计而来,使用 Influxdb 可以针采集得到的数据完成各种分析计算操作;

6.Telegraf安装

#下载

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.8.3-1.x86_64.rpm

#安装

sudo yum localinstall telegraf-1.8.3-1.x86_64.rpm

#启动

systemctl start telegraf

4).centos7-timescaledb插件安装(基于postgresql12

https://blog.youkuaiyun.com/eryou_979/article/details/117966613

7.配置

三者之间的关系为:telegraf(监控数据收集)->influxdb(监控数据存储)->(监控数据展示)

1).配置telegraf

#数据源配置(outputs.influxdb节点)

[[outputs.influxdb]]
  urls = ["http://192.168.18.118:8086"]  #infulxdb地址
  database = "telegraf" #数据库
  precision = "s"
  timeout = "5s"
  username = "admin" #帐号
  password = "admin" #密码
 

# cpu配置(inputs.cpu节点):

[[inputs.cpu]]
  ## Whether to report per-cpu stats or not
  percpu = true
  ## Whether to report total system cpu stats or not
  totalcpu = true
 
测试配置是否成功
示例
 

# 测试 /etc/telegraf/telegraf.conf 配置文件中输入 cpu 配置是否正确

telegraf  -config /etc/telegraf/telegraf.conf -input-filter cpu -test

# 测试 /etc/telegraf/telegraf.conf 输出 influxdb 配置是否正确

telegraf  -config /etc/telegraf/telegraf.conf -output-filter influxdb -test

# 测试 /etc/telegraf/telegraf.d/mysql.conf 输入 cpu 和输出 influxdb 配置是否正确

telegraf  -config /etc/telegraf/telegraf.d/mysql.conf -input-filter cpu  -output-filter influxdb -test

2).grafana告警配置

#Grafana配置SMTP账户

vim /etc/grafana/grafana.ini

[smtp]

enabled = true                 #启用smtp
host = smtp.qq.com:465         #qq smtp服务地址
user = 709****53@qq.com       #qq邮箱用户名
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = **********          #授权密码
from_address = 709****53@qq.com  #邮件From地址,和登录用户一致即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值