PostgreSQL Replication之第六章 监控您的设置(1)
在本书的前几章,您已经学习了各种复制以及如何配额制各种类型的场景。现在是时候通过增加监控来让您的设置更加可靠了。
在本章中,您将学习监控什么以及如恶化实施合理的监控车辆。您将学习:
• 检查您的 XLOG 归档
• 检查 pg_stat_replication 系统视图
• 检查操作系统级别复制相关的进程
在本章的最后您应该能够正确地监控任何类型的复制设置。
6.1 检查您的归档
如果您计划使用即时恢复(PITR, Point-In-Time-Recovery)或如果您想使用XLOG归档来帮助您的流设置,各种事情都可能出错,例如:
• 传送XLOG 可能失败
• 清理存档可能失败
6.1.1 检查archive_command
一个失败的 archive_command 可能是您的设置中的最大的搅局者之一。
archive_command 的思想是传送 XLOG到一些归档并在那里存储数据。但是,如果由于某些原因这些XLOG不能被传送会发生什么?
答案很简单:master必须保持这些XLOG文件,以确保没有XLOG文件丢失。必须始终有一个不间断的XLOG文件的序列-如果序列文件中有一个文件丢失,您的slave将不能被恢复。例如,如果您的网络发生故障,master将积累这些文件并保留它们。从逻辑上讲,不能永远这样做,因此,在有些时候,您将面临您的master服务器磁盘空间不足的问题。
这是很危险的,因为您正在用尽您的磁盘空间,没有办法保持写入到数据库。尽管读取仍然是可能的,大多数的写肯定会亏失败,并会严重干扰您的系统。PostgreSQL不会失败,在一个磁盘被填满之后您的实例将完好无损,但是,正如之前所说的,您的服务将被中断。
为了防止这种事情 发生,建议监控您的pg_xlog目录并检查:
• 异常地高数量的XLOG文件
• 托管pg_xlog分区的可用磁盘空间
这里的核心问题是:检查出来的什么数字才是一个合理的数字?在PostgreSQL的标准配额制中不应该使用超过checkpoint_segments * 2 + wal_keep_segments这么多的XLOG文件。如果XLOG文件数开始大规模地增长,您会遇到一些奇怪的问题。
确保archive_command正常工作。
如果您正确地执行这些检查,在这方面不会发生不好的事情-如果您无法检查这些参数,您离危险就不远了。
6.1.2 监控事物日志归档
磁盘空间耗尽不只会发生在master上。同样的事情也会发生在您的归档上。所以,建议您也监控磁盘空间。
除了无论如何都要监控的磁盘空间,有一件事情您应该注意您的雷达。您必须拿出一个像样的策略来处理基础备份。请记住,只允许您删除比您想保存的最早的基础备份的XLOG还要早的XLOG。这个小东西会破坏您的磁盘空间监控。为什么呢?因为您必须保持一定量的数据,知道您正在耗尽磁盘空间是一件好事,但是就不能为之做点什么吗?强烈建议您确保您的归档有足够的备用容量。万一您的数据库系统需要写大量的事务日志,这是很重要的。
PostgreSQL Replication之第六章 监控您的设置(1)的更多相关文章
- PostgreSQL Replication之第六章 监控您的设置(4)
6.4 处理监控工具 还有几个监控工具可以使您的日常生活更轻松. 其中最流行的监控工具是Nagios.它被广泛地使用,也支持各种软件组件. 要使用 Nagios 来监控您的 PostgreSQL 集群 ...
- PostgreSQL Replication之第六章 监控您的设置(2)
6.2 检查pg_stat_replication 检查归档以及 archive_command主要用于即时恢复( PITR,Point-In-Time- Recovery).如果您想监控一个基于流的 ...
- PostgreSQL Replication之第六章 监控您的设置(3)
6.3 检查操作系统进程 一旦我们检查了归档以及我们的系统视图,我们就准备检查系统 进程.检查系统进程可能看起来有点粗糙,但它被证明非常有效. 在master上,我们可以简单地检查一个名为wal_se ...
- PostgreSQL Replication之第四章 设置异步复制(1)
执行完您的第一个即时恢复(PITR,Point-In-Time-Recovery),我们准备在一个真正的复制设置上工作.在本章,您将学会如何设置异步复制和流.我们的目标是确保您可以实现更高的高可用和更 ...
- PostgreSQL Replication之第十三章 使用PL/Proxy扩展(3)
13.3 聪明地扩展与处理集群 建立集群不是您面临的唯一任务.如果所有的事情都做完了并且系统已经运行了,您可能需要到处调整配置. 13.3.1 添加和移动分区 一旦一个集群启动并运行,您可能会发现您的 ...
- PostgreSQL Replication之第五章 设置同步复制(3)
5.3 冗余和停止复制 谈到同步复制,有一个现象一定不能被遗漏.想象一下,我们有一个同步复制的双节点集群.如果slave故障会发生什么?答案是master不能容易地区分慢slave和故障slave,因 ...
- PostgreSQL Replication之第四章 设置异步复制(4)
4.4 基于流和基于文件的恢复 生活并不总只是黑色或白色:有时也会有一些灰色色调.对于某些情况下,流复制可能恰到好处.在另一些情况下,基于文件复制和PITR是您所需要的.但是也有许多情况下,您既需要流 ...
- PostgreSQL Replication之第四章 设置异步复制(2)
4.2 配置级联复制 正如您在本章已经看到的,设置流复制真的很容易.只需要设置几个参数,做一个基础备份,并享受您的复制设置. 在许多情况下,这种情况更有一点点微妙.在这个例子中我们假设:我们要使用一个 ...
- PostgreSQL Replication之第三章 理解即时恢复(4)
3.4 重放事务日志 一旦我们创建了一个我们自己的初始基础备份,我们可以收集数据库创建的XLOG.当时间到时,我们可以使用所有这些XLOG 文件并执行我们所期望的恢复进程.这就像本节描述的一样工作. ...
随机推荐
- 如何获取Assets的路径
有两种方法可以获取assets的绝对路径: 第一种方法: String path = file:///android_asset/文件名; 第二种方法: InputStream abpath = ge ...
- NOIP2017提高组模拟赛5 (总结)
NOIP2017提高组模拟赛5 (总结) 第一题 最远 奶牛们想建立一个新的城市.它们想建立一条长度为N (1 <= N <= 1,000,000)的 主线大街,然后建立K条 (2 < ...
- [JZOJ 5911] [NOIP2018模拟10.18] Travel 解题报告 (期望+树形DP)
题目链接: http://172.16.0.132/senior/#contest/show/2530/1 题目: EZ同学家里非常富有,但又极其的谦虚,说话又好听,是个不可多得的人才. ...
- BZOJ 2045 容斥原理
思路: 同BZOJ 2005 http://blog.csdn.net/qq_31785871/article/details/54314774 //By SiriusRen #include < ...
- express+模板引擎构建项目时遇到的几个小问题
1.启动项目/调试项目 项目启动用:npm start 由于每次更改路由代码后必须重启服务才可以看效果,所以为了达到热加载的效果我们安装 supervisor:全局安装也可以: npm install ...
- Kettle学习系列之Kettle的起源
不多说,直接上干货! Kettle起源于十年以前,本世纪初.当时啊,ETL工具千姿百态,比较流行的工具有50个左右,ETL框架数量比工具还要多些. 根据这些工具的各自起源和功能可以分为以下4种类型,如 ...
- Wireshark filter语法
过滤器语法 ------------------------------------------------------------- 最简单的过滤允许你检查一个协议或者字段的存在.如果你想查看所有的 ...
- Linux基础03
** Linux基本操作常用命令(三) ** Linux的软件包 Linux的软件把分为“源码包”和“二进制包” 源码包:免费,开源 二进制包:系统默认包,即RPM包(上一节我们通过rpm卸载过ope ...
- 接口、索引器、Foreach的本质(学习笔记)
接口 什么是接口? 接口代表一种能力,和抽象类类似但比抽象类的抽象程度更高! 接口的定义: public interface IEat//定义一个接口 { void Eat(string food); ...
- Android之通过HttpURLConnection.getResponseCode状态码抛出异常的问题以及解决方法
1.最近,在学习解析json数据的时候遇到一个错误信息,错误信息如下图所示: 发现解析出来的数据为空,错误信息如上图所示,发现程序中的HttpUtils工具类的22行出现了错误和MainActiv ...