`
gaojingsong
  • 浏览: 1200915 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【开源服务器监控工具Monit】

阅读更多

Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,适用于Linux/Unix平台。 它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误,同时Monit 包含一个内嵌的 HTTP(S) Web 界面,你可以使用浏览器方便地查看 Monit 所监视的服务器。Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,用于Unix平台。 它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误。monit运行于应用层。Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序、插件或者库。Monit可以监控服务器进程状态、HTTP/TCP状态码、服务器资源变化、文件系统变动等等,根据这些变化,可以设定邮件报警、重启进程或服务。易于安装、轻量级的实现以及强大的功能,让Monit成为一个理想的后备监控工具。



 

 

What Monit can do

Proactive adj. 积极主动的; 前摄的; 主动出击的; 先发制人的;

Monit can act if an error situation should occur, e.g.; if sendmail is not running, Monit can start sendmail again automatically or if apache is using too much resources (e.g. if a DoS attack is in progress) Monit can stop or restart apache and send you an alert message. Monit can also monitor process characteristics, such as; how much memory or cpu cycles a process is using.

 

Processes

You can use Monit to monitor daemon processes or similar programs running on localhost. Monit is particularly useful for monitoring daemon processes, such as those started at system boot time from /etc/init/ For instance sendmail, sshd, apache and mysql.

 

Files, Dirs and Filesystems

You can also use Monit to monitor files, directories and filesystems on localhost. Monit can monitor these items for changes, such as timestamps changes, checksum changes or size changes. This is also useful for security reasons - you can monitor the md5 or sha1 checksum of files that should not change and get an alert or perform an action if they should change.

 

Cloud and Hosts

Monitor network connections to various servers, either on localhost or on remote hosts. TCP, UDP and Unix Domain Sockets are supported. Network tests can be performed on a protocol level; Monit has built-in tests for the main Internet protocols, such as HTTP, SMTP etc. Even if a protocol is not supported you can still test the server as you can configure Monit to send any data and test the response from the server.

 

Programs and scripts

Monit can be used to test programs or scripts at certain times, much like cron, but in addition, you can test the exit value of a program and perform an action or send an alert if the exit value indicates an error. This means that you can use Monit to perform any type of check you can write a script for.

 

System

Finally, Monit can be used to monitor general system resources on localhost such as overall CPU usage, Memory and Load Average.

 

 

下面是一个简单的例子,配置文件中已经包含了大量的例子,可以看配置文件参考。

 

set daemon  120        #设置检测时间

set logfile /var/log/monit.log        #monit日志

set alert www@vpser.net with reminder on 1 cycle  #出现1次错误的时候发报警邮件到指定的邮箱

set mailserver mail.vpser.net     #设置邮件服务器

set httpd port 2812 and            # 设置http监控页面的端口

     use address 74.207.246.99   # http监控页面的IP

     allow localhost               # 允许本地访问

     allow 123.23.45.0/24           # 允许此IP段访问

     #allow 0.0.0.0/0.0.0.0       # 允许所有IP访问

     allow username:password     #设置访问用户名密码

 

#检测sshd服务

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

 

#检测mysql服务

check process mysql with pidfile /usr/local/mysql/var/vpser.pid

   group database

   start program = "/etc/init.d/mysql start"

   stop program = "/etc/init.d/mysql stop"

   if failed host 127.0.0.1 port 3306 then restart

   if 5 restarts within 5 cycles then timeout

 

#检测nginx服务

 check process nginx with pidfile /usr/local/nginx/logs/nginx.pid

    start program = "/etc/init.d/nginx start"

    stop program  = "/etc/init.d/nginx stop"

    if failed host www.vpser.net port 80 protocol http

       then restart

配置中的pid及启动、关闭脚本的路径一定要是全路径,且参数一定要正确否则会造成无法正常检测或正常启动。

  • 大小: 38.2 KB
0
0
分享到:
评论

相关推荐

    如何借助Monit搭建服务器监控系统-.docx

    Monit 服务器监控系统搭建指南 一、Monit 介绍 Monit 是一种跨平台的开源工具,用于监控 Unix/Linux 系统。它安装起来非常容易,也非常轻量级(大小只有 500KB),并不需要任何第三方程序、插件或代码库。Monit ...

    centos7安装monit

    Monit 是一个开源的系统和进程监控工具,它可以在Linux系统中用来监控系统服务、文件、目录、网络接口等,并在出现问题时进行自动修复或通知管理员。CentOS 7是基于RHEL(Red Hat Enterprise Linux)的一个流行的...

    dogpack:Monit集群管理工具

    `dogpack` 是一个专为监控和管理服务器集群而设计的工具,它利用了 `Monit` 这一强大的系统和进程监控软件。Monit 允许用户监控系统资源如 CPU 使用率、内存消耗、磁盘空间以及网络服务的状态,当检测到异常时,它...

    monit-4.9.tar

    Monit 是一款在 Unix-like 系统中广泛使用的开源监控工具,主要用于监控系统服务、文件、目录、程序以及网络资源的状态。"monit-4.9.tar" 是这个软件的一个特定版本,通常以 tar 归档文件的形式提供,用于在各种 ...

    monit-5.4.tar.gz

    Monit 是一个开源工具,用于管理系统进程、文件系统、网络接口和系统状态。在Linux和Unix-like系统中,Monit 可以监控指定的服务是否正常运行,并在出现问题时自动修复或重启服务,确保系统的稳定性和可靠性。这个...

    Ansible-ansible-role-monit.zip

    Monit 是一个开源的系统监控工具,能够监控系统进程、文件、目录、网络服务等,并在出现问题时进行自动修复或报警。通过Monit,你可以确保你的服务始终处于运行状态,如果出现异常,如进程崩溃或资源消耗过高,Monit...

    Node.js-基于pm2的nodejs监控工具

    5. **私有化部署**: 这个监控工具允许用户在自己的服务器上部署,确保数据安全和隐私。 6. **源代码开放**: 开源意味着社区支持和持续改进,用户可以根据需求进行定制和扩展。 **使用流程** 1. 安装PM2:在Node.js...

    基于Ubuntu Nginx Mongrel Mysql部署rails monit-5.0

    6. **Monit**:Monit是系统监控工具,版本5.0在这里。它允许管理员监控和管理进程、文件系统、网络资源等,当检测到异常时可以自动恢复服务或者发送警报。在Rails环境里,Monit确保了Nginx、Mongrel和MySQL等关键...

    python-monit:与Monit对话的Python库

    总的来说,`python-monit` 是Python开发者管理和监控Monit系统的强大工具,它使得系统监控和自动化变得更加便捷。通过这个库,你可以构建更复杂、更智能的运维解决方案,提高运维效率,保障系统的稳定运行。

    RUBYONRAILS服务器配置[总结].pdf

    - Monit是一个开源的进程监控工具,可以监视系统资源和服务的状态,当出现问题时自动采取行动。配置Monit需要编辑`/etc/monit/monitrc`,设置HTTP端口、权限控制和监控项。 - 对Nginx和Redis的监控,分别在`/etc/...

    centos上搭建mobit

    Monit是一款功能强大的开源工具,用于监控Linux服务器上的系统、进程、文件系统、目录和网络服务等资源。当检测到异常时,Monit能自动重启或采取其他预定义的操作。此外,Monit还提供了Web UI界面,使得用户可以通过...

    ansible-role-monit:用于配置监视的Ansible角色

    Monit 是一个开源软件,能够监控系统进程、文件、目录、设备等,当检测到异常时,可以自动恢复或发送警报。 首先,我们来详细了解一下 Ansible 角色(ansible-role)。在 Ansible 中,角色是一种组织模块、变量、...

    IT-运维工程师的23个细节-进阶.doc.pdf

    - Mtop和MRTG用于网络流量监控,Monit则专注于系统服务和进程的健康状态。 5. **性能分析**: - 工具如dstat、atop、nmon、slabtop、sar和sysdig提供详细的系统性能数据,帮助定位瓶颈。 - tcpdump和iftop用于...

    IT运维工程师的23个细节进阶.pdf

    Grafana作为可视化前端,结合Cacti, Monit等提供实时监控画面。性能工具如slabtop, nmon, dstat, atop, sar等帮助诊断系统瓶颈。 5. **日志管理**:Scribe, Logstash等用于收集、存储和分析日志数据,而Gnuplot, ...

    monit:任务运行器。 运行任务并使用自定义路径监视文件更改

    Monit 是一个强大的开源工具,主要用于系统管理和监控。它允许用户配置一系列检查,以监视系统中的进程、文件、目录、网络服务等,并在检测到异常时执行相应的操作,如自动重启服务或发送警报。Monit 以其轻量级、...

    Monitis-Java-Plugins:Java 警告扩展

    Monitis 是一个全面的监控解决方案,它允许用户监控其 IT 基础设施的性能,包括服务器、网络、应用程序和网站。"Monitis Java Plugins" 是 Monitis 提供的一套扩展,专门针对 Java 平台设计,使得开发者可以通过 ...

    IT-运维工程师的23个细节-进阶.doc.docx

    - **Monit**:监控并管理应用程序和服务的运行状态。 ### 性能监控工具 - **Dstat、Atop、Nmon**:多维度系统资源监控,适用于问题排查。 - **Slabtop**:专注于监控Linux内核中的slab缓存信息。 - **Sar**:性能...

    薄荷网RubyonRails开发运营实践.pptx

    monit用于监控进程状态,当进程崩溃或者消耗资源过多时,它可以自动重启进程。runit则用于管理服务进程,防止僵尸进程出现。两者结合使用,可以提供全面的监控能力。此外,他们还利用Exception Logger来记录并追踪...

    drain管理系统 (3).zip

    Ubuntu是一个基于Debian的开源Linux发行版,广泛应用于服务器、桌面环境以及各种云计算平台。在Ubuntu系统中,"drain"这个词通常与系统资源管理和调度有关,可能是为了在执行关键操作(如系统更新或硬件维护)时,...

Global site tag (gtag.js) - Google Analytics