赞
踩
Nightingale :http://n9e.flashcat.cloud/
Nightingale | 夜莺监控,一款先进的开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力。
现在夜莺的版本已经更新迭代到V6版本
Ninghtingale下载地址:Nightingale - 快猫星云
Categraf下载地址:Categraf - 快猫星云
夜莺 6.x 版本相比 5.x 在架构上做了巨大的调整,之前服务端有两个模块,n9e-webapi 和 n9e-server,6.x 之后合并成了一个,就是 n9e,这个模块既可以提供接口给前端调用,也可以提供告警引擎的能力。但是有的时候机房网络链路不好,或者有acl限制,很多 agent 没法连通服务端,此时就需要下沉部署方案。
Mysql:所有的告警信息,配置信息(比如普罗米修斯的),告警规则等等都存储在mysql里面;
Redis: 存储一些验证信息,JWT的token,metadata元信息,元数据,心跳信息等
TSDB:时序数据库(可以支持Prometheus、M3DB、VictoriaMetrics、Thanos等)
n9e:夜莺V6版本只有一个模块了,就是 n9e,可以部署多个 n9e 实例组成集群,n9e 依赖 2 个存储,数据库、Redis,数据库可以使用 MySQL 或 Postgres
LB:n9e 提供的是 HTTP 接口,前面负载均衡可以是 4 层的,也可以是 7 层的。一般就选用 Nginx 就可以了。
n9e 这个模块接收到数据之后,需要转发给后端的时序库,相关配置是:
[Pushgw]
LabelRewrite = true
[[Pushgw.Writers]]
Url = "http://127.0.0.1:9090/api/v1/write"
categraf: 是夜莺监控的默认的自制的数据采集器
这种架构是对中心式部署方案的补充,主要是针对网络不好的情况:
机房网络链路不好,需要把时序库,告警引擎和转发网关下沉部署,但是心跳还是需要往中心心跳,在对象列表里才能看到机器的 CPU、内存使用率等监控信息
已有 Prometheus 的情况,也可以直接将 Prometheus 作为数据源接入。可以在夜莺里看图、配告警规则,就是在对象列表里看不到,也不能使用告警自愈的功能,核心功能不受影响。
边缘机房,下沉部署时序库、告警引擎、转发网关的时候,要注意,告警引擎需要依赖数据库,因为要同步告警规则,转发网关也要依赖数据库,因为要注册对象到数据库里去,需要打通相关网络,告警引擎和转发网关都不用Redis,所以无需为Redis打通网络。
VictoriaMetrics官方文档:VictoriaMetrics
Github下载地址:Releases ·:https://github.com/VictoriaMetrics/VictoriaMetrics/releases
# install VictoriaMetrics cd /opt mkdir vm && cd vm tar xf victoria-metrics-linux-amd64-v1.90.0.tar.gz nohup ./victoria-metrics-prod &> stdout.log & vim /opt/n9e/etc/config.toml [[Pushgw.Writers]] Url = "http://127.0.0.1:8428/api/v1/write" ##这里添加为VictoriaMetrics的地址8428的端口 # install mysql yum -y install mariadb* systemctl enable mariadb systemctl restart mariadb mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1234');" # install redis yum install -y redis systemctl enable redis systemctl restart redis
上例中mysql的root密码设置为了1234,建议维持这个不变,后续就省去了修改配置文件的麻烦。
mkdir -p /opt/n9e && cd /opt/n9e
# 去 https://github.com/didi/nightingale/releases 找最新版本的包,
wget wget https://download.flashcat.cloud/n9e-v6.0.0-ga.3-linux-amd64.tar.gz
tar zxvf n9e-v6.0.0-ga.3-linux-amd64.tar.gz
mysql -uroot -p1234 < n9e.sql
nohup ./n9e &> n9e.log &
启动成功,n9e 默认会监听在 17000 端口。上面使用 nohup 简单演示,
配置文件在当前目录 etc/config.toml
中含有 mysql 的连接地址配置,如果连接数据库报错,可以检查一下用户名和密码
夜莺服务端部署好之后,浏览器访问 17000 就可以体验相关功能了,默认用户是 root
,密码是 root.2020
Categraf官方github地址:https://github.com/flashcatcloud/categraf
解压categraf
tar xf categraf-v0.2.38-linux-amd64.tar.gz -C /opt
cd /opt
解压完毕后会发现有一个可执行文件categraf和一个文件夹conf,conf文件下面有很多input的文件夹,里面都是每一个插件的配置文件(xxx.toml)config.toml是主配置文件
...... ...... ##第一步 找到[[writers]]字段 [writer_opt] batch = 1000 chan_size = 1000000 [[writers]] url = "http://127.0.0.1:17000/prometheus/v1/write" ##这里的端口要改成你n9e启动的端口,默认的就是17000, ...... ...... ##第二步 找到[heartbeat]字段 [heartbeat] enable = true ##这里的false改为ture 启动heartbeat功能来收集本台主机的信息 # report os version cpu.util mem.util metadata url = "http://127.0.0.1:17000/v1/n9e/heartbeat"
然后直接启动categraf
nohup ./categraf &>stdout.log &
在浏览器输入http://127.0.0.1:17000,然后输入用户名root,密码root.2020即可登录系统。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。