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

如何使用Monit部署服务器监控系统,第1张

Monit安装与配置

一、简介

Monit是一个在类unix平台下用于监视进程、文件、目录和设备的软件,可以修复停止运作或运作异常的程序,适合处理那些由于多种原因导致的软件错误。

二、安装

假定下面的安装和配置均在root身份下进行。

安装很简单,下载monit的源代码(现在最新版本是4101)monit-4101targz,将其放到适合的目录中,然后解压,configure(默认设置即可),make,make install 。具体在终端中使用如下命令:

tar –xzf monit-4101targz

cd monit-4101

/configure

make

make install

很快就可以安装完毕。

三、配置

安装完毕后,在monit源代码的目录将monit的配置文件monitrc拷贝到/etc目录下,使用命令:

cp monitrc /etc

注意/etc/monitrc这个文件的访问权限不能大于0700,所以可能还需要修改它的访问权限:

chmod 600 /etc/monitrc

然后打开/etc/monitrc这个文件进行配置,monit已经将大部分的配置的例子放在了里面,多数配置只需将配置前面的#(注释)去掉再做相应修改即可。我们主要用monit来监视tomcat服务器,所以配置如下:

set daemon 120 # 设置monit作为守护进程运行,并且每2分钟监视一次

# 2分钟是默认的时间间隔,从网上的看到的多个配置的例子

# 看到的时间间隔也是2分钟,应该是比较合理的

set logfile /var/log/monitlog # 设置日志文件的位置,如果要写入系统日志可以

# set logfile syslog

set httpd port 3000 and # monit内置了一个用于查看被监视服务

# 状态的http服务器,注意在防火墙中开启

# 该端口1,否则非localhost无法访问

use address 1921681184 # 设置这个http服务器的地址

# 若设置成localhost则只允许本地访问

allow localhost # 允许本地访问

allow 19216811/2552552550 # 允许内网访问

allow admin:monit11 # 设置使用用户名admin和密码monit11

# 来访问这个地址

set mailserver localhost # 设置邮件服务,设置后monit会将提示以

# 邮件的方式发送这里使用localhost为邮

# 件服务器地址,前提是本地已安装并开启

# 了sendmail服务

set alert 88fly@163com # 收邮件地址,如果要发送到多个地址

# 可以写多条这样的设置

# 下面设置监视tomcat

check process tomcat with pidfile /var/run/catalinapid # 这个要另外说明2

start program = "/etc/initd/tomcat start" # 设置启动命令

stop program = "/etc/initd/tomcat stop" # 设置停止命令

if 9 restarts within 10 cycles then timeout # 设置在10个监视周期内重

# 启了9次则超时,不再监视

# 这个服务。原因另外说明3

if cpu usage > 90% for 5 cycles then alert # 如果在5个周期内该服务

# 的cpu使用率都超过90%

# 则提示

# 若连续5个周期打开url都失败(120秒超时,超时也认为失败)

# 则重启服务

if failed url timeout 120 seconds for 5 cycles then restart

if failed url timeout 120 seconds for 5 cycles then restart

1可以使用命令:

/sbin/iptables -A INPUT -i eth0 -p tcp --dport 2812 -j ACCEPT

/sbin/service iptables save

2使用/var/run/catalinapid这个pid文件来检查tomcat这个服务(服务名可以随便起),tomcat进程默认是不使用pid文件的,pid文件需要显式为tomcat设置,可以打开tomcat目录下的bin目录,打开catalinash文件,在开头(但不是第一行)处加入:

CATALINA_PID=/var/run/catalinapid

即可指定pid文件,然后重启tomcat,这样就可以monit的配置中指定pid文件了。

3设置超时后不再监视是为了让服务不要一直重启,如果连续重启多次不成功,极有可能再重启下去也不会成功的。并且tomcat的重启需要占用大量系统资源,假如一直重启下去,反而会使其它服务也无法正常运作。

如果要监视其它服务,可以加入更多的监视逻辑,例如要监视mysql服务,可以:

check process mysql with pidfile /var/run/mysqld/mysqldpid

start program = /etc/initd/mysqld start"

stop program = "/etc/initd/mysqld stop"

if failed host 127001 port 3306 then restart

if 5 restarts within 5 cycles then timeout

监视ssh服务:

check process sshd with pidfile /var/run/sshdpid

start program "/etc/initd/sshd start"

stop program "/etc/initd/sshd stop"

if failed port 22 protocol SSH then restart

if 5 restarts within 5 cycles then timeout

如果监视的服务比较多,可以将各个服务的监视逻辑放在不同的文件,然后使用include命令包含进来,使配置文件更加清晰。例如:

include /etc/monit/includes/mysqld

上面的设置完后,设置monit随系统启动,在/etc/inittab文件的最后加入

# Run monit in standard run-levels

mo:2345:respawn:/usr/local/bin/monit -Ic /etc/monitrc

然后使用命令

telinit q

启动monit。

四、要注意的问题

