夜莺n9e对接多个Prometheus
背景
使用夜莺对接多个集群的 promethus, 来完成多个 k8s的告警规则的汇总。
webapi 配置
webapi的配置文件,在安装目录下的 etc/webapi.conf
Mysql(DB)和Redis的配置这里就不多讲了,需要修改的单单独修改
之后需要在 webapi.conf 文件中将多个Prometheus都维护到 [[Cluster]]
[[Cluster]]
表示这部分配置是个数组可以复制多份,然后每份维护不同的Name
, Prom
填写 Prometheus 的URL即可
例如:
[[Clusters]]
# Prometheus cluster name
Name = "Default"
# Prometheus APIs base url
Prom = "http://192.168.189.170:30909"
# Basic auth username
BasicAuthUser = ""
# Basic auth password
BasicAuthPass = ""
# timeout settings, unit: ms
Timeout = 30000
DialTimeout = 3000
MaxIdleConnsPerHost = 100[[Clusters]]
# Prometheus cluster name
Name = "161cluster"
# Prometheus APIs base url
Prom = "http://192.168.189.160:30909"
# Basic auth username
BasicAuthUser = ""
# Basic auth password
BasicAuthPass = ""
# timeout settings, unit: ms
Timeout = 30000
DialTimeout = 3000
MaxIdleConnsPerHost = 100
上面表示 Default集群链接Prometheus 是 http://192.168.189.170:30909, 161cluster 集群链接的 Prometheus 是http://192.168.189.160:30909
然后启动
nohup ./n9e webapi &> webapi.log &
Server 处理
默认的配置文件, 安装目录下的 etc/server.conf,需要修改Mysql(DB)和 Redis的配置,提前修改。 这里也不详细阐述
之后启动 server
nohup ./n9e server &> server.log &
夜莺要求 server 必须和 Prometheus一一对应,就要启动多个server, 为了方便这里就在一个服务器使用同一个安装包使用不同的配置文件启动多个实例
源码分析
从源码 src\main.go
分析看,代码中读取了conf
参数, 添加配置文件的参数应该是 conf
func newServerCmd() *cli.Command {return &cli.Command{Name: "server",Usage: "Run server",Flags: []cli.Flag{&cli.StringFlag{Name: "conf",Aliases: []string{"c"},Usage: "specify configuration file(.json,.yaml,.toml)",},},Action: func(c *cli.Context) error {printEnv()var opts []server.ServerOptionif c.String("conf") != "" {opts = append(opts, server.SetConfigFile(c.String("conf")))}opts = append(opts, server.SetVersion(version.VERSION))server.Run(opts...)return nil},}
}
操作
将安装目录下面的的 etc/server.conf 复制一份并且重命名。
修改复制的文件对接需要监控的k8s集群的prometheus
修改 clusterName 和webapi.conf 中的一致
修改端口, 不要再用19000 了会冲突
修改Reader的Url为对应k8s的prometheus
使用 --config
参数再启动一个副本
nohup ./n9e server --conf ./etc/server61-19001.conf &> server61.log &
ps一下进程就看到了又启动一个 server 了
结果
告警引擎界面就能看到了,对应集群告警的邮件也就能发出来了
夜莺n9e对接多个Prometheus相关推荐
- Nightingale夜莺服务监控
安装服务端 演示环境:http://116.85.46.86/ 用户名:demo,密码:demo.2021 提供了一个一键部署的命令,如果操作系统是centos的话,可以执行下面命令一键安装 # 需要 ...
- Prometheus 监控详解
文章目录 一.常用监控系统介绍 1. Cacti 2. Nagios 3. Zabbix 4. Prometheus 5. Open-falcon 二.运维监控平台设计思路 三.Prometheus ...
- prometheus下载慢_Prometheus + Grafana 监控 SpringBoot
整体结构 SpringBoot 的 actuator 提供了监控端点. Prometheus 是监控系统,可以从 Springboot 获取监控数据,以时序数据的形式存储,并提供了监控数据的查询服务. ...
- prometheus + influxdb + grafana + mysql
2019独角兽企业重金招聘Python工程师标准>>> 前言 本文介绍使用influxdb 作为prometheus持久化存储和使用mysql 作为grafana 持久化存储的安装方 ...
- 监控 prometheus及其部署及server discovery,alertmanager,grafana(更新结束)
prometheus 一.常用监控简介 1.cacti 2.Nagios 3.Zabbix zabbix核心组件介绍 4.Prometheus 二.运维监控平台设计思路 三.prometheus监控体 ...
- Prometheus监控系统——前篇
目录 Prometheus简介 prometheus特点 prometheus时序数据 数据来源 收集数据: prometheus获取方式 prometheus生态组件 prometheus架构图 p ...
- 监控——Prometheus介绍
目录 一.常用的监控 二.Prometheus特性 三.运维监控平台设计思路 四.监控系统体系 1.系统层监控(需要监控的数据) 2.中间件及基础应用监控 端监控(移动app,特定程序等) 3.应用层 ...
- 常用监控与prometheus监控的简介
文章目录 一.常用监控简介 ❻zabbix核心组件介绍 #Zabbix 4.Prome theus .borg . kubernetes Prometheus具有以下特性: ❾可利用Pushgatew ...
- Prometheus原理与部署
目录 一.Prometheus原理介绍 1.介绍 2.Prometheus简介 3.Prometheus优缺点 4.Prometheus特性 5.Prometheus架构 二.prometheus监控 ...
最新文章
- Hyper-V 3.0实用技巧:创建虚拟机组快照
- Centos7安装时提示,没有可用的网络设备
- 如何安装mysql 匹配_学习笔记----安装MySQL
- 英特尔西安团队将被裁撤 波及约200人?回应...
- linux 权限管理 lvm,Linux LVM 设置和管理
- CAFFE(FAQ.2):Ubuntu 配置caffe 框架之数据库读取,错误解决:ImportError: No module named leveldb解决办法...
- 使用Power Automate (MS Flow) 发送审批邮件
- swift subscript scraps
- 计算机视觉面试经验汇总(一)
- Linux C程序访问NULL指针
- 2021安防视频监控运维市场回顾和展望
- windows双系统如何删除ubuntu系统并重装
- 数字调制BPSK/QPSK/QAM/ASK/FSK/PSK
- windows下UHD安装教程
- WMS系统后端API开发-收货单(ReceiptOrder) API
- yum源服务器本地配置
- 计蒜客-19 幼儿园买玩具
- 重载 重写 重用 重构区别
- Qcom_Sensor(一)--- 之 Android简单的计步器应用实现
- Appium:获取Android设备手机屏幕分辨率