目录
前言" >前言
系统架构" >系统架构
中心汇聚式部署方案" >中心汇聚式部署方案
边缘下沉式混杂部署方案" >边缘下沉式混杂部署方案
单机部署" >单机部署
安装 MySQL" >安装 MySQL
安装 Redis" >安装 Redis
安装 TSDB" >安装 TSDB
安装 N9e" >安装 N9e
安装 Categraf" >安装 Categraf
添加数据源" >添加数据源
总结" >总结
首页 运维 安全 【夜莺监控】初识夜莺,还是强!

【夜莺监控】初识夜莺,还是强!

Jun 09, 2023 am 10:01 AM
开源

【夜莺监控】初识夜莺,还是强!

前言

可观测性是大部分中小公司比较头疼的问题,主要表现以下几个方面:

  1. 需要不同的开源软件来组装以实现不同的功能,比如使用 Skywalking 实现链路监控,使用 ELK 实现日志收集监控,使用 Grafana Prometheus 来实现指标监控。
  2. 每个开源软件背后都是独立的一套体系,它们之前是相互独立的(Grafana 全家桶已经实现组合)。
  3. 数据孤岛,链路、日志、指标各玩各的,没有建立联系。目前市面上的解决方案要么是商业化产品,要么是自研。

本文的主角其实也没有做大一统,目前阶段依然是不同的开源组件实现不同的功能,只不过N9e可以在同一个主面板查看它们,但是数据之间的联系依然没有实现。

那为什么还要学习研究N9e呢?

因为它正在向这方面发展。

上面提到 Grafana 其实已经在做了,基于 Grafana Loki Tempo Prometheus 组合可以实现监控、指标、链路的联动,N9e 和 Grafana 有什么不同呢?

用秦总的话说:Grafana更擅长监控面板的管理,N9e更擅长告警规则的管理。

N9e 可以将不同的告警规则发送到不同的业务组,不同的群体,避免在一个群里产生大量的告警信息,久而久之就上演了狼来了的故事。

说了这么多,N9e到底长啥样?

下面是我部署好的一套系统。

【夜莺监控】初识夜莺,还是强!

可以看到,在该面板上,我们可以实现:

  • 告警管理
  • 时序指标查询
  • 日志分析
  • 链路追踪
  • 告警自愈
  • 人员管理
  • .....

这样就不用几个应用来回切了,方面快捷。

系统架构

说一千到一万,架构不懂都白干。

现在我们来看看 N9e 的架构到底是什么样的,只有从架构逻辑上理清楚 N9e 是怎么玩的,不论是对部署还是维护都大有裨益。

N9e 主要有中心汇聚式部署方案以及边缘下沉式混杂部署方案,下面会分别做解释。

中心汇聚式部署方案

先上图:

【夜莺监控】初识夜莺,还是强!

这种方案就是建立一个 N9e 集群,其他 region 的监控数据都往这一个集群发送数据,这要求中心集群和其他 region 要有很好的网络连接。

对于中心集群来说,主要包括以下组件:

  • MySQL:用于存放配置信息以及告警事件。
  • Redis:用于存储 JWT Token,机器元信息等数据。
  • TSDB:时序数据库,存放监控指标。
  • N9e:核心服务,处理 Web 请求、提供告警引擎
  • LB:为多个 N9e 提供负载功能。

对于其他 Region,只需要部署 Categraf 即可,它会将本地的监控数据推送到中心集群。

这个架构的特点是简单,维护成本比较低。前提是要求机房之间的网络链路要比较好,如果网络不好就要用下面的方案了。

边缘下沉式混杂部署方案

【夜莺监控】初识夜莺,还是强!

这种架构是对中心式部署方案的补充,主要是针对网络不好的情况:

  1. 把时序数据库 TSDB、转发网关、告警引擎都下沉到具体的 Region,由 Region 自己的来处理。不过 Region 依然需要和中心集群建立心跳连接,用户还是可以通过中心集群的监控面板查看其他 Region 的监控信息。
  2. 对于已有 Prometheus 的情况,也可以直接将 Prometheus 作为数据源接入即可。

