Nightingale滴滴夜莺监控系统入门(四)--聊聊夜莺的后端储存

2023-11-04

Nightingale滴滴夜莺监控系统入门(四)—聊聊夜莺的后端储存

1-默认版本

默认是使用夜莺的两个组件来实现:TSDB+INDEX

TSDB实际上使用的是老牌的图形数据库rrdtool,记录ts和value,有很多老牌的监控使用比如Cacti;INDEX是索引模块,夜莺把监控metric记录在这里,查询数据的时候是通过索引去查询;

存储目录分别对应
TSDB:/home/n9e/data
INDEX:/home/n9e/.index

[root@n9e data]# tree
.
└── 8011
    ├── 00
    │   └── 008eda9f02684c8e39c600da1d70c0d3_GAUGE_30.rrd
    ├── 03
    │   └── 0390f9f1acaf9d6856ead184fdbce879_GAUGE_30.rrd
    └─── 04
        └── 0449c36de47cbf0c000b1f441cc62b30_GAUGE_30.rrd
[root@n9e .index]# tree
.
└── db
    ├── endpoint
    │   └── 192.168.21.216
    └── nid
        ├── 15
        ├── 16
        └── 17

优点:

  • .rrd文件是新增metric就被新建了,且文件大小不会随数据增多而增加,新数据是被插到环形图里;利于后期维护,避免磁盘不足数据无法写入的情况;
  • 新数据保存在内存中,可以设置保存近N个时间内的数据存在内存,提高查询效率;
  • tsdb会降采样,老数据会有归档策略;
  • 时序数据库的使用肯定是比zabbix这种还在用关系型数据库的监控要高效的多;

缺点:

  • 对磁盘IO要求较高,滴滴内部用的是NVME的固态;
  • 多节点时,index支持集群部署,但是全量索引;

tsdb也支持多集群多写,index+tsdb的这种形式是经过滴滴,小米这些公司生产验证过,稳定性还是可以的。

2-M3DB

从3.X版本以后,夜莺开始支持M3DB,而且也是被强烈推荐


M3DB是UBER开源出来的,m3在uber声称存储了66亿监控指标,有点牛皮。

2-2 安装M3DB

安装单节点的m3

