nightingale-0-介绍单机二进制部署
(一) 夜莺介绍
Nightingale | 夜莺监控,一款先进的开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力。于 2022 年 5 月 11 日,捐赠予中国计算机学会开源发展委员会(CCF ODC),为 CCF ODC 成立后接受捐赠的首个开源项目。
官网链接:快猫星云Flashcat | 云原生监控 | 混合云监控 | 稳定性保障体系
Flashcat平台可以解决的痛点问题:
1、统计监控难:构建统一的观测平台
- 物理机、微服务、云原生架构
- 公有云、私有云、多云
- Metrics、Logging、Tracing
2、故障定位慢:构建实时的故障定位系统
- 总是后于用户反馈发现故障
- 难以快速确认故障影响面
- 难以快速找到故障的直接原因
- 故障处理进度不透明
Categraf:
快猫采集器 Categraf 是一款 MIT 协议的开源软件,支持近百个插件,指标、日志、链路数据均可对接采集,All-in-one,开箱即用。
- 作为Agent运行采集机器性能指标
- 中心式探针,作为网络探针,采集各类中间件数据库的指标
- Sidecar模式采集业务指标
(二) 夜莺部署安装架构
现在夜莺的版本已经更新迭代到V6版本
Ninghtingale下载地址:Nightingale
Categraf下载地址:Categraf
Categraf官方github地址
2.1、部署架构图
比较常用的中心汇聚部署方案
组件功能介绍
- MySQL:存储告警信息,配置信息,告警规则,用户信息等;
- Redis:存储一些验证信息,JWT的token,metadata元信息,元数据,心跳信息等;
- TSDB:时序数据库(可以支持Prometheus、M3DB、VictoriaMetrics、Thanos等);
- N9E:Nightingale | 夜莺监控,一款先进的开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力。于 2022 年 5 月 11 日,捐赠予中国计算机学会开源发展委员会(CCF ODC),为 CCF ODC 成立后接受捐赠的首个开源项目,Nightingale 可以接收各种采集器上报的监控数据,转存到时序库(可以支持Prometheus、M3DB、VictoriaMetrics、Thanos等),并提供告警规则、屏蔽规则、订阅规则的配置能力,提供监控数据的查看能力,提供告警自愈机制(告警触发之后自动回调某个webhook地址或者执行某个脚本),提供历史告警事件的存储管理、分组查看的能力,n9e可以做集群,多个n9e分担告警规则的处理和压力,n9e也分为无状态和有状态服务。
- LB:负责多个n9e的负载均衡;使用7层代理;
- categraf:是夜莺监控的默认的自制的数据采集器;
针对网络链路不好的边缘下沉式混杂部署方案
2.2、部署n9e+categraf+VictoriaMetrics+mysql+redis中心化二进制单机部署夜莺
1)下载部署N9E:
下载安装部署MySQL和Redis
# INSTALL MySQL
yum -y install mariadb*
systemctl enable mariadb
systemctl start mariadb
mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1234');"
# 权限有问题就执行下这个
mysql -uroot -p1234
grant all on *.* to 'root'@'%';
grant all on *.* to 'root'@'127.0.0.1';# INSTALL Redis
yum -y install redis
systemctl enable redis
systemctl restart redis
下载N9E部署包并导入sql
mkdir -p /opt/n9e && cd /opt/n9e
wget https://download.flashcat.cloud/n9e-v6.0.0-ga.4.1-linux-amd64.tar.gz
tar -zxf n9e-v6.0.0-ga.4.1-linux-amd64.tar.gz -C /opt/n9e
mysql -uroot -p1234 < n9e.sql
# 启动n9e,并且查看日志,检查启动是否正常,默认端口17000
nohup ./n9e &> n9e.log &
tailf n9e.log
netstat -antp |grep :17000
如果启动成功,n9e 默认会监听在 17000 端口。上面使用 nohup 简单演示,生产环境建议用 systemd 托管。
配置文件在当前目录 etc/config.toml 中含有 mysql 的连接地址配置,如果连接数据库报错,可以检查一下用户名和密码
夜莺服务端部署好之后,浏览器访问 17000 就可以体验相关功能了,默认用户是 root,密码是 root.2020
2)下载部署categraf:
mkdir /opt/categraf && cd /opt/categraf
wget https://download.flashcat.cloud/categraf-v0.2.39-linux-amd64.tar.gz
tar -zxf categraf-v0.2.39-linux-amd64.tar.gz -C /opt/categraf/
cp -a conf/categraf.service /usr/lib/systemd/system/
systemctl start categraf
journalctl -efu categraf
systemctl status categraf
解压完毕后会发现有一个可执行文件categraf和一个文件夹conf,conf文件下面有很多input的文件夹,里面都是每一个插件的配置文件(xxx.toml)config.toml是主配置文件,把systemd管理的启动文件直接拷贝过去启动
浏览器访问本机IP:17000端口
3)安装VictoriaMetrics,配置对接数据源
VictoriaMetrics官方文档
Github下载地址
VictoriaMetrics 架构简单,可靠性高,在性能,成本,可扩展性方面表现出色,社区活跃,且和 Prometheus 生态绑定紧密。如果单机版本的 Prometheus 无法在容量上满足贵司的需求,可以使用 VictoriaMetrics 作为时序数据库。
VictoriaMetrics 提供单机版和集群版[https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html]。如果您的每秒写入数据点数小于100万(这个数量是个什么概念呢,如果只是做机器设备的监控,每个机器差不多采集200个指标,采集频率是10秒的话每台机器每秒采集20个指标左右,100万/20=5万台机器),VictoriaMetrics 官方默认推荐您使用单机版,单机版可以通过增加服务器的CPU核心数,增加内存,增加IOPS来获得线性的性能提升。且单机版易于配置和运维。
- 它可以用作普罗米修斯的长期储存。
- 它可以用作 Grafana 中 Prometheus 的直接替代品,因为它支持Prometheus 查询 API。
- 它可以用作Grafana中Graphite的直接替代品,因为它支持Graphite API。与Graphite相比,VictoriaMetrics允许将基础设施成本降低10倍以上 - 请参阅此案例研究。
- 易于设置和操作:
- VictoriaMetrics由一个没有外部依赖关系的小可执行文件组成。
- 所有配置都是通过具有合理默认值的显式命令行标志完成的。
- 所有数据存储在命令行标志指向的单个目录中。-storageDataPath
- 使用vmbackup/vmrestore工具可以轻松快速地从即时快照进行备份。
- 它实现了类似 PromQL 的查询语言 - MetricsQL,它在 PromQL 之上提供了改进的功能。
- 它提供全局查询视图。多个 Prometheus 实例或任何其他数据源可能会将数据摄取到 VictoriaMetrics 中。稍后可以通过单个查询查询此数据。
- 它为数据引入和数据查询提供了高性能以及良好的垂直和水平可扩展性。它的性能比InfluxDB和TimescaleDB高出20倍。
- 在处理数百万个独特的时间序列(又称高基数)时,它使用的 RAM 比 InfluxDB 少 10 倍,比普罗米修斯、灭霸或 Cortex 少 7 倍。
可以说VictoriaMetrics是企业版的普罗米修斯。
部署安装
mkdir /opt/vm && cd /opt/vm
wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.90.0/victoria-metrics-linux-amd64-v1.90.0.tar.gz
tar -zxf victoria-metrics-linux-amd64-v1.90.0.tar.gz -C /opt/vm
## 我们这里因为是单机点所以用的victoriaMetrics是单机版,解压过后只有一个文件victoria-metrics-prod#启动vm
nohup ./victoria-metrics-prod &> vm-prod.log &
他的默认端口是8428 启动后 可以使用命令ss -ntpl查看是否启动,启动成功后如果不指定存储目录他会在当前目录默认创建一个victoria-metrics-data的文件夹来存储数据 如果需要更改存储目录加参数-storageDataPath 即可
修改N9E的配置文件,配置VictoriaMetrics的地址来查看数据
vim /opt/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:9090/api/v1/write" ##这里注释掉 这个是普罗米修斯的默认的remote-wirte协议的接口,因为我们安装的是vm所以这里注释掉
Url = "http://127.0.0.1:8428/api/v1/write" ##这里添加为VictoriaMetrics的地址8428的端口
# Basic auth username
BasicAuthUser = ""
# Basic auth password
BasicAuthPass = ""
重启N9E
pkill n9e
nohup ./n9e &> n9e.log &
进入n9e的web页面添加数据源
验证数据源是否配置成功
配置告警
玩一下钉钉告警
加一个测试的告警
告警来了
这里再补充一下n9e配置文件存储日志的字段,切片,类似于ELK里的E做切片存储
vim /opt/n9e/etc/config.toml
.....
.....
..... 找到log字段
[Log]
# log write dir
Dir = "logs" ##这里的意思是日志写到当前目录的logs目录下
# log level: DEBUG INFO WARNING ERROR
Level = "DEBUG"
# stdout, stderr, file
Output = "stdout"
# # rotate by time
# KeepHours: 4 ##这里的意思是我要保存4个小时的n9e日志
# # rotate by size
# RotateNum = 3 ##这里是按大小来存储日志 存储3个文件,每个文件有256MB大小这么大来存储日志,对应下面的RotateSize字段来配置启动
# # unit: MB
# RotateSize = 256
引用
相关文章:

