构建高可用性、高性能和可扩展的Zabbix Server架构
简介
本教程讲解了一下如何设计构建一个高性能、高可靠、高扩展的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/
技术交流群
发送邮件到 ️ me@songxwn.com
或者关注WX公众号:网工格物
原文
https://songxwn.com/Zabbix-Server-HA/
构建高可用性、高性能和可扩展的Zabbix Server架构的更多相关文章
- Amazon DynamoDB, 面向互联网应用的高性能、可扩展的NoSQL数据库
DynamoDB是一款全面托管的NoSQL数据库服务.客户能够很easy地使用DynamoDB的服务.同一时候享受到高性能,海量扩展性和数据的持久性保护. DynamoDB数据库是Amazon在201 ...
- php的源代码包构建一个空的php扩展。
下载一个php的源代码包,这里使用的是php 4.0.5版,解压后会看到php的根目录下会有README.EXT_SKEL这样一个文件,打开详细阅读了一下,发现了一个非常好用的工具,这个工具可以帮你构 ...
- PHP7 学习笔记(十六)Yaconf 一个高性能的配置管理扩展
鸟哥博客原文:Yaconf – 一个高性能的配置管理扩展 什么是yaconf ? 它使用单独的一个配置目录(在yaconf.directory指定), 不和代码在一起.它在PHP启动的时候, 处理所有 ...
- 这次我设计了一款TPS百万级别的分布式、高性能、可扩展的RPC框架
作者:冰河 博客地址:https://binghe001.github.io 大家好,我是冰河~~ 没错,这次冰河又要搞事情了,这次准备下手的是RPC框架项目.为什么要对RPC框架项目下手呢,因为在如 ...
- 如何利用MongoDB实现高性能,高可用的双活应用架构?
投资界有一句至理名言——“不要把鸡蛋放在同一个篮子里”.说的是投资需要分解风险,以免孤注一掷失败之后造成巨大的损失. 转发来自 如何利用MongoDB实现高性能,高可用的双活应用架构?http://d ...
- 自定义和扩展 SharePoint 2010 Server 功能区
了解构成 SharePoint 2010 服务器功能区的组件以及如何通过演练两个功能区自定义项方案来自定义功能区. 适用范围: Microsoft SharePoint Foundation 2010 ...
- Zabbix server(离线版)安装手册
由于zabbix server需要依赖MySQL及PHP的相关依赖,因此需要先安装好MySQL及PHP的相关依赖后方可安装zabbixserver. 安装MySQL 目录mysql下的rpm 1.新建 ...
- zabbix server is not running解决办法
正常安装完zabbix后,登录后zabbix监控报错zabbix server is not running: the information displayed may not be current ...
- [原创] zabbix学习之旅六:如何解决zabbix server在内网,而邮件发送服务器在外网的问题
通过前面的文章,你已经可以快速地搭建一个报警系统,并能正常的收到报警邮件了.不过在很多企业级环境下,邮件发送服务器往往放在外网,而zabbix server放置在内网,在这种情况下,zabbix的报警 ...
- 基于LNMP的Zabbbix之Zabbix Server源码详细安装,但不给图
Zabbix Server安装 看到那里有错或者有什么问题的话,求指点 邮箱:losbyday@163.com 上一篇PHP源码安装参见基于LNMP的Zabbbix之PHP源码安装:https://i ...
随机推荐
- Mybatis学习三(动态sql语句)
动态sql语句主要为以下语句 1.动态SQL:if 语句2.动态SQL:if+where 语句3.动态SQL:if+set 语句4.动态SQL:choose(when,otherwise) 语句5.动 ...
- vue03 01.vite创建项目
目录 01.创建项目 打包工具 vite介绍 安装命令 安装项目依赖 启动项目 浏览效果 代码目录 打包 预览运行 插件使用 编辑器 01.创建项目 打包工具 vite官网 vite创建项目 vite ...
- JavaScript算法---基础排序类
<html> <script> //正序排序,把大的放到最后,arr[j]>arr[j+1] let fz=(arr)=>{ for(let len=arr.len ...
- uniapp清除指定key缓存
清除缓存 onLaunch: function () { console.log('App Launch') const preservedKeys = ['ishowFixPre', 'readTi ...
- C语言(较深入原理):%s通过字符串首元素地址输出,用指针数组来作示例
首先,我们输出一个字符串都知道是用%s来输出,但是我们并没有多想是通过什么方式来输出的. 今天我在看指针数组的时候发现了一个问题,按就是定义一个字符类型的指针数组, /*字符串的输出本身就需要他的地址 ...
- 化繁为简|AIRIOT智慧水务信息化建设解决方案
"生产自动化,管理信息化"是现代化水厂建设的目标之一,需要在水质要求.工艺.生产.管理.环境等监测方面达到精细化管理标准,这是一个高度智能化,实现化繁为简智慧进阶的工程.传统水 ...
- wpf 斗地主 单机版 没有机器人出牌算法
斗地主的游戏流程实现了,剩余的音效和机器人的出牌算法,抓地主算法就用最简单的实现. 主要实现了各种牌组的组合,牌组的大小比较,总共有16种牌组 基础牌组 单张.炸弹.炸弹型飞机带对子.炸弹型飞机什么都 ...
- 如何从0-1了解 熟悉 精通gitlab
加入gitlab团队项目: 打开其他用户极狐邀请邮件: 点击接受紫色邀请按钮"accept invitation": 选择免费试用90天saas服务: 使用邮箱注册进行邮箱验证[验 ...
- ISCC 2024 练武题 misc趣题记录
Number_is_the_key 题目 The answers to the questions are hidden in the numbers. 文件是空白的xlsx文件 我的解答: 乱点发现 ...
- Vue cli单文件组件的使用
整个项目是一个主文件index.html,index.html中会引入src文件夹中的main.js,main.js中会导入顶级单文件组件App.vue,App.vue中会通过组件嵌套或者路由来引用其 ...