背景

使用夜莺对接多个集群的 promethus, 来完成多个 k8s的告警规则的汇总。

webapi 配置

webapi的配置文件,在安装目录下的 etc/webapi.conf
Mysql(DB)和Redis的配置这里就不多讲了,需要修改的单单独修改
之后需要在 webapi.conf 文件中将多个Prometheus都维护到 [[Cluster]]
[[Cluster]] 表示这部分配置是个数组可以复制多份,然后每份维护不同的NameProm 填写 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相关推荐

  1. Nightingale夜莺服务监控

    安装服务端 演示环境:http://116.85.46.86/ 用户名:demo,密码:demo.2021 提供了一个一键部署的命令,如果操作系统是centos的话,可以执行下面命令一键安装 # 需要 ...

  2. Prometheus 监控详解

    文章目录 一.常用监控系统介绍 1. Cacti 2. Nagios 3. Zabbix 4. Prometheus 5. Open-falcon 二.运维监控平台设计思路 三.Prometheus ...

  3. prometheus下载慢_Prometheus + Grafana 监控 SpringBoot

    整体结构 SpringBoot 的 actuator 提供了监控端点. Prometheus 是监控系统,可以从 Springboot 获取监控数据,以时序数据的形式存储,并提供了监控数据的查询服务. ...

  4. prometheus + influxdb + grafana + mysql

    2019独角兽企业重金招聘Python工程师标准>>> 前言 本文介绍使用influxdb 作为prometheus持久化存储和使用mysql 作为grafana 持久化存储的安装方 ...

  5. 监控 prometheus及其部署及server discovery,alertmanager,grafana(更新结束)

    prometheus 一.常用监控简介 1.cacti 2.Nagios 3.Zabbix zabbix核心组件介绍 4.Prometheus 二.运维监控平台设计思路 三.prometheus监控体 ...

  6. Prometheus监控系统——前篇

    目录 Prometheus简介 prometheus特点 prometheus时序数据 数据来源 收集数据: prometheus获取方式 prometheus生态组件 prometheus架构图 p ...

  7. 监控——Prometheus介绍

    目录 一.常用的监控 二.Prometheus特性 三.运维监控平台设计思路 四.监控系统体系 1.系统层监控(需要监控的数据) 2.中间件及基础应用监控 端监控(移动app,特定程序等) 3.应用层 ...

  8. 常用监控与prometheus监控的简介

    文章目录 一.常用监控简介 ❻zabbix核心组件介绍 #Zabbix 4.Prome theus .borg . kubernetes Prometheus具有以下特性: ❾可利用Pushgatew ...

  9. Prometheus原理与部署

    目录 一.Prometheus原理介绍 1.介绍 2.Prometheus简介 3.Prometheus优缺点 4.Prometheus特性 5.Prometheus架构 二.prometheus监控 ...

最新文章

  1. Hyper-V 3.0实用技巧:创建虚拟机组快照
  2. Centos7安装时提示,没有可用的网络设备
  3. 如何安装mysql 匹配_学习笔记----安装MySQL
  4. 英特尔西安团队将被裁撤 波及约200人?回应...
  5. linux 权限管理 lvm,Linux LVM 设置和管理
  6. CAFFE(FAQ.2):Ubuntu 配置caffe 框架之数据库读取,错误解决:ImportError: No module named leveldb解决办法...
  7. 使用Power Automate (MS Flow) 发送审批邮件
  8. swift subscript scraps
  9. 计算机视觉面试经验汇总(一)
  10. Linux C程序访问NULL指针
  11. 2021安防视频监控运维市场回顾和展望
  12. windows双系统如何删除ubuntu系统并重装
  13. 数字调制BPSK/QPSK/QAM/ASK/FSK/PSK
  14. windows下UHD安装教程
  15. WMS系统后端API开发-收货单(ReceiptOrder) API
  16. yum源服务器本地配置
  17. 计蒜客-19 幼儿园买玩具
  18. 重载 重写 重用 重构区别
  19. Qcom_Sensor(一)--- 之 Android简单的计步器应用实现
  20. Appium:获取Android设备手机屏幕分辨率

热门文章

  1. java中关于购物车的面试,购物车的总价解决方案
  2. 在AI时代重新思考人机共生:理解人类在人机系统的最理想角色
  3. MR760/MR754-ASEMI车用整流二极管
  4. 商家收款产品 (应用于互联网交易的基础产品)
  5. C、C++以及widows编程、数据结构算法等编程书籍推荐
  6. 【游戏】对等轴测投影 Isometric Projection
  7. 定义文章标题,用 H1,H2 还是 H3
  8. 路由器市场发展良好 2020年将达34亿美元
  9. Python+OpenCV安装教程
  10. MySQL导出数据为csv的方法