使用 Nagios 监控 MySQL 集群

2 nagios

我想弄清楚如何使用 Nagios 监控 MySQL 集群。

我在http://blog.unixmaniacs.com/2008/12/mysql-cluster-ndbd-monitoring-with.html 上找到了以下信息,但是我一无所获。

我究竟如何安装插件?

Mat*_*ons 5

好的,Nagios 101

您的 Nagios 安装很可能位于 /usr/local/nagios/

在其之下,您有很多目录,但插件进入的目录是 libexec。如果你 'cd' 进入那里,做一个 'ls' 并检查它。这些是您现在可以使用的所有插件。大多数,如果你自己运行它们,会给你示例用法。

顺便说一句,如果您知道如何编程,则可以编写自己的脚本来检查您想要的任何内容。脚本的语言无关紧要,只要机器可以运行它。我用 bash 编写我的,很多人使用 perl,默认情况下(大部分?)是用 C 编写的。

无论如何,一旦您将插件放入目录中,您就必须告诉 Nagios。转到“/usr/local/nagios/etc/”。如果您最近安装了(即 3.0 或更高版本),您应该有一个“objects”目录。在那里,默认情况下,您将拥有一个“commands.cfg”。编辑它,并检查现有条目。他们都是格式

define command{
    command_name    command_name
    command_line    command_line
Run Code Online (Sandbox Code Playgroud)

}

把你的新插件放在底部。

define command{ 
    command_name      my_mysql_check
    command_line      $USER1$/whatever
} 
Run Code Online (Sandbox Code Playgroud)

“$USER1$”是一个指向 /usr/local/nagios/libexec 目录的 Nagios 宏。您可以编辑“resources.cfg”以查看还有什么可用的,甚至可以添加宏。

无论如何,既然我们已经在那里获得了命令,我们必须建立一个服务来利用它。

保存commands.cfg 并编辑“services.cfg”。请注意,所有内容均采用以下格式:

define service{
     host_name server
     service_description whatever
     etc 
     etc
} 
Run Code Online (Sandbox Code Playgroud)

这些设置了实际的服务描述,并且“host_name”将其分配给服务器。创建服务时请查看此处的文档。红色的东西是必要的,其他的用于改进您的服务检查的行为方式。

我希望这在某种程度上有所帮助。如果没有,请回复并告诉我。您还应该知道 Nagios 配置的默认布局很简单但效率低下。我写了一些关于我如何布局的文档,它为我节省了大量时间来尝试准确地找到我正在寻找的定义。根据您的安装,它可能是矫枉过正。

http://www.standalone-sysadmin.com/blog/2009/07/nagios-config/

祝你好运!