首页 > 其他分享 >构建高可用性、高性能和可扩展的Zabbix Server架构

构建高可用性、高性能和可扩展的Zabbix Server架构

时间:2024-07-01 11:10:09浏览次数:1  
标签:songxwn 数据库 Server Zabbix 高可用性 HA com

简介

本教程讲解了一下如何设计构建一个高性能、高可靠、高扩展的Zabbix 监控集群。

架构图

架构图PDF下载: https://songxwn.com/file/Zabbix_HA.pdf

Pigsty 时序数据库集群

Zabbix Server 和 Grafana的数据都是存放在数据库的,而Zabbix性能很大程度取决于数据库。所以要搭建数据库集群,提供性能和冗余性。(数据库最好使用SSD,最好是NVME SSD)

Pigsty 集群搭建教程 https://songxwn.com/Pigsty-PG-RDS/

时序数据库 TimescaleDB

TimescaleDB,这是一种基于PostgreSQL的数据库解决方案,可自动将数据分为基于时间的块,以支持更快的大规模的监控性能。能以更好的性能去删除过期的监控数据和进行实时压缩数据,可节省空间。

Zabbix Server HA

Zabbix 从6.0 开始支持原生的HA故障切换,HA实现需要主备数据连接到同一个数据库实例。(Pigsty PG集群)

HA通过数据库心跳实现,若主Zabbix Server在指定时间内不再写入心跳,则备会自动切换并开始工作。(当Zabbix Server处于备状态时候不会有任何操作。)

Zabbix Web 前端

Zabbix前端是直连数据库,是基于PHP的无状态应用。所以多实例可以同时使用。所以多实例+数据库集群就可以实现高可用。

然后通过Nginx + Keeplive可以实现故障迁移和负载均衡。

Zabbix Server安装教程:https://songxwn.com/zabbix-7-install-TimescaleDB/

Zabbix Proxy Group

Zabbix 从 7.0开始支持 Proxy的故障转移和自动负载均衡,在一个Zabbix Proxy Group 里面添加多个Zabbix Proxy可实现高性能、高可用、高扩展性。

Grafana Server HA

Grafana 主要是来展示Zabbix数据的,也是无状态的。所以通过多实例+数据库集群+Nginx + Keeplive可以实现故障迁移和负载均衡。

Uptime Kuma 全局运维系统可用性监控

Zabbix本身就是一个监控,但监者不能自监。

Uptime kuma是一个简单轻量的监控软件,用于PostgreSQL集群可用性、Zabbix Server TCP、Zabbix Web、Grafana Web监控。

还支持被动监控、让Zabbix 持续访问Kuma 的http接口进行监控Zabbix健康检测。


docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

参数调优

Linux 系统、Zabbix Server 、Zabbix Proxy 、Pigsty 都需要根据现有硬件进行调整才能稳定高效的允许。此部分会放在之后的实战方面写。

内核调优:https://songxwn.com/Linux-kernel-optimize/

技术交流群

发送邮件到 ➡️ [email protected]

或者关注WX公众号:网工格物

原文

https://songxwn.com/Zabbix-Server-HA/

标签:songxwn,数据库,Server,Zabbix,高可用性,HA,com
From: https://www.cnblogs.com/songxwn/p/18277649

相关文章

  • Android系统之System Server大纲
    前言SystemServer是android基本服务的提供者,是android系统运行的最基本需求,所有server运行在一个叫system_process的进程中,system_process进程是androidjava虚拟机跑的第一个进程,从Zygote创建而来,是andorid系统最重要的java虚拟机。可以说,整个android系统的业务都是围绕syste......
  • webAPI连接SQLserver,并快速建立数据模型
    首先,你需要有一个webAPI来作为Android应用和SQLserver数据库之间的中间件,创建该api在项目中导入三个NuGet包通过服务器资源管理器连接数据库,获取数据库连接的字符串 快速建立数据模型思路:通过数据库创建数据类:导入包=>打开程序包管理器控制台=>选择项目=>Scaffold-DbCont......
  • 乌班图Ubuntu 24.04 SSH Server 修改默认端口重启无效
    试用最新的乌班图版本,常规修改ssh端口,修改完毕后重启sshd提示没有找到service,然后尝试去掉d重启ssh后查看状态,端口仍然是默认的22,各种尝试都试了不行,重启服务器后倒是端口修改成功了,心想着不能每台机器都重启吧。百思不得其解后查看官网相关(机翻)意思就是22.10之后的版本使用方......
  • 猫头虎分享已解决Bug || 服务器配置错误(Server Configuration Error): ServerMisconfig
    ......
  • SQL Server的隐私盾牌:动态数据屏蔽(DMS)全面解析
    ......
  • Fastapi 项目第二天首次访问时数据库连接报错问题Can't connect to MySQL server
    问题描述Fastapi项目使用sqlalchemy连接的mysql数据库,每次第二天首次访问数据库相关操作,都会报错:sqlalchemy.exc.OperationalError:(pymysql.err.OperationalError)(2003,"Can'tconnecttoMySQLserveron'x.x.x.x'([Errno111]Connectionrefused)")问题分析从出......
  • SQLServer游标
    一.游标的作用:定位到结果集中的某一行(结果集:在完成了数据库的操作之后出现的所有的结果的集合)二.游标分为三类1.静态游标(static):操作游标时即使数据发生变化,游标中的数据也不会发生变化2.动态游标(dynamic):操作游标时若数据发生变化,则游标中数据同样改变3.键集驱动游标(keyse......
  • python连接mysql、sqlserver、oracle、postgresql数据库进行封装
    python连接mysql、sqlserver、oracle、postgresql数据库进行封装python连接mysql、sqlserver、oracle、postgresql数据库进行封装详解一、引言二、python连接MySQL数据库进行封装三、python连接SQLServer数据库进行封装四、Python连接Oracle数据库进行封装五、Python连......
  • YARN集群的高可用性秘诀:ResourceManager故障转移全指南
    标题:YARN集群的高可用性秘诀:ResourceManager故障转移全指南引言在大数据时代,YARN作为Hadoop生态系统中的资源管理器,其稳定性和可靠性对于整个数据处理流程至关重要。当ResourceManager(RM)遇到故障时,如何快速恢复并继续执行任务,是衡量YARN集群健壮性的重要指标。本文将深入......
  • 服务器sql server 数据恢复
    linux服务器故障,连接了一台存储,文件系统为xfs文件系统。使用xfs_repair试图对文件系统进行修复但修复失败,linux服务器中所有数据因此丢失。服务器数据恢复解决方案:为了不损毁丢失数据盘里的数据,数据恢复的第一步必须对原始存储空间开进行镜像备份工作,数据备份完成后开始逐步确......