夜莺Nightingale:打造高可用监控平台

大数据 数据分析 云原生
在本文中,我们详细介绍了如何部署和配置夜莺Nightingale监控平台,以实现高可用性监控架构。通过精心设计的Redis集群、MySQL主从复制、Prometheus数据源集成,以及Keepalived的高可用配置。

一、夜莺监控简介

夜莺监控(Nightingale)是一款集数据采集、可视化、监控告警和数据分析于一体的开源云原生观测分析工具。它采用All-in-One设计理念,与云原生生态紧密集成,为企业提供即插即用的监控分析和告警能力。

二、夜莺Nightingale高可用架构

实现夜莺的高可用性,只需将服务部署在不同的机器上,并确保配置文件一致,同时连接到同一个MySQL和Redis实例。通过在夜莺前端配置虚拟IP(VIP)并部署集群或主从模式的中间件,即可实现高可用架构。

三、部署步骤详解

Redis集群部署

  • 启动Redis容器:使用Docker在两台服务器上分别启动3个Redis容器。
  • 配置Redis:在redis.conf中设置集群相关参数,如开启集群模式、配置文件、节点超时等。
Plain Text
protected-mode no
port 7001                                                                                        #三个不同的端口即可
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip IP                                #服务器本机ip
cluster-announce-port 7001                            #同port参数
cluster-announce-bus-port 17001                       #三个不同的端口即可
appendonly yes
  • 创建集群:所有容器启动后,通过redis-cli命令创建集群。
Bash
redis-cli --cluster create n9e-01IP:7001 n9e-01IP:7002 1n9e-01IP:7003 n9e-02IP:7001 n9e-02IP:7002 n9e-02IP:7003 --cluster-replicas 1

MySQL主从部署

  • 部署MySQL服务:在两台服务器上使用二进制方式部署MySQL,确保server_id不同,并开启gtid_mode。
  • 创建同步账户:在主库上创建从库同步账户并授权。
SQL
CREATE USER 'slave'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON . TO 'slave'@'%';
  • 开启同步:在从库上配置主库信息,开启数据同步。
SQL
CHANGE MASTER TO MASTER_HOST='n9e-01IP', MASTER_USER='slave', MASTER_PASSWORD='password', MASTER_PORT=3306, 
MASTER_AUTO_POSITION=1, MASTER_CONNECT_RETRY=10;

Prometheus部署

  • 部署Prometheus:在服务器上部署Prometheus,作为数据源。
  • 配置参数:开启热重载和远程写入监控数据接收。
YAML
--web.enable-lifecycle
--web.enable-remote-write-receiver

夜莺服务部署

  • 部署夜莺:在两台服务器上部署夜莺服务。
  • 配置日志:在config.toml中配置日志目录、级别和输出方式。
TOML
[Log]
Dir = "logs"
Level = "INFO"
Output = "file"
  • 配置Redis和MySQL:在config.toml中配置Redis集群地址和MySQL主库地址,并导入夜莺数据库表结构。
TOML
[Redis]
Address = "n9e-01IP:7001,n9e-01IP:7002,n9e-01IP:7003,n9e-02IP:7001,n9e-02IP:7002,n9e-02IP:7003"
[DB]
DSN = "root:password@tcp(n9e-01IP:3306)/n9e_v6?charset=utf8mb4&parseTime=True&loc=Local&allowNativePasswords=true"
Bash
mysql -u root -p password < n9e.sql

Keepalived配置

  • 安装Keepalived:在两台服务器上安装Keepalived。
  • 配置抢占:配置为BACKUP模式,使用不同优先级进行抢占。
  • 配置检测脚本:配置检测脚本检测夜莺进程。

夜莺平台配置

  • 访问夜莺:通过配置的VIP访问夜莺服务,夜莺服务的端口默认为17000,使用http://vip:17000/进行访问,账户密码默认为root/root.2020。
  • 添加数据源:在集成中心添加Prometheus-like数据源,URL填入http://n9e-01IP:9090。

集成grafana仪表盘

  • 集成Grafana:如果有正在使用的Grafana,可以在夜莺中集成。
  • 配置Grafana:修改defaults.ini配置,允许嵌入式集成和匿名访问,需要修改defaults.ini配置,将allow_embedding取消注释并设为true,将[server]下的domain

设为grafana的服务器ip,将[auth.anonymous]下的配置取消注释并将enabled设为true,然后即可将grafana中的仪表盘通过短链集成到夜莺。

在本文中,我们详细介绍了如何部署和配置夜莺Nightingale监控平台,以实现高可用性监控架构。通过精心设计的Redis集群、MySQL主从复制、Prometheus数据源集成,以及Keepalived的高可用配置,我们确保了监控服务的稳定性和可靠性。此外,通过集成Grafana仪表盘,我们进一步增强了监控数据的可视化和分析能力。

随着监控平台的成功部署和运行,我们不仅提升了对IT基础设施的实时监控能力,还为未来的业务扩展和性能优化奠定了坚实的基础。我们期待夜莺Nightingale监控平台在持续的运营中发挥关键作用,帮助我们更好地理解和优化系统性能,确保业务连续性和数据安全。

责任编辑:姜华 来源: 新钛云服
相关推荐

2023-04-13 08:04:04

2023-04-25 10:27:47

2013-03-27 10:20:33

微软Windows Ser青岛海关

2013-04-03 14:38:48

青岛海关Windows Ser

2023-04-20 07:12:33

夜莺监控夜莺

2022-05-02 18:15:04

KubernetesLinux开源

2023-05-11 07:08:07

Kubernetes监控

2020-12-01 08:32:12

Spring Boot

2021-04-20 08:31:59

应用监控高可用

2009-09-14 17:44:09

华硕服务器高可用

2012-02-23 13:51:11

X3.1

2024-05-29 07:50:41

2013-11-11 14:24:11

华为视频监控高清监控

2016-10-26 18:02:54

高可用性系统服务器

2012-07-03 16:46:39

实时监控万国数据

2013-07-23 17:30:24

局域网监控

2015-09-21 15:00:54

联想OpenStack企业云平台

2012-09-21 14:00:30

红帽Linux

2013-06-05 16:22:46

华为OceanStor视频监控

2013-11-07 14:12:36

远程控制IT管理
点赞
收藏

51CTO技术栈公众号