边缘机房,下沉部署时序库、告警引擎、转发网关的时候,要注意,告警引擎需要依赖数据库,因为要同步告警规则,转发网关也要依赖数据库,因为要注册对象到数据库里去,需要打通相关网络。

!! PS:对于这种方案,本身网络不好,还要打通网络,可能还是会受网络问题影响。

单机部署

为什么这里要选择单机部署呢?

其实我是想挨着部署各个组件,这样对于理解整个 N9e 的运行模式有一定的帮助。

!! Tips:我这里使用的是 Ubuntu 22.04.1 系统

安装 MySQL

!! Tips:为了快速我安装的是 Mariadb

# 更新镜像源
$ sudo apt-get update
# 更新软件
$ sudo apt-get upgrade
# 安装Mariabd
$ sudo apt-get install mariadb-server-10.6
登录后复制

安装完成后会自动启动。然后为数据库设置一个用户密码。

# 连接数据库
$ sudo mysql
# 设置权限和密码
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '1234';
>flush privileges;
登录后复制

安装 Redis

# 更新镜像源
$ sudo apt-get update
# 更新软件
$ sudo apt-get upgrade
# 安装Redis
$ sudo apt install redis-server
登录后复制

默认会自动启动。

安装 TSDB

N9e 的 TSDB 有多种选择:

  • Prometheus
  • M3DB
  • VictoriaMetrics
  • InfluxDB
  • Thanos

这里我选择的是 VictoriaMetrics。

# 下载二进制包
$ wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.90.0/victoria-metrics-linux-amd64-v1.90.0.tar.gz
# 解压
$ tar xf victoria-metrics-linux-amd64-v1.90.0.tar.gz
# 启动
$ nohup ./victoria-metrics-prod &>victoria.log &
登录后复制

观察8428是否启动。

安装 N9e

# 下载最新版本的二进制包
$ wget https://github.com/ccfos/nightingale/releases/download/v6.0.0-ga.3/n9e-v6.0.0-ga.3-linux-amd64.tar.gz
# 解压
$ mkdir n9e
$ tar xf n9e-v6.0.0-ga.3-linux-amd64.tar.gz -C n9e/
# 检验目录如下
$ ll
total 35332
drwxrwxr-x7 jokerbai jokerbai 40964月 12 14:05 ./
drwxr-xr-x4 jokerbai jokerbai 40964月 12 14:05 ../
drwxrwxr-x3 jokerbai jokerbai 40964月 12 14:05 cli/
drwxrwxr-x 10 jokerbai jokerbai 40964月 12 14:05 docker/
drwxrwxr-x4 jokerbai jokerbai 40964月 12 14:09 etc/
drwxrwxr-x 20 jokerbai jokerbai 40964月 12 14:05 integrations/
-rwxr-xr-x1 jokerbai jokerbai 252805124月6 19:05 n9e*
-rwxr-xr-x1 jokerbai jokerbai 108380164月6 19:05 n9e-cli*
-rw-r--r--1 jokerbai jokerbai297844月6 19:04 n9e.sql
drwxrwxr-x6 jokerbai jokerbai 40964月 12 14:05 pub/
登录后复制

然后导入 N9e 的数据库。

# 导入数据库
$ mysql -uroot -p <n9e.sql
登录后复制

修改 N9e 的配置文件,在当前目录 etc/config.toml 文件中。

[[Pushgw.Writers]]
# Url = "http://127.0.0.1:8480/insert/0/prometheus/api/v1/write"
Url = "http://127.0.0.1:8428/api/v1/write"
登录后复制

然后启动 N9e 服务。

# 启动服务
$ nohup ./n9e &>n9e.log &
# 检测17000端口是否启动
$ ss -ntl | grep 17000
LISTEN 04096 *:17000*:*
登录后复制

在浏览器输入http://127.0.0.1:17000,然后输入用户名root,密码root.2020即可登录系统。

【夜莺监控】初识夜莺,还是强!

安装 Categraf

Categraf 是一个监控采集 Agent,会将采集到的信息推送到 TSDB。

