当前位置: 首页 > news >正文

使用 Prometheus 访问 TDengine ---

在这里插入图片描述

Prometheus 是一款流行的开源监控告警系统。Prometheus 于 2016 年加入了 Cloud Native Computing Foundation(云原生云计算基金会,简称 CNCF),成为继 Kubernetes 之后的第二个托管项目,该项目拥有非常活跃的开发人员和用户社区。

Prometheus 提供了 remote_writeremote_read 接口来利用其它数据库产品作为它的存储引擎。为了让 Prometheus 生态圈的用户能够利用 TDengine 的高效写入和查询,TDengine 也提供了对这两个接口的支持。

通过适当的配置,Prometheus 的数据可以通过 remote_write 接口存储到 TDengine 中,也可以通过 remote_read 接口来查询存储在 TDengine 中的数据,充分利用 TDengine 对时序数据的高效存储查询性能和集群处理能力。

前置条件

要将 Prometheus 数据写入 TDengine 需要以下几方面的准备工作。

  • TDengine 集群已经部署并正常运行
  • taosAdapter 已经安装并正常运行。具体细节请参考 taosAdapter 的使用手册
  • Prometheus 已经安装。安装 Prometheus 请参考 官方文档

配置步骤

配置 Prometheus 是通过编辑 Prometheus 配置文件 prometheus.yml(默认位置 /etc/prometheus/prometheus.yml)完成的。

配置第三方数据库地址

将其中的 remote_read url 和 remote_write url 指向运行 taosAdapter 服务的服务器域名或 IP 地址,REST 服务端口(taosAdapter 默认使用 6041),以及希望写入 TDengine 的数据库名称,并确保相应的 URL 形式如下:

  • remote_read url : http://<taosAdapter's host>:<REST service port>/prometheus/v1/remote_read/<database name>
  • remote_write url : http://<taosAdapter's host>:<REST service port>/prometheus/v1/remote_write/<database name>
配置 Basic 验证
  • username: <TDengine’s username>
  • password: <TDengine’s password>
prometheus.yml 文件中 remote_write 和 remote_read 相关部分配置示例
remote_write:- url: "http://localhost:6041/prometheus/v1/remote_write/prometheus_data"basic_auth:username: rootpassword: taosdataremote_read:- url: "http://localhost:6041/prometheus/v1/remote_read/prometheus_data"basic_auth:username: rootpassword: taosdataremote_timeout: 10sread_recent: true

验证方法

重启 Prometheus 后可参考以下示例验证从 Prometheus 向 TDengine 写入数据并能够正确读出。

使用 TDengine CLI 查询写入数据

taos> show databases;name              |
=================================information_schema             |performance_schema             |prometheus_data                |
Query OK, 3 row(s) in set (0.000585s)taos> use prometheus_data;
Database changed.taos> show stables;name              |
=================================metrics                        |
Query OK, 1 row(s) in set (0.000487s)taos> select * from metrics limit 10;ts               |           value           |             labels             |
=============================================================================================2022-04-20 07:21:09.193000000 |               0.000024996 | {"__name__":"go_gc_duration... |2022-04-20 07:21:14.193000000 |               0.000024996 | {"__name__":"go_gc_duration... |2022-04-20 07:21:19.193000000 |               0.000024996 | {"__name__":"go_gc_duration... |2022-04-20 07:21:24.193000000 |               0.000024996 | {"__name__":"go_gc_duration... |2022-04-20 07:21:29.193000000 |               0.000024996 | {"__name__":"go_gc_duration... |2022-04-20 07:21:09.193000000 |               0.000054249 | {"__name__":"go_gc_duration... |2022-04-20 07:21:14.193000000 |               0.000054249 | {"__name__":"go_gc_duration... |2022-04-20 07:21:19.193000000 |               0.000054249 | {"__name__":"go_gc_duration... |2022-04-20 07:21:24.193000000 |               0.000054249 | {"__name__":"go_gc_duration... |2022-04-20 07:21:29.193000000 |               0.000054249 | {"__name__":"go_gc_duration... |
Query OK, 10 row(s) in set (0.011146s)

使用 promql-cli 通过 remote_read 从 TDengine 读取数据

安装 promql-cli

 go install github.com/nalbury/promql-cli@latest

在 TDengine 和 taosAdapter 服务运行状态对 Prometheus 数据进行查询

ubuntu@shuduo-1804 ~ $ promql-cli --host "http://127.0.0.1:9090" "sum(up) by (job)"
JOB           VALUE    TIMESTAMP
prometheus    1        2022-04-20T08:05:26Z
node          1        2022-04-20T08:05:26Z

暂停 taosAdapter 服务后对 Prometheus 数据进行查询

ubuntu@shuduo-1804 ~ $ sudo systemctl stop taosadapter.service
ubuntu@shuduo-1804 ~ $ promql-cli --host "http://127.0.0.1:9090" "sum(up) by (job)"
VALUE    TIMESTAMP

提示:

  • TDengine 默认生成的子表名是根据规则生成的唯一 ID 值。

访问官网

更多内容欢迎访问 TDengine 官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/254863.html

相关文章:

  • 计算机导论期末快速复习指南
  • 第一章 SQL编程系列-数据库介绍与安装
  • Unity UI 核心类解析之Graphic
  • crawl4ai 框架的入门讲解和实战指南——基于Python的智能爬虫框架,集成AI(如NLP/OCR)实现自动化数据采集与处理
  • DDS 问题排查
  • 基于自然语言处理的智能问答系统(模型训练+部署测试)
  • 【图片识别改名】批量识别图片中的文字对图片进行改名,识别文字对图片重新命名的操作步骤和注意事项
  • python学智能算法(十四)|机器学习朴素贝叶斯方法进阶-CountVectorizer文本处理简单测试
  • CD45.【C++ Dev】STL库的list的使用
  • 前端基础知识CSS系列 - 14(CSS提高性能的方法)
  • windows,java后端开发常用软件的下载,使用配置
  • Spring MVC参数绑定终极手册:单多参对象集合JSON文件上传精讲
  • Python 开发环境全栈隔离架构:从 Anaconda 到 PyCharm 的四级防护体系
  • mcp-server-chart Quickstart
  • Android中Native向System Service进行Binder通信的示例
  • Tensorflow推理时遇见PTX错误,安装CUDA及CuDNN, 解决问题!
  • C++实现手写strlen函数
  • 什么是池化
  • 图像特征检测算法ORB
  • C语言标准I/O库详解:文件操作与缓冲区机制
  • vscode设置代码字体
  • 【PX30 Qt 5.15 交叉编译环境搭建完整指南】
  • 动态规划:砝码称重(01背包-闫氏DP分析法)
  • SVN本地使用--管理个人仓库
  • CSS语法中的选择器与属性详解
  • vs code配置go开发环境以及问题解决 could not import cannot find package in GOROOT or GOPATH
  • Linux》》Shell脚本 基本语法
  • Apptrace如何帮我精准追踪移动广告效果?
  • Kernel K-means:让K-means在非线性空间“大显身手”
  • Java数据结构——第 2 章线性表学习笔记