前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >grafana + influxdb + telegraf 构建性能监控平台

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

原创
作者头像
七七分享
修改于 2019-05-20 02:34:18
修改于 2019-05-20 02:34:18
1.8K0
举报

原文链接:https://www.relaxheart.cn/to/master/blog?uuid=79

简介

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

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控制台:

代码语言:txt
AI代码解释
复制
[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,设置日志文件目录:

代码语言:txt
AI代码解释
复制
[[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. 启动telegrafundefined通过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们需要我们自行实现,监控平台只需要配置即可。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python 实现定时任务的九种方案
在现代软件开发中,定时任务(Cron Jobs)是确保应用程序按时执行某些操作的重要组成部分。本文将介绍九种在 Python 中实现后台服务定时任务的方案,帮助开发者选择适合自己需求的方法。
Michel_Rolle
2024/09/27
2.7K0
解密python实现定时任务的8种方式
定时任务是编程中常见的需求,它可以按照预定的时间表执行特定的任务或操作。在Python中,有多种方法可以实现定时任务。
雷子
2023/12/20
8450
解密python实现定时任务的8种方式
APScheduler 定时任务调度问题处理
APScheduler 是一个强大的Python库,用于实现定时任务调度。然而,当我们在使用APScheduler时,可能会遇到一个常见的错误:MaxInstancesReachedError。这个错误通常发生在我们设置了大量的任务,而APScheduler无法同时处理所有任务的情况下。在本文中,我将介绍如何优化任务设定,以避免这个错误的产生。
测试开发囤货
2024/02/05
1.5K0
APScheduler 定时任务调度问题处理
pycron:小而美的定时任务调度库
在一个深夜的运维现场,服务器突然宕机,而我正好在处理一个需要定期执行的数据备份任务。这让我想起了一个小而美的Python库:pycron。它不仅让我摆脱了crontab的束缚,还提供了更灵活的定时任务控制能力。
luckpunk
2025/01/15
1600
pycron:小而美的定时任务调度库
Python 实现定时任务的八种方案!
来源:https://www.biaodianfu.com/python-schedule.html
Python编程与实战
2021/10/12
34.1K0
Python自动化爬虫:Scrapy+APScheduler定时任务
在数据采集领域,定时爬取网页数据是一项常见需求。例如,新闻网站每日更新、电商价格监控、社交媒体舆情分析等场景,都需要定时执行爬虫任务。Python的Scrapy框架是强大的爬虫工具,而APScheduler则提供了灵活的任务调度功能。
小白学大数据
2025/04/11
1040
Python定时任务框架之Apscheduler 案例分享
  前面已经讲过Celery做定时任务的场景,现在分享另一个框架Apscheduler。Apscheduler的全称是Advanced Python Scheduler。它是一个轻量级的 Python 定时任务调度框架。同时,它还支持异步执行、后台执行调度任务。本人小小的建议是一般项目用APScheduler,因为不用像Celery那样再单独启动worker、beat进程,而且API也很简洁。
全栈测试开发日记
2023/02/02
1.8K0
Python定时任务框架之Apscheduler 案例分享
Python定时任务神器-APScheduler
但是这些定时任务库都只是提供了简答的,或者只支持静态的定时任务。而对于需要复杂定时功能,或者动态注册定时任务的场景,则无法满足。
上帝De助手
2019/09/17
3.1K0
太好用了!Python 定时任务调度框架 APScheduler 详解!
我们在工作过程中,可能会遇到有定时任务的需求。大部分定时任务偏向 数据采集、消息提醒、邮件自动发送、数据指标统计 等场景。
Python兴趣圈
2023/12/11
6.7K0
太好用了!Python 定时任务调度框架 APScheduler 详解!
python定时任务最强框架APScheduler详细教程
上次测试女神听了我的建议,已经做好了要给项目添加定时任务的决定了。但是之前提供的四种方式中,她不知道具体选择哪一个。为了和女神更近一步,我把我入行近10年收藏的干货免费拿出来分享给女神,希望女神凌晨2点再找我的时候,不再是因为要给他调程序了。
无涯WuYa
2020/07/15
8.3K0
python定时任务最强框架APScheduler详细教程
日夕如是寒暑不间,基于Python3+Tornado6+APScheduler/Celery打造并发异步动态定时任务轮询服务
    定时任务的典型落地场景在各行业中都很普遍,比如支付系统中,支付过程中因为网络或者其他因素导致出现掉单、卡单的情况,账单变成了“单边账”,这种情况对于支付用户来说,毫无疑问是灾难级别的体验,明明自己付了钱,扣了款,但是订单状态却未发生变化。所以,每一笔订单的支付任务流程中都需要一个定时轮询的备选方案,一旦支付中发生问题,定时轮询服务就可以及时发现和更正订单状态。
用户9127725
2022/08/08
7270
Python基于APScheduler实现定时任务
Python这个语言的优势就在于有丰富的第三方库,既然原生实现有这样那样的缺点,我们可以借助第三方库来实现定时任务。
Steve Wang
2021/12/20
2.6K0
高效定时任务处理:深入学习Python中APScheduler库的奥秘
APScheduler是Python中一个强大的第三方库,用于在后台执行定时任务。它允许我们根据设定的时间间隔、日期规则或特定时间来执行任务,适用于定时执行脚本、定时发送邮件、定时处理数据等场景。APScheduler的功能使得在Python中实现定时任务变得非常简单和高效。本文将从入门到精通地介绍APScheduler库的使用方法,带你掌握在Python中实现定时任务的技巧。
子午Python
2023/08/14
3.3K0
Python定时任务实现方式
 最简单的方式,在循环里放入要执行的任务,然后sleep一段时间再执行。缺点是,不容易控制,而且sleep是个阻塞函数
菲宇
2019/06/13
2.1K0
C#/.NET/.NET Core定时任务调度的方法或者组件有哪些--Timer,FluentScheduler还是...
原文由Rector首发于 码友网 之 《C#/.NET/.NET Core应用程序编程中实现定时任务调度的方法或者组件有哪些,Timer,FluentScheduler,TaskScheduler,Gofer.NET,Coravel,Quartz.NET还是Hangfire》
Rector
2020/06/19
3.5K0
Java & Go 定时任务
定时任务是软件开发中用于自动执行周期性任务的技术。它允许开发者设置特定的时间点或间隔来触发预定的操作,如数据备份、清理缓存、发送通知等。这种机制可以减少人工干预,提高系统效率和稳定性。定时任务在不同的操作系统和编程环境中有不同的实现方式,例如Linux的cron作业、Windows的任务计划程序,或是编程语言中的相关库。它们帮助自动化重复性工作,确保关键任务按时执行,是现代应用程序不可或缺的组成部分。
FunTester
2024/07/30
1960
Java & Go 定时任务
Flask 学习-86.Flask-APScheduler 创建定时任务
Flask-APScheduler是根据APScheduler编写的一个flask模块,它提供了API管理任务。
上海-悠悠
2023/01/03
2.1K0
Python中的任务调度库
•schedule•python-crontab•APScheduler•Celery•Django Q
追马
2020/08/04
1.6K0
.NET有哪些好用的定时任务调度框架
定时任务调度的相关业务在日常工作开发中是一个十分常见的需求,经常有小伙伴们在技术群提问:有什么好用的定时任务调度框架推荐的?今天大姚给大家分享5个.NET开源、简单、易用、免费的任务调度框架,帮助大家在做定时任务调度框架技术选型的时候有一个参考。
追逐时光者
2024/05/09
3860
.NET有哪些好用的定时任务调度框架
八种用Python实现定时执行任务的方案,一定有你用得到的!
我们在日常工作中,常常会用到需要周期性执行的任务。 一种方式是采用 Linux 系统自带的 crond 结合命令行实现; 一种方式是直接使用Python; 于是我把常见的Python定时任务实现方法整理了一下,希望对大家有所帮助。
全栈程序员站长
2022/09/07
2.9K0
八种用Python实现定时执行任务的方案,一定有你用得到的!
推荐阅读
相关推荐
Python 实现定时任务的九种方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档