# 下载
$ wget https://download.flashcat.cloud/categraf-v0.2.38-linux-amd64.tar.gz
# 解压
$ tar xf categraf-v0.2.38-linux-amd64.tar.gz
# 进入目录
$ cd categraf-v0.2.38-linux-amd64/
登录后复制

修改配置文件,在 conf/config.toml 中,修改的部分如下:

[[writers]]
url = "http://127.0.0.1:17000/prometheus/v1/write"

[heartbeat]
enable = true
登录后复制

然后启动 Categraf。

$ nohup ./categraf &>categraf.log &
登录后复制

然后就可以在主界面看到基础信息。

【夜莺监控】初识夜莺,还是强!

添加数据源

现在如果去查看时序数据指标,是查询不到的,因为没有添加数据源。

【夜莺监控】初识夜莺,还是强!

在系统配置->数据源处添加数据源,如下:

【夜莺监控】初识夜莺,还是强!

然后就能看到对应的指标数据了。

【夜莺监控】初识夜莺,还是强!

也可以通过内置的仪表盘查看主机的监控数据,如下:

【夜莺监控】初识夜莺,还是强!

总结

这篇文章主要是带搭建对夜莺(Nightingale )有一个初步的印象,对它的整体架构做了简单的介绍,然后带大家从 0 到 1 安装了一遍,旨在让大家对夜莺的组件有一个清晰的认识。

目前夜莺已经更新迭代到 V6 版本,该版本有许多新的功能尝试,比如接入 ELK,接入 Jaeger 等,后续会持续对这个系列进行更新。

以上是【夜莺监控】初识夜莺,还是强!的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

十个推荐开源免费文本标注工具 十个推荐开源免费文本标注工具 Mar 26, 2024 pm 08:20 PM

文本标注工作是将标签或标记与文本中特定内容相对应的工作。其主要目的是为文本提供额外的信息,以便进行更深入的分析和处理,尤其是在人工智能领域。文本标注对于人工智能应用中的监督机器学习任务至关重要。用于训练AI模型,有助更准确地理解自然语言文本信息,提高文本分类、情感分析和语言翻译等任务的性能。通过文本标注,我们可以教AI模型识别文本中的实体、理解上下文,并在出现新的类似数据时做出准确的预测。本文主要推荐一些较好的开源文本标注工具。1.LabelStudiohttps://github.com/Hu

15个值得推荐的开源免费图像标注工具 15个值得推荐的开源免费图像标注工具 Mar 28, 2024 pm 01:21 PM

图像标注是将标签或描述性信息与图像相关联的过程,以赋予图像内容更深层次的含义和解释。这一过程对于机器学习至关重要,它有助于训练视觉模型以更准确地识别图像中的各个元素。通过为图像添加标注,使得计算机能够理解图像背后的语义和上下文,从而提高对图像内容的理解和分析能力。图像标注的应用范围广泛,涵盖了许多领域,如计算机视觉、自然语言处理和图视觉模型具有广泛的应用领域,例如,辅助车辆识别道路上的障碍物,帮助疾病的检测和诊断通过医学图像识别。本文主要推荐一些较好的开源免费的图像标注工具。1.Makesens

推荐:优秀JS开源人脸检测识别项目 推荐:优秀JS开源人脸检测识别项目 Apr 03, 2024 am 11:55 AM

人脸检测识别技术已经是一个比较成熟且应用广泛的技术。而目前最为广泛的互联网应用语言非JS莫属,在Web前端实现人脸检测识别相比后端的人脸识别有优势也有弱势。优势包括减少网络交互、实时识别,大大缩短了用户等待时间,提高了用户体验;弱势是:受到模型大小限制,其中准确率也有限。如何在web端使用js实现人脸检测呢?为了实现Web端人脸识别,需要熟悉相关的编程语言和技术,如JavaScript、HTML、CSS、WebRTC等。同时还需要掌握相关的计算机视觉和人工智能技术。值得注意的是,由于Web端的计

