新钛云服已累计为您分享817篇技术干货

01

夜莺监控简介

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

02

夜莺Nightingale高可用架构

打开网易新闻 查看精彩图片

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

03

部署步骤详解

Redis集群部署

1.启动Redis容器:使用Docker在两台服务器上分别启动3个Redis容器。

2.配置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

3.创建集群:所有容器启动后,通过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主从部署

1.部署MySQL服务:在两台服务器上使用二进制方式部署MySQL,确保server_id不同,并开启gtid_mode。

2.创建同步账户:在主库上创建从库同步账户并授权。

SQL
CREATE USER 'slave'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON . TO 'slave'@'%';

3.开启同步:在从库上配置主库信息,开启数据同步。

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部署

1.部署Prometheus:在服务器上部署Prometheus,作为数据源。

2.配置参数:开启热重载和远程写入监控数据接收。

YAML
--web.enable-lifecycle
--web.enable-remote-write-receiver

夜莺服务部署

1.部署夜莺:在两台服务器上部署夜莺服务。

2.配置日志:在config.toml中配置日志目录、级别和输出方式。

TOML
[Log]
Dir = "logs"
Level = "INFO"
Output = "file"

3.配置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配置

1.安装Keepalived:在两台服务器上安装Keepalived。

2.配置抢占:配置为BACKUP模式,使用不同优先级进行抢占。

3.配置检测脚本:配置检测脚本检测夜莺进程。

夜莺平台配置

1.访问夜莺:通过配置的VIP访问夜莺服务,夜莺服务的端口默认为17000,使用http://vip:17000/进行访问,账户密码默认为root/root.2020。

2.添加数据源:在集成中心添加Prometheus-like数据源,URL填入http://n9e-01IP:9090。

打开网易新闻 查看精彩图片

集成grafana仪表盘

1.集成Grafana:如果有正在使用的Grafana,可以在夜莺中集成。

2.配置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监控平台在持续的运营中发挥关键作用,帮助我们更好地理解和优化系统性能,确保业务连续性和数据安全。

如有相关问题,请在文章后面给小编留言,小编安排作者第一时间和您联系,为您答疑解惑。