1,下载夜莺团队打包好的压缩文件
[root@n9e home]# wget https://s3-gz01.didistatic.com/n9e-pub/tarball/m3dbnode-single-v0.0.1.tar.gz
[root@n9e home
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nightingale滴滴夜莺监控系统入门(四)--聊聊夜莺的后端储存 的相关文章

  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • 大多数 Linux 系统头文件与 C++ 兼容吗?

    大多数 Linux 系统头文件 API C 兼容吗 今天我试图做这样的事情 include
  • Linux中的定时器类

    我需要一个计时器来以相对较低的分辨率执行回调 在 Linux 中实现此类 C 计时器类的最佳方法是什么 有我可以使用的库吗 如果您在框架 Glib Qt Wx 内编写 那么您已经拥有一个具有定时回调功能的事件循环 我认为情况并非如此 如果您
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100
  • fopen 不返回

    我在 C 程序中使用 fopen 以只读模式 r 打开文件 但就我而言 我观察到 fopen 调用没有返回 它不返回 NULL 或有效指针 执行在 fopen 调用时被阻止 文件补丁绝对正确 我已经验证过 并且不存在与权限相关的问题 任何人
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两
  • 如何将目录及其子目录中的所有 PDF 文件复制到一个位置?

    如何全部复制PDF文件从目录及其子目录到单个目录 实际上还有更多的文件 并且深度有些任意 假设四个目录的最大深度是公平的 我想这些文件需要重命名 如果a pdf例如 位于多个目录中 因为我会adding https ebooks stack
  • Linux 内核标识符中前导和尾随下划线的含义是什么?

    我不断遇到一些小约定 比如 KERNEL Are the 在这种情况下 是内核开发人员使用的命名约定 还是以这种方式命名宏的语法特定原因 整个代码中有很多这样的例子 例如 某些函数和变量以 甚至 这有什么具体原因吗 它似乎被广泛使用 我只需
  • Linux:在文件保存时触发 Shell 命令

    我想在修改文件时自动触发 shell 命令 我认为这可以通过注册 inotify 挂钩并调用来在代码中完成system 但是是否有更高级别的 bash 命令可以完成此任务 尝试 inotify 工具 我在复制链接时遇到问题 抱歉 但 Git
  • iptables通过注释删除特定规则

    我需要删除一些具有相同评论的规则 例如 我有带有 comment test it 的规则 所以我可以像这样获得它们的列表 sudo iptables t nat L grep test it 但是我怎样才能删除所有带有注释 测试它 的 PR
  • 有谁知道在哪里定义硬件、版本和序列号。 /proc/cpuinfo 的字段?

    我想确保我的 proc cpuinfo 是准确的 目前它输出 Hardware am335xevm Revision 0000 Serial 0000000000000000 我可以在代码中的哪里更改它以给出实际值 这取决于 Linux 的
  • ubuntu:升级软件(cmake)-版本消歧(本地编译)[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我的机器上安装了 cmake 2 8 0 来自 ubuntu 软件包 二进制文件放置在 usr bin cmake 中 我需要将 cmake 版本至少

随机推荐

  • python矩阵_Python矩阵

    python矩阵 In this tutorial we will learn about Python Matrix In our previous tutorial we learnt about Python JSON operati
  • 【python 学习 01】命名规范

    命名其实是一个非常重要的事 根据Python之父Guido推荐的命名规范包括如下几点 包名 模块名 局部变量名 函数名 全小写 下划线式驼峰 example this is var 全局变量 全大写 下划线式驼峰 example GLOBA
  • Zabbix---5 监控linux服务器目录大小

    例如监控 root data 目录 一 添加自己脚本 root localhost sbin pwd usr local sbin root localhost sbin cat dir size sh bin bash du m root
  • STM32的CAN总线的接收双FIFO使用方法

    通过下面的框图我们可以看到 STM32F013有两个接收FIFO 但是实际的使用中如何让着两个FIFO都被使用呢 解决办法就在这里 1 STM32F103有0 13共14个过滤器组 每个过滤器组都可以绑定指定的FIFO 2 特别需要注意的一
  • K8s学习笔记二:Ubuntu安装minikube以及K8s简单体验

    Ubuntu安装minikube官方文档看这里 完成Docker十分钟了解Docker 我的Docker学习笔记 和kubectlUbuntu安装kubectl的下载安装后 就可以进行minikube的安装了 它能够帮助我们在本地非常容易的
  • 20145334 《信息安全系统设计基础》第8周学习总结

    转眼已经到了期中复习 听弟弟妹妹们说他们要期中考试了 我们大三上学期的课程也已经过半 考试试题 发现问题及时沟通 首先看一下每周检测解析 这个是比较重要的内容 也是复习和巩固所学知识点的好帮手 下面是老师给出的解析链接 https grou
  • 【mac 安全渗透测试】之SQL注入Demo

    一 关于sqlmap的介绍 1 SQLmap工具简介 SQLmap是一款开源的SQL注入漏洞检测 利用工具 可以检测动态页面中get post参数 cookie http头 它由Python语言开发而成 运行需要安装python环境 在ka
  • arm64架构的linux中断分析(零)

    文章目录 1 中断的概念和作用 2 Linux中断处理机制 2 1 中断请求 2 2 中断处理 2 3 中断完成 2 4 中断触发和处理步骤详解 2 4 1 异常向量表的解读 3 GICv3中断控制器 3 1 GICv3中断控制器设备树 3
  • 触摸屏tslib库交叉编译并移植ARM校准测试

    本文介绍 触摸屏tslib库交叉编译并移植ARM 校准及测试 下载tslib Tags libts tslib GitHub 在tslib的官方github上选择一个版本下载即可 本实验版本为 tslib 1 12 tar gz 1 配置
  • Chisel教程——04.Chisel中的控制流

    控制流 动机 本系列到目前为止 Chisel中的软硬件之间都有很强的对应关系 但引入控制流之后就不一样了 对软硬件的看法就应该有很大的分歧了 本节会在生成器软件和硬件中都引入控制流 如果重新连接到一个Chisel连线会怎么样呢 如何让一个多
  • normalize.css公共样式(vue)

    目录 一 npm安装 二 main ts或者main js引入 三 代码 1 main ts 2 main js 一 npm安装 npm i normalize css 二 main ts或者main js引入 import normali
  • Java在配置环境变量中的 . 是什么意思

    在CLASSPATH中 点号 表示当前目录 举例 CLASSPATH D JAVA LIB C DOC JavaT 这个路径就是包含多个可供选择的查询路径 它们之间用分号 分隔开 更具体的内容可以查阅 Java编程思想 第四版 P112 P
  • 【满分】【华为OD机试真题2023 JS】异常的打卡记录

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 异常的打卡记录 知识点数组字符串哈希表循环 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 考勤记录是分析和考核职工工作时间利用情况的原始依据 也是计算职工工资的
  • 树的遍历(一题直接理解中序、后序、层序遍历,以及树的存储)

    题目如下 一个二叉树 树中每个节点的权值互不相同 现在给出它的后序遍历和中序遍历 请你输出它的层序遍历 输入格式 第一行包含整数 N 表示二叉树的节点数 第二行包含 N 个整数 表示二叉树的后序遍历 第三行包含 N 个整数 表示二叉树的中序
  • idea 编译突然报, java: 需要‘;‘

    这个和文件没关系 就是编码编译的时候不对了 需要idea设置下就完美解决了
  • mingw编译出C++正则表达式失效

    代码 include
  • GC 垃圾回收机制

    这里写自定义目录标题 描述一下 GC 的原理和回收策略 Java 中有四种引用类型 GC 如何判断对象的存活 引用计数算法 可达性分析 新生代 新时代又分3个部分 8 1 1 老年代 回收算法 标记 清除 标记 整理 复制 堆内存分配策略
  • 两个ESP8266相互通信

    ESP8266共有3种模式 STA AP STA AP STA ESP8266设备作客户端 AP ESP8266设备作服务器 STA AP 混合模式 服务器端ESP8266配置流程 1 配置AP模式 查询指令 AT CWMODE 功能 查询
  • java模块设计与实现_Java两个通用安全模块的设计与实现(SQL)

    3 系统方案设计 3 1 功能模块流程图 为了方便系统方案的设计与功能的开发 在方案设计前 根据前面的需求分析 将系统的功能划分为口令部分功能模块和文件安全传输部分功能模块 这两个模块又各自细分为各个小模块 各小模块的功能流程图如下 一 口
  • Nightingale滴滴夜莺监控系统入门(四)--聊聊夜莺的后端储存

    Nightingale滴滴夜莺监控系统入门 四 聊聊夜莺的后端储存 1 默认版本 默认是使用夜莺的两个组件来实现 TSDB INDEX TSDB实际上使用的是老牌的图形数据库rrdtool 记录ts和value 有很多老牌的监控使用比如Ca