25个AI智能体源码现已公开,灵感来自斯坦福的「虚拟小镇」和《西部世界》 25个AI智能体源码现已公开,灵感来自斯坦福的「虚拟小镇」和《西部世界》 Aug 11, 2023 pm 06:49 PM

熟悉《西部世界》的观众都了解,这部剧设定在未来世界的一个巨大高科技成人主题乐园中,机器人们具备与人类相似的行为能力,能够记忆所见所闻,重复核心故事情节。每天,这些机器人都会被重置,回到初始状态在斯坦福论文《GenerativeAgents:InteractiveSimulacraofHumanBehavior》发布后,这种情景不再仅限于影视剧中,AI已经成功复现了这一场景Smallville的「虚拟小镇」概览图论文地址:https://arxiv.org/pdf/2304.03442v1.pdf

阿里7B多模态文档理解大模型拿下新SOTA 阿里7B多模态文档理解大模型拿下新SOTA Apr 02, 2024 am 11:31 AM

多模态文档理解能力新SOTA!阿里mPLUG团队发布最新开源工作mPLUG-DocOwl1.5,针对高分辨率图片文字识别、通用文档结构理解、指令遵循、外部知识引入四大挑战,提出了一系列解决方案。话不多说,先来看效果。复杂结构的图表一键识别转换为Markdown格式:不同样式的图表都可以:更细节的文字识别和定位也能轻松搞定:还能对文档理解给出详细解释:要知道,“文档理解”目前是大语言模型实现落地的一个重要场景,市面上有很多辅助文档阅读的产品,有的主要通过OCR系统进行文字识别,配合LLM进行文字理

单卡跑Llama 70B快过双卡,微软硬生生把FP6搞到了A100里 | 开源 单卡跑Llama 70B快过双卡,微软硬生生把FP6搞到了A100里 | 开源 Apr 29, 2024 pm 04:55 PM

FP8和更低的浮点数量化精度,不再是H100的“专利”了!老黄想让大家用INT8/INT4,微软DeepSpeed团队在没有英伟达官方支持的条件下,硬生生在A100上跑起FP6。测试结果表明,新方法TC-FPx在A100上的FP6量化,速度接近甚至偶尔超过INT4,而且拥有比后者更高的精度。在此基础之上,还有端到端的大模型支持,目前已经开源并集成到了DeepSpeed等深度学习推理框架中。这一成果对大模型的加速效果也是立竿见影——在这种框架下用单卡跑Llama,吞吐量比双卡还要高2.65倍。一名

1.3ms耗时!清华最新开源移动端神经网络架构 RepViT 1.3ms耗时!清华最新开源移动端神经网络架构 RepViT Mar 11, 2024 pm 12:07 PM

论文地址:https://arxiv.org/abs/2307.09283代码地址:https://github.com/THU-MIG/RepViTRepViT在移动端ViT架构中表现出色,展现出显着的优势。接下来,我们将探讨本研究的贡献所在。文中提到,轻量级ViTs通常比轻量级CNNs在视觉任务上表现得更好,这主要归功于它们的多头自注意力模块(MSHA)可以让模型学习全局表示。然而,轻量级ViTs和轻量级CNNs之间的架构差异尚未得到充分研究。在这项研究中,作者们通过整合轻量级ViTs的有效

刚刚发布!一键生成动漫风格图片的开源模型 刚刚发布!一键生成动漫风格图片的开源模型 Apr 08, 2024 pm 06:01 PM

向大家介绍一个最新的AIGC开源项目——AnimagineXL3.1。这个项目是动漫主题文本到图像模型的最新迭代,旨在为用户提供更加优化和强大的动漫图像生成体验。在AnimagineXL3.1中,开发团队着重优化了几个关键方面,以确保模型在性能和功能上达到新的高度。首先,他们扩展了训练数据,不仅包括了之前版本中的游戏角色数据,还加入许多其他知名动漫系列的数据纳入训练集中。这一举措丰富了模型的知识库,使其能够更全面地理解各种动漫风格和角色。AnimagineXL3.1引入了一组新的特殊标签和美学标

See all articles