nightingale-0-介绍单机二进制部署
(一) 夜莺介绍 Nightingale | 夜莺监控,一款先进的开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力。于…...

一个从培训学校走出来的测试工程师自述....
简单介绍一下我自己,1997年的,毕业一年了,本科生,专业是机械制造及其自动化。 在校度过了四年,毕业,找工作,填三方协议,体检,入职。我觉得我可能就这么度过我平平无奇的…...

关于pyqt的一些用法
QT原生是C,pyqt基于python语言。 关于插件: 安装一个PyUIC,一个Qt Designer 点击Qt Designer可以出来ui配置页面,和qt原生IDE基本一样 上面操作会生成.ui文件,选中此文件,点击PyUIC,会生成对…...

【Paper Note】ViViT: A Video Vision Transformer
ViViT: A Video Vision Transformer AbstractOverview of vision transformer 回顾ViTEmbedding video clips 视频编码方式Uniform frame sampling 均匀采样Tubelet embedding 时空管采样初始化3D卷积代码介绍视频编码输入到模型当中 Transformer Models for VideoSpatio-tempo…...

Java入坑之IO操作
目录 一、IO流的概念 二、字节流 2.1InputStream的方法 2.2Outputstream的方法 2.3资源对象的关闭: 2.4transferTo()方法 2.5readAllBytes() 方法 2.6BufferedReader 和 InputStreamReader 2.7BufferedWriter 和 OutputStreamWriter 三、路径:…...

