-
夜莺Nightingale:打造高可用监控平台
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监控平台在持续的运营中发挥关键作用,帮助我们更好地理解和优化系统性能,确保业务连续性和数据安全。
如有相关问题,请在文章后面给小编留言,小编安排作者第一时间和您联系,为您答疑解惑。