当前位置:   article > 正文

Nightingale | 夜莺监控

夜莺监控

Nightingale | 夜莺监控

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 没法连通服务端,此时就需要下沉部署方案。

夜莺V6.X架构介绍

中心汇聚式部署方案

中心汇聚式部署方案

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"
  • 1
  • 2
  • 3
  • 4

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

上例中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 &
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

启动成功,n9e 默认会监听在 17000 端口。上面使用 nohup 简单演示,

配置文件在当前目录 etc/config.toml 中含有 mysql 的连接地址配置,如果连接数据库报错,可以检查一下用户名和密码

夜莺服务端部署好之后,浏览器访问 17000 就可以体验相关功能了,默认用户是 root,密码是 root.2020

部署categraf

Categraf官方github地址:https://github.com/flashcatcloud/categraf

解压categraf

tar xf categraf-v0.2.38-linux-amd64.tar.gz -C /opt
cd /opt
  • 1
  • 2

解压完毕后会发现有一个可执行文件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"

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

然后直接启动categraf

nohup ./categraf &>stdout.log &
  • 1

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/158694
推荐阅读
  

闽ICP备14008679号