Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


如何使用Monit部署服务器监控系统

2015-5-30 23:14    评论: 5 收藏: 5    

在这个教程的其余部分,我们演示监控一个本地服务器和常见服务的方法。你会在官方wiki页面看到很多有用的例子。其中的多数是可以直接复制粘贴的!

Service Configuration: CPU/Memory Monitoring (服务配置:CPU、内存监控)

我们先来监控本地服务器的CPU、内存占用。复制如下代码段到配置文件中。

check system localhost
    if loadavg (1min) > 10 then alert
    if loadavg (5min) > 6 then alert
    if memory usage > 75% then alert
    if cpu usage (user) > 70% then alert
    if cpu usage (system) > 60% then alert
    if cpu usage (wait) > 75% then alert

你可以很容易理解上边的配置。最上边的check是指每个监控周期(全局配置里设置的120秒)都对本机进行下面的操作。如果满足了任何条件,monit守护进程就会使用邮件发送一条报警。

如果某个监控项不需要每个周期都检查,可以使用如下格式,它会每240秒检查一次平均负载。

if loadavg (1min) > 10 for 2 cycles then alert

Service Configuration: SSH Service Monitoring (服务配置:SSH服务监控)

先检查我们的sshd是否安装在/usr/sbin/sshd:

check file sshd_bin with path /usr/sbin/sshd

我们还想检查sshd的启动脚本是否存在:

check file sshd_init with path /etc/init.d/sshd

最后,我们还想检查sshd守护进程是否存活,并且在监听22端口:

check process sshd with pidfile /var/run/sshd.pid
   start program  "/etc/init.d/sshd start"
   stop program  "/etc/init.d/sshd stop"
   if failed port 22 protocol ssh then restart
   if 5 restarts within 5 cycles then timeout

我们可以这样解释上述配置:我们检查是否存在名为sshd的进程,并且有一个保存其pid的文件存在(/var/run/sshd.pid)。如果任何一个不存在,我们就使用启动脚本重启sshd。我们检查是否有进程在监听22端口,并且使用的是SSH协议。如果没有,我们还是重启sshd。如果在最近的5个监控周期(5x120秒)至少重启5次了,sshd就被认为是不能用的,我们就不再检查了。

Service Configuration: SMTP Service Monitoring (服务配置:SMTP服务监控)

现在我们来设置一个检查远程SMTP服务器(如192.168.111.102)的监控。假定SMTP服务器运行着SMTP、IMAP、SSH服务。

check host MAIL with address 192.168.111.102
   if failed icmp type echo within 10 cycles then alert
   if failed port 25  protocol smtp then alert
             else if recovered then exec "/scripts/mail-script"
   if failed port 22  protocol ssh  then alert
   if failed port 143 protocol imap then alert

我们检查远程主机是否响应ICMP协议。如果我们在10个周期内没有收到ICMP回应,就发送一条报警。如果监测到25端口上的SMTP协议是异常的,就发送一条报警。如果在一次监测失败后又监测成功了,就运行一个脚本(/scripts/mail-script)。如果检查22端口上的SSH或者143端口上的IMAP协议不正常,同样发送报警。

总结

在这个教程,我演示了如何在本地服务器设置Monit,当然这只是Monit功能的冰山一角。你可以花些时间阅读Monit的man手册(写得很好)。Monit可以为任何Linux系统管理员做很多事情,并且具有非常优美和易于理解的语法。如果你将一个集中式的远程监控系统和Monit一同使用,你会得到一个更可靠的监控系统。你感觉Monit怎么样?


via: http://xmodulo.com/server-monitoring-system-monit.html

作者:Iulian Murgulet 译者:goreliu 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

12
查看其它分页:

发表评论


最新评论

我也要发表评论

linux [Chrome 47.0|Mac 10.11] 2016-1-13 16:50
1
来自浙江杭州的 Chrome 47.0|Windows 7 用户 发表于 2016-1-12 20:38 的评论:
很好的软件,但是有一个问题请教,邮件发送的时间和真实的时间相隔8个小时,可以在哪里更改吗?
那显然是时区没配对。
回复
来自浙江杭州的 Chrome 47.0|Windows 7 用户 2016-1-12 20:38
很好的软件,但是有一个问题请教,邮件发送的时间和真实的时间相隔8个小时,可以在哪里更改吗?
回复
toplover [Chrome 43.0|Windows 7] 2015-12-2 12:57
相当强悍的小东东,监控linux系统信息。
1 回复
xunil 2015-6-7 14:38
测试了一下,的确很轻量。
但是好像不能对lvm的分区进行监控。
3 回复
浩浩君 2015-5-31 03:38
长见识了,只是想知道上图那狗狗是啥品种呢?
6 回复

热点评论

浩浩君 2015-5-31 03:38
长见识了,只是想知道上图那狗狗是啥品种呢?
6
xunil 2015-6-7 14:38
测试了一下,的确很轻量。
但是好像不能对lvm的分区进行监控。
3
toplover [Chrome 43.0|Windows 7] 2015-12-2 12:57
相当强悍的小东东,监控linux系统信息。
1
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。