校园小助手【GUI/Swing+MySQL】(Java课设)
系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设!!! 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址: 更多系统资源库地址:骚戴的博客_CSDN_更多系统资源 更多系统…...

String的不可变特性
1 问题 如何理解“String是不可变的,但是可以变”? 2 方法 (1)String的不可变特性体现在内容和长度 首先在idea中点开查看String这个类是如何定义的 可以看到这样一行代码:private final char value[]; 正是因为这个数…...

使用MMDeploy(预编译包)转换MMxx(MMDeploy支持库均可)pth权重到onnx,并使用python SDK进行部署验证
MMDeploy使用python部署实践记录 准备工作空间所需环境配置使用MMDeploy得到onnx使用MMDeploy加载onnx模型对单张图片进行推理使用python SDK对onnx模型进行验证 注意 mmdeploy C SDK的使用部署和实际操作过程请看本人另外一篇博文使用MMDeploy(预编译包)…...

Shiro安全框架简介
一、权限管理 1.1 什么是权限管理 基本上只要涉及到用户参数的系统都要进行权限管理,使用权限管理实现了对用户访问系统的控制,不同的用户访问不同的资源。按照安全规则或者安全策略控制用户访问资源,而且只能访问被授权的资源 权限管理包括认…...

三行Python代码,让数据处理速度提高2到6倍
本文可以教你仅使用 3 行代码,大大加快数据预处理的速度。 Python 是机器学习领域内的首选编程语言,它易于使用,也有很多出色的库来帮助你更快处理数据。但当我们面临大量数据时,一些问题就会显现…… 在默认情况下,…...

空间向量模长
// 空间向量模长 #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char **argv) { float x, y, z; float mochang 0.0; x y z 0.0; if (argc ! 4) { printf("usage:%s x y z\n", argv[1]); …...

活动需求中灵活使用Redis提升生产力
抽奖 一堆用户参与进来,然后随机抽取几个幸运用户给予实物/虚拟的奖品;此时,开发人员就需要写上一个抽奖的算法,来实现幸运用户的抽取;其实我们完全可以利用Redis的集合(Set),就能轻…...

Java知识点学习(第16天)
Innodb是如何实现事务的? innodb通过Buffer Pool,LogBuffer,Redo Log,Undo Log来实现事务,以一个update语句为例: innodb在收到一个update语句后,会先根据条件找到数据所在的页,并…...

ORA-1688: unable to extend table AUDSYS.AUD$UNIFIED
昨晚正在外滩玩,有个客户发过来一段报错,已经影响到业务了。一看就是12C以后版本才有的问题,,赶紧在手机中收到临时解决办法 报错如下 ORA-1688: unable to extend table AUDSYS.AUD$UNIFIED partition SYS_P42549 by 1024 in t…...

抖音滑块以及轨迹分析
声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 我们在web端打开用户主页的时候,时不时的会出现滑…...

