6.4 处理监控工具

还有几个监控工具可以使您的日常生活更轻松。

其中最流行的监控工具是Nagios。它被广泛地使用,也支持各种软件组件。

要使用 Nagios 来监控您的 PostgreSQL 集群,需要安装一个方面运行复制相关测试的插件。这样的适用于PostgreSQL 的插件可以自由地从 http://bucardo.org/wiki/Check_postgres下载。适用于 Nagios的一个插件Burcardo不仅能够用于测试复制,而且还是一个监控 PostgreSQL 的标准软件组件。

6.4.1 安装check_postgres

一旦您已经从Bucardo的网站下载了插件,安装该软件是很容易的。第一步是提取.tar归档:

tar xvfz check_postgres.tar.gz

现在,您可以进入新创建的目录并运行Perl Makefile:

perl Makefile.PL

最后您可以编译并安装代码:

make

make install

最后一步必须使用root用户来执行,因为不这样的话,您可能没有足够的权限在您的系统上部署代码。

在我们的例子中,二进制文件被安装在/usr/local/bin目录下。我们可以容易地通过运行如下命令来检查是否已经成功地安装了:

/usr/local/bin/check_postgres.pl --help

直接启动 check_postgres.pl 也是在命令行提示符下调用这些插件并检查结果是否有意义的方式。

我们希望您把注意力集中在 custom_query 功能上。如果检查有缺失,缺失的东西是需要的,但是不能用,custom_query会帮助您。

6.4.2 决定监控策略

人们经常会问可Nagios的无数的检查中的哪些检查,他们可以用来配置它的数据库系统。 对我们来说,问题的答案只能是:这要看情况。如果您碰巧运行了一个大型数据库分析,该数据库将只能有少数人使用,检查打开的数据库连接数可能是没有用的。如果您碰巧运行了一个服务于成千上万用户的高性能的 OLTP 系统,检查打开的连接可能是个好注意。

这真的取决于您运行的应用的类型,所以您必须自己思考并得出一个合理的检查想和阀值。从逻辑上讲,这同样也适用于任何其它您能潜在地想起的监控软件。这些规则都是一样的:想想您的应用程序在做什么,考虑一下可能出错的事情。基于这些信息,您可以选择适当的检查。所有可用的检查列表可以在http://bucardo.org/check_postgres/check_postgres.pl.html找到。

6.5 总结

在本章中,您学习了许多关于监控的知识。我们看到了在归档中检查什么,我们已经看到如何解释PostgreSQL内部系统视图。最后,我们看到了在操作系统级别检查哪些进程。

在一般情况下,推荐使用专业的监控软件如Zabbix,Nagios和其它的能够自动运行测试和自动发出通知的软件。

所有这些检查将为您的数据库设置提供一个相当不错的安全网。

下一章专门讲高可用性。将为您介绍高可用性相关的重要概念,我们将引导您完成这些基础知识。

