PUB:20150601 How to monitor common services with Nagios

@geekpi
This commit is contained in:
wxy 2015-07-02 16:34:10 +08:00
parent f1d7823522
commit 24bbe452a5

View File

@ -1,12 +1,12 @@
如何用Nagios监控服务
如何用 Nagios 监控通用服务
================================================================================
Nagios内置了很多脚本来监控服务。本篇会使用其中一些来检查通用服务如MySql、Apache、DNS等等。
为了保证本篇集中在系统监控,我们不会配置hostgroup或者模板它们已经在 [前面的教程][1]中覆盖了,它们可以满足这些条件了。
为了保证本篇集中在系统监控,我们不会在这里配置主机组或者模板,它们已经在 [前面的教程][1]中覆盖了,它们可以满足需要了。
### 在命令行中运行Nagios ###
通常建议在添加到Nagios前在命令行中运行Nagios服务检测脚本。它会给出执行是否成功以及脚本的输出将会看上去的样子。
通常建议在添加到Nagios前,先在命令行中运行Nagios服务检测脚本。它会给出执行是否成功以及脚本的输出将会看上去的样子。
这些脚本存储在 /etc/nagios-plugins/config/ ,可执行文件在 /usr/lib/nagios/plugins/。
@ -39,9 +39,9 @@ Nagios内置了很多脚本来监控服务。本篇会使用其中一些来检
- Server 1 (10.10.10.1) : MySQL, Apache2
- Server 2 (10.10.10.2) : Postfix, Apache2
- Server 3 (10.10.10.3): DNS
- Server 3 (10.10.10.3) : DNS
首先服务器被定义在了Nagios中。
首先,这些服务器被定义在了Nagios中。
root@nagios:~# vim /etc/nagios3/conf.d/example.cfg
@ -79,43 +79,43 @@ Nagios内置了很多脚本来监控服务。本篇会使用其中一些来检
开始检测MySQL时需要记住MySQL默认只监听回环接口127.0.0.1。这增加了数据库的安全。手动调节需要告诉MySQL该监听什么其他接口。下面是该怎么做。
这个设置在所有的MySQL服务器上已经做了
这个设置要在所有的MySQL服务器上完成
root@nagios:~# vim /etc/mysql/my.cnf
下面这行被注释掉了来监听所有接口。
下面这行被注释掉以监听所有网络接口。
#bind-address = 127.0.0.1
同样MySQL将不会运行任何主机来连接到它。在本机和任意主机都创建了用户nagios。这个用户接着在所有的数据库中被授予所有的权限这将在会用在监控中。
同样MySQL也不会让任意主机来连接它。需要为localhost和“任意”主机创建MySQL用户nagios接着在所有的数据库中为这个用户授予ALL权限这将在会用在监控中。
下面的设置对所有的MySQL服务器都已经设置。
root@nagios:~# mysql -u root p
## MySQL root password here ##
## MySQL root 密码 ##
'nagios@localhost'用户在MySQL服务器中创建了
在MySQL服务器中创建'nagios@localhost'用户。
mysql> CREATE USER 'nagios'@'localhost' IDENTIFIED BY 'nagios-pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'nagios'@'localhost';
'nagios@any-host'用户创建了。
创建'nagios@任意主机'用户。LCTT 译注实际上这两个是同一个用户只是分别授权给localhost和任意主机的访问因为它们所用的密码的同一个修改任何一个另外一个也相应变化。
mysql> CREATE USER 'nagios'@'%' IDENTIFIED BY 'nagios-pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'nagios'@'%';
mysql> FLUSH PRIVILEGES;
这使MySQL监听所有的接口同样接受来自用户'nagios'的进入接。
这使MySQL监听所有的网络接口,同样接受来自用户'nagios'的进入接。
请注意,这种变化可能有安全隐患,所以需要说几句话
请注意,这种修改可能有安全隐患,所以需要提示几点
- 这个设置将会暴露MySQL给所有的接口包括WAN。确保只有合法的网络访问是非常重要的。应该使用防火墙和TCP封装器等过滤器。
- MySQL用户nagios的密码应该非常强。如果只有几台Nagios服务器,那么应该创建'nagios@servername'用户而不是任意用户的'nagios@%'。
- 这个设置将会暴露MySQL给所有的接口包括外网。确保只有合法的网络访问是非常重要的。应该使用防火墙和TCP wrapper等过滤器。
- MySQL用户nagios的密码应该非常强。如果只有几台Nagios服务器,那么应该创建'nagios@服务器名'用户而不是任意用户的'nagios@%'。
#### 对MySQL的NAgios配置 ####
#### 对MySQL的Nagios配置 ####
用下面的来做一些调整。
按如下配置来做一些调整。
root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg
@ -140,7 +140,7 @@ Nagios内置了很多脚本来监控服务。本篇会使用其中一些来检
;check_mysql!userName!userPassword!databaseName
}
这样,Nagios就可以同时监控MySQL服务器和数据库的可用性。
这样Nagios就可以同时监控MySQL服务器及其数据库的可用性。
### 监控Apache服务器 ###
@ -148,7 +148,7 @@ Nagios同样也可以监控Apache服务。
#### Apache监控需要 ####
- 监控apache是否可用
- 监控apache服务是否可用
这个任务非常简单因为Nagios有一个内置命令。
@ -167,7 +167,7 @@ Nagios同样也可以监控Apache服务。
### 监控DNS服务 ###
Nagios通过向DNS服务器查询一个完全合格域名FQDN,或者使用dig工具来查询。默认用于FQDN的是www.google.com但是这个可以按需改变。按照下面的文件修改来完成这个任务。
Nagios通过向DNS服务器查询一个完全限定域名FQDN或者使用dig工具来查询。默认用于查询的FQDN的是www.google.com但是这个可以按需改变。按照下面的文件修改来完成这个任务。
root@nagios:~# vim /etc/nagios-plugins/config/dns.cfg
@ -203,8 +203,7 @@ Nagios通过向DNS服务器查询一个完全合格域名FQDN,或者使用
### 监控邮件服务器 ###
Nagios可以监控不同的邮件服务组件如SMTP、POP、IMAP和mailq。之前提过server-2设置了后缀邮件服务。Nagios将被配置来监控SMTP和邮件队列。
Nagios可以监控不同的邮件服务组件如SMTP、POP、IMAP和mailq。之前提过server-2设置了Postfix邮件服务。Nagios将被配置来监控SMTP和邮件队列。
root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg
@ -231,11 +230,11 @@ Nagios可以监控不同的邮件服务组件如SMTP、POP、IMAP和mailq。之
### 基于端口自定义监控程序 ###
让我们假设下面的自定义程序同样运行在网络中,监听一个特定的端口。
让我们假设如下定制程序同样运行在网络中,监听着一个特定的端口。
- 测试1号服务器自定义程序TCP端口 12345
- 测试1号服务器定制程序TCP端口 12345
过一些小的调整Nagios也可以帮助监控这个程序。
做一些小的调整Nagios也可以帮助我们监控这个程序。
root@nagios:~# vim /etc/nagios3/conf.d/services_nagios2.cfg
@ -248,12 +247,11 @@ Nagios可以监控不同的邮件服务组件如SMTP、POP、IMAP和mailq。之
check_command check_tcp!12345
}
结之前Nagios可以监控网络很多其他的方面。存储在/etc/nagios-plugins/config/中的脚本为Nagios很棒的能力。
在结之前的提示Nagios可以监控网络很多其他的方面。存储在/etc/nagios-plugins/config/中的脚本为Nagios提供了很棒的能力。
一些Nagios提供的脚本被仅限于本地服务器比如服务器负载、进程并发数量、登录用户数量等。这些检查可以提供Nagios服务器内有用的信息。
一些Nagios提供的脚本被限制在本地服务器。例子包含服务负载、进程并发数量、登录用户数量。这些检查可以提供Nagios服务器内有用的信息。
希望这篇有用。
希望这篇文章对你有用。
--------------------------------------------------------------------------------
@ -261,9 +259,9 @@ via: http://xmodulo.com/monitor-common-services-nagios.html
作者:[Sarmed Rahman][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:http://xmodulo.com/author/sarmed
[1]:http://xmodulo.com/install-configure-nagios-linux.html
[1]:https://linux.cn/article-2436-1.html