C#生成单色bmp图片,转为单色bmp图片 任意语言完全用字节拼一张单色图,LCD取模 其它格式图片转为单色图
最终效果: V1.8.2 20230419 文字生成单色BMP图片4.exe 默认1280*720 如果显示不全,请把宽和高加大 字体加大。 首先,用windows画板生成一张1*1白色单色图作为标准,数据如下: 数据解析参考:BMP图像文件完…...

【瑞吉外卖】002 -- 后台登录功能开发
本文章为对 黑马程序员Java项目实战《瑞吉外卖》的学习记录 目录 一、需求分析 1、页面原型展示 2、登录页面展示 3、查看登录请求信息 4、数据模型 二、代码开发 1、创建实体类Employee,和employee表进行映射 2、创建包结构:(Controller、Se…...
【电动汽车充电站有序充电调度的分散式优化】基于蒙特卡诺和拉格朗日的电动汽车优化调度(分时电价调度)(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

java IO流_1
目录 分类 字节流 InputStream OutputStream 文件拷贝 字符流 FileReader FileWriter 处理流 BufferedReader BufferedWriter 文本拷贝 流是从起源到接受的有序数据,通过流的方式允许程序使用相同的方式来访问不同的输入/输出源。 分类 按数据…...

【回忆 总结】我的大学四年
大学四年关键词速览 如果穿越回大一,你想对大一的你提什么最重要的建议?同样是上网课,我为何能比大多数同学学的更好?回到学校,我的大二似乎一帆风顺?在不断的迷茫和徘徊中,大三的我做出的决定&…...

深度解析OEKO
【深度解析OEKO】 什么是OEKO-TEX Standard 100? OEKO-TEX Standard 100现在是使用最为广泛的纺织品生态标志。OEKO-TEX Standard 100规定的标准是根据最新的科学知识,对纱线、纤维以及各类纺织品的有害物质含量规定限度。只有按照严格检测和检查程序提供…...

Golang gorm
GORM 指南 | GORM - The fantastic ORM library for Golang, aims to be developer friendly. 一 对多入门 比如要开发cmdb的系统,无论是硬件还是软件。硬件对应的就是对应的哪个开发在用。或者服务对应的是哪个业务模块在使用,或者应用谁在使用。那么这…...

rk3568 适配摄像头 (CIF协议)
rk3568 适配摄像头 (CIF协议) 在RK3568处理器中,支持CIF协议的摄像头可以通过CSI接口连接到处理器,实现视频数据的采集和处理。同时,RK3568还支持多种图像处理算法和编解码器,可以对采集到的视频数据进行实时处理和压缩ÿ…...

今天面试招了个25K的测试员,从腾讯出来的果然都有两把刷子···
公司前段时间缺人,也面了不少测试,前面一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在15-25k,面试的人很多,但平均水平很让人失望。看简历很多都是4年工作经验,但面试中,不…...

Redis---集群环境准备
一、redis集群环境准备 1、部署Redis集群的目的: 多台服务器一起提供数据存储服务; 实现数据的分布式存储; 可以实现服务的高可用; 可用实现数据自动备份; 2、服务器IP地址及端口: 主机名 IP地…...

数据结构考研版——队列的配置问题
一、正常配置下的情况 队空状态 frontrear;入队操作 出队操作 队满状态 在正常配置下元素的个数(rear>front) 当rear<front 综上所述用一个表达式表示:(rear-frontmaxSize)%maxSize 二、非正常配置下的情况1 队空状态 入队操作…...

【SOAP-WebService系列】SOAP学习笔记
目录 1、SOAP是什么? 2、SOAP特性 3、SOAP消息组成 4、SOAP调用 5、SOAP和HTTP 1、SOAP是什么? SOAP(Simple Object Access Protocol,即简单对象访问协议) ,是一个轻量级协议,用于在分散的分布式环境中使用XML在对…...

材料科学|名词解释终版!!!
晶体:组成物质的原子,分子或离子按照一定的周期性规则排列形成的固体。 非晶体:原子在三维空间的不规则排列,长程无序,各向同性。 晶体结构:原子,离子,原子团按照空间点阵而进行的…...

永久免费内网穿透不限制速度
市面上的免费内网穿透大都有格式各样的限制,什么限制流量啊,每个月要签到打卡啊,还有更改域名地址等,只有神卓互联内网穿透是永久免费没有限制的,白嫖也可以。 这篇文章分享了3个方案,按照性能和综合指标排…...

JAVA开发运维(云基础设备监控)
在大型的商用系统中,经常需要监控云设备的健康状态,性能情况,流量数据等。及时发现系统问题,及时修复,以确保系统的高可用。检查云资源的工作内容主要包括基础监控、主动拨测、用户体验、APM监控、指标体系、业务分析、…...