由于将monit设置成了守护进程,并且在inittab中加入了随系统启动的设置,则monit进程如果停止,init进程会将其重启,而monit又监视着其它的服务,这意味着monit所监视的服务不能使用一般的方法来停止,因为一停止,monit又会将其启动要停止monit所监视的服务,应该使用monit stop name这样的命令,例如要停止tomcat:

monit stop tomcat

要停止全部monit所监视的服务可以使用monit stop all

要启动某个服务可以用monit stop name这样的命令,启动全部则是monit start all

以上转自:

今天研究了下monit 如上兄弟写的很详细,就直接拿来主义了,补充下短信告警

因公司有短信接口所以就直接发送告警,如下:

监控本机部分性能:

check system 127001

if loadavg (5min) > 4 for 4 times 5 cycles then exec "/etc/monit/script/sendsms sysload 5min >4"

if memory usage > 90% then exec "/etc/monit/script/sendsms 127001 memory useage>90%"

if cpu usage (user) > 70% for 4 times within 5 cycles then exec "/etc/monit/script/sendsms cpu(user) >70%"

if cpu usage (system) > 30% for 4 times within 5 cycles then exec "/etc/monit/script/sendsms cpu(system) >30% "

if cpu usage (wait) > 20% for 4 times within 5 cycles then exec "/etc/monit/script/sendsms system busy! cpu(wait) >20%"

监控远程机器的部分端口:

check host Unicom_mobi with address 2119024651

if failed icmp type echo count 10 with timeout 20 seconds then exec "/etc/monit/script/sendsms Unicom_mobi 2119024651 ping failed!"

if failed port 22 type tcp with timeout 10 seconds for 2 times within 3 cycles then exec "/etc/monit/script/sendsms unicom 2119024651:2222 connect failed!"

if failed port 9528 type tcp with timeout 10 seconds for 2 times within 3 cycles then exec "/etc/monit/script/sendsms unicom 2119024651:9528 connect failed!"

if failed port 9529 type tcp with timeout 10 seconds for 2 times within 3 cycles then exec "/etc/monit/script/sendsms unicom 2119024651:9529 connect failed!"

if failed port 9530 type tcp with timeout 10 seconds for 2 times within 3 cycles then exec "/etc/monit/script/sendsms unicom 2119024651:9530 connect failed!"

monit好处是可以在监控故障设置重启服务和执行自定义脚本,如下

check file passwd path /etc/passwd

# if failed md5 checksum

# then exec "/usr/bin/killall -q monit"

2 check filesystem root with path /dev/mapper/VolGroup00-LogVol00

if space usage > 80% for 5 times within 15 cycles then exec "/etc/monit/script/clear_coresh"

else if succeed for 1 times within 2 cycles then exec "/etc/monit/script/sendsms '/dev/sda1 usage > 90% clear core file succeed!'>/dev/null 2"

其实现在网上的服务器监控软件挺多的,我现在用下来觉得云帮手挺好的,服务器监控功能也满足我的需求。

分别有对CPU、内存、磁盘、网络等方面的监控,可以实时查看CPU、磁盘、内存、网络的使用状况。

还可以自己设定告警通知,规定某段时间范围内,CPU、内存、磁盘、网络等资源平均使用率超过自己设定的区间即可发送告警信息,不用时时盯着监控数据,很方便。

1 Performance Co-Pilot

Performance Co-Pilot,简称 PCP,是一个系统性能和分析框架。它从多个主机整理数据并实时的分析,帮你识别不正常的表现模式。它也提供 API 让你设计自己的监控和报告解决方案。

2 Anturis

Anturis 是一个监控你的服务器、网站、IT基础设置的基于云计算的SaaS平台。它有一个全面的监控解决方案列表,非常值得一看。

3 SeaLion

SeaLion 是一个基于云计算的Linux服务器监控工具。它可以用一个面板简单的监控所有的服务器并且诊断问题。它只需要几分钟就可以安装好,具有及时提醒功能,当发生问题时你可以及时的收到提醒,还具有日常数据汇总等功能。

4 Icinga

Icinga 是一个免费开源的服务器监控工具,可以检测服务器资源的可用性。它可以记录服务器问题并且通知你。

5 Munin

Munin 是一个网路和系统监控工具,可以帮你分析服务器资源趋势。它是一个即插即用的解决方案。默认的安装方式提供了很多的报告。

主要功能是提供服务器远程登陆的监控邮件通知的功能,配合特殊方式可实现短信通知的功能!

一功能:

1设定登陆时间,非登陆时间登陆系统,将执行预定的命令(如logoff注销系统)

2当系统被登录时会向指定的邮箱发送提示邮件

3只允许指定用户登录

4系统日志功能,可以对软件的运行情况进行全方位的监控

二后门

当然非登陆时间假如我们非要登陆服务器怎么办

打开程序,看到个后门密码了没?设置好,保存!

登陆服务器前,在本地系统的剪贴板中预存本密码(不会?找个可以输入文本的地方,输入你的密码,然后复制下来就可以了),再登陆远程服务器,这样本程序就会检测剪贴板中的内容

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何使用Monit部署服务器监控系统

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情