Nightingale 夜莺监控系统 您所在的位置:网站首页 夜莺的莺有几画 Nightingale 夜莺监控系统

Nightingale 夜莺监控系统

2024-03-20 16:10| 来源: 网络整理| 查看: 265

Nightingale

Author:rab

官方文档:https://flashcat.cloud/docs

目录 一、概述二、架构2.1 中心机房架构2.2 边缘下沉式混杂架构 三、环境四、部署4.1 中心机房架构部署4.1.1 MySQL4.1.2 Redis4.1.3 Prometheus4.1.4 n9e4.1.5 Categraf4.1.6 验证4.1.7 配置数据源 4.2 边缘下沉式混杂部署4.2.1 架构分析4.2.2 实验环境4.2.3 Prometheus4.2.4 n9e-edge4.2.5 Categraf4.2.6 验证 总结

一、概述

以下为夜莺官方解释。

夜莺监控是一款开源云原生观测分析工具,采用 All-in-One 的设计理念,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力。夜莺于 2020 年 3 月 20 日,在 github 上发布 v1 版本,已累计迭代 100 多个版本。

夜莺最初由滴滴开发和开源,并于 2022 年 5 月 11 日,捐赠予中国计算机学会开源发展委员会(CCF ODC),为 CCF ODC 成立后接受捐赠的第一个开源项目。夜莺的核心研发团队,也是 Open-Falcon 项目原核心研发人员。

二、架构 2.1 中心机房架构

image-20240108205038365

首先上图中间的飞鸟代表夜莺的核心进程 n9e (下文以 n9e 代替),它的集群方式非常简单只需部署多节点即可实现。

对于 n9e 来说,它本身依赖的存储有两个

Mysql : 存放配置类别信息,如用户,监控大盘,告警规则等Redis : 存放访问令牌(JWT Token),心跳信息,如机器列表中 CPU、内存、时间偏移、核数、操作系统、CPU 架构等。

从 v6 版本开始,夜莺尝试转型为统一可观测性平台,n9e 不再仅支持接入时序数据源(Prometheus、Victoriametrics、M3DB、Thanos),也可以接入日志类数据源(Elasticsearch,Loki【预】),链路追踪数据源(Jaeger)。

这种中心架构还有一种就是:将 Prometheus、Thanos、VictoriaMetrics、M3DB、Mimir 等某个时序库作为夜莺的数据源,即只使用夜莺的告警管理功能。

image-20240108231154005

但是本次我们并不使用时序数据库“作为数据源”的这种方式,而是采用夜莺接收数据并存储到时序数据库的方式!

当然了,作为后端时序数据存储的 prometheus 也是可以在该架构中用作数据源,这样的话,n9e 不仅能展示数据,也能读取 prometheus 数据进行告警。

2.2 边缘下沉式混杂架构

image-20240108205100257

从 v6.0.0.ga.9 开始,合并了 n9e-alert、n9e-pushgw 模块为 n9e-edge,应对边缘机房的场景。n9e-edge 不依赖 mysql、redis,只依赖中心端的 n9e,所以 edge.toml 配置文件里,需要配置中心端 n9e 的地址。

三、环境

1、主机

OSVersionCommentRocky Linux8.5/4.18.0-

2、服务

ServiceVersionCommentn9e6.7.2夜莺 - 服务端(数据展示)Categraf0.3.45夜莺 - 客户端(数据采集)MySQL5.7.36DB 存储Redis6.2.6DB 缓存Prometheus2.37.0时序数据库

时序数据存储选型:官方建议 VictoriaMetrics,但得根据你的实际业务场景来决定,如果你已经有 Prometheus 服务了,那也可以继续使用 Prometheus 直接作为数据源,如果没有,则可选择 VictoriaMetrics 作为时序库。

3、服务部署方式

DB 我采用 Docker 部署(当然你也可以采用其他方式部署),其他采用二进制部署!

四、部署 4.1 中心机房架构部署 4.1.1 MySQL

MySQL 用于存储用户、监控大盘、告警规则等。

# 部署过程略,本次通过shell脚本化部署

image-20240108210220829

4.1.2 Redis

存放访问令牌(JWT Token),心跳信息,如机器列表中CPU、内存、时间偏移、核数、操作系统、CPU架构等。

# 部署过程略,本次通过shell脚本化部署

image-20240108210220829

4.1.3 Prometheus

作为时序库接收 remote write 协议的数据,即夜莺收到时序数据之后,会将时序数据写入 Prometheus 中。夜莺也可以同时将此时的时序库用作 n9e 的数据源。

1、二进制包下载

二进制包下载:https://prometheus.io/download/

image-20240109090747109

2、解药安装包

tar xf prometheus-2.45.2.linux-amd64.tar.gz -C /data/

3、配置 Systemd 管理

注意:启动 Prometheus 时需要在启动参数里添加 --enable-feature=remote-write-receiver ,否则夜莺转发数据的时候会报 404,因为没有这个参数,Prometheus 就不会开启 /api/v1/write 接口的处理监听。

cat


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有