技术支持 哈尔滨网站建设,广东阳江最新消息,徐州市城乡和城乡建设厅网站,照片制作软件(一) 夜莺介绍
Nightingale | 夜莺监控#xff0c;一款先进的开源云原生监控分析系统#xff0c;采用 All-In-One 的设计#xff0c;集数据采集、可视化、监控告警、数据分析于一体#xff0c;与云原生生态紧密集成#xff0c;提供开箱即用的企业级监控分析和告警能力。于…(一) 夜莺介绍
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的tokenmetadata元信息元数据心跳信息等TSDB时序数据库可以支持Prometheus、M3DB、VictoriaMetrics、Thanos等N9ENightingale | 夜莺监控一款先进的开源云原生监控分析系统采用 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、部署n9ecategrafVictoriaMetricsmysqlredis中心化二进制单机部署夜莺
1下载部署N9E
下载安装部署MySQL和Redis
# INSTALL MySQL
yum -y install mariadb*
systemctl enable mariadb
systemctl start mariadb
mysql -e SET PASSWORD FOR rootlocalhost PASSWORD(1234);
# 权限有问题就执行下这个
mysql -uroot -p1234
grant all on *.* to root%;
grant all on *.* to root127.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和一个文件夹confconf文件下面有很多input的文件夹里面都是每一个插件的配置文件xxx.tomlconfig.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万/205万台机器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引用