PostgreSQL Replication之第六章 监控您的设置(4)的更多相关文章

  1. PostgreSQL Replication之第六章 监控您的设置(1)

    在本书的前几章,您已经学习了各种复制以及如何配额制各种类型的场景.现在是时候通过增加监控来让您的设置更加可靠了. 在本章中,您将学习监控什么以及如恶化实施合理的监控车辆.您将学习: • 检查您的 XL ...

  2. PostgreSQL Replication之第六章 监控您的设置(2)

    6.2 检查pg_stat_replication 检查归档以及 archive_command主要用于即时恢复( PITR,Point-In-Time- Recovery).如果您想监控一个基于流的 ...

  3. PostgreSQL Replication之第六章 监控您的设置(3)

    6.3 检查操作系统进程 一旦我们检查了归档以及我们的系统视图,我们就准备检查系统 进程.检查系统进程可能看起来有点粗糙,但它被证明非常有效. 在master上,我们可以简单地检查一个名为wal_se ...

  4. PostgreSQL Replication之第四章 设置异步复制(1)

    执行完您的第一个即时恢复(PITR,Point-In-Time-Recovery),我们准备在一个真正的复制设置上工作.在本章,您将学会如何设置异步复制和流.我们的目标是确保您可以实现更高的高可用和更 ...

  5. PostgreSQL Replication之第十三章 使用PL/Proxy扩展(3)

    13.3 聪明地扩展与处理集群 建立集群不是您面临的唯一任务.如果所有的事情都做完了并且系统已经运行了,您可能需要到处调整配置. 13.3.1 添加和移动分区 一旦一个集群启动并运行,您可能会发现您的 ...

  6. PostgreSQL Replication之第五章 设置同步复制(3)

    5.3 冗余和停止复制 谈到同步复制,有一个现象一定不能被遗漏.想象一下,我们有一个同步复制的双节点集群.如果slave故障会发生什么?答案是master不能容易地区分慢slave和故障slave,因 ...

  7. PostgreSQL Replication之第四章 设置异步复制(4)

    4.4 基于流和基于文件的恢复 生活并不总只是黑色或白色:有时也会有一些灰色色调.对于某些情况下,流复制可能恰到好处.在另一些情况下,基于文件复制和PITR是您所需要的.但是也有许多情况下,您既需要流 ...

  8. PostgreSQL Replication之第四章 设置异步复制(2)

    4.2 配置级联复制 正如您在本章已经看到的,设置流复制真的很容易.只需要设置几个参数,做一个基础备份,并享受您的复制设置. 在许多情况下,这种情况更有一点点微妙.在这个例子中我们假设:我们要使用一个 ...

  9. PostgreSQL Replication之第三章 理解即时恢复(4)

    3.4 重放事务日志 一旦我们创建了一个我们自己的初始基础备份,我们可以收集数据库创建的XLOG.当时间到时,我们可以使用所有这些XLOG 文件并执行我们所期望的恢复进程.这就像本节描述的一样工作. ...

随机推荐

  1. LeetCode——Copy List with Random Pointer

    A linked list is given such that each node contains an additional random pointer which could point t ...

  2. php在数字前面补0得到固定长度数字的两种方法

    比較基础,事实上两个内置函数都能实现. 1  sprintf 语法: string sprintf(string format, mixed [args]...); 返回值: 字符串 函数种类: 资料 ...

  3. C++ STL之list具体解释

    list容器是一个双向链表,能够高效地进行插入删除元素. 构造函数 list<Elem> c;//空list list<int> c(3);//创建一个含有三个默认值是0的元素 ...

  4. 在Visual Studio Code中使用C#以及.net core

    Working with C# Using .NET Core in Visual Studio Code Note: VS Code does not support debugging appli ...

  5. Nginx访问VM虚拟机CentOS 7系统与本地Windows系统共享目录403

    用VMware安装了CentOS7系统,并搭建了Nginx,MySQL,PHP的web项目运行环境,为了方便Windows本地主机进行程序调试把Windows本地项目目录共享到了虚拟机CentOS中的 ...

  6. C# 热敏打印机 小票打印机 打印图片

    最近一直在研究并口小票打印机打印图片问题,这也是第一次和硬件打交道,不过还好,最终成功了. 这是DEMO的窗体: 下面是打印所需要调用的代码: 因为我们这里主要是打印条形码和二维码,所以以条形码和二维 ...

  7. 常用类Object,String类详解

    -------------------- String -----------------------1.求字符串长度 public int length()//返回该字符串的长度 String st ...

  8. CSS3中的transition

    W3C标准中对CSS3的transition是这样描述的: CSS的transition允许CSS的属性值在一定的时间区间内平滑地过渡.这种效果可以在鼠标单击,获得焦点,被点击或对元素任何改变中触发, ...

  9. Spring MVC 搭建过程中web.xml配置引入文件的路径问题

    为啥要说一下这么low的问题,因为我是一个比较low的人,哈哈.本来我技术有限,没事干自己撘个环境找找乐趣,结果被各种基础问题,弄的一脸蒙蔽.算了不多说,直接说问题. 1.首先说一下java编译后的文 ...

  10. Ajax通过script src特性加载跨域文件 jsonp

    <!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Do ...