monit安装

一、安装monit

yum install -y monit

二、修改配置文件如下(/etc/monit.conf)

###############################################################################

## Monit control file

###############################################################################

##

## Comments begin with a ‘#‘ and extend through the end of the line. Keywords

## are case insensitive. All path‘s MUST BE FULLY QUALIFIED, starting with ‘/‘.

##

## Below you will find examples of some frequently used statements. For

## information about the control file and a complete list of statements and

## options, please have a look in the Monit manual.

##

##

###############################################################################

## Global section

###############################################################################

##

## Start Monit in the background (run as a daemon):

#

# set daemon  120           # check services at 2-minute intervals

#     with start delay 240  # optional: delay the first check by 4-minutes (by

#                           # default Monit check immediately after Monit start)

#

#

## Set syslog logging with the ‘daemon‘ facility. If the FACILITY option is

## omitted, Monit will use ‘user‘ facility by default. If you want to log to

## a standalone log file instead, specify the full path to the log file

#

# set logfile syslog facility log_daemon

#

#

### Set the location of the Monit id file which stores the unique id for the

### Monit instance. The id is generated and stored on first Monit start. By

### default the file is placed in $HOME/.monit.id.

#

# set idfile /var/.monit.id

#

### Set the location of the Monit state file which saves monitoring states

### on each cycle. By default the file is placed in $HOME/.monit.state. If

### the state file is stored on a persistent filesystem, Monit will recover

### the monitoring state across reboots. If it is on temporary filesystem, the

### state will be lost on reboot which may be convenient in some situations.

#

# set statefile /var/.monit.state

#

## Set the list of mail servers for alert delivery. Multiple servers may be

## specified using a comma separator. By default Monit uses port 25 - it is

## possible to override this with the PORT option.

#

# set mailserver mail.bar.baz,               # primary mailserver

#                backup.bar.baz port 10025,  # backup mailserver on port 10025

#                localhost                   # fallback relay

#

#

## By default Monit will drop alert events if no mail servers are available.

## If you want to keep the alerts for later delivery retry, you can use the

## EVENTQUEUE statement. The base directory where undelivered alerts will be

## stored is specified by the BASEDIR option. You can limit the maximal queue

## size using the SLOTS option (if omitted, the queue is limited by space

## available in the back end filesystem).

#

# set eventqueue

#     basedir /var/monit  # set the base directory where events will be stored

#     slots 100           # optionally limit the queue size

#

#

## Send status and events to M/Monit (for more informations about M/Monit

## see http://mmonit.com/).

#

# set mmonit http://monit:[email protected]:8080/collector

#

#

## Monit by default uses the following alert mail format:

##

## --8<--

## From: [email protected]$HOST                         # sender

## Subject: monit alert --  $EVENT $SERVICE  # subject

##

## $EVENT Service $SERVICE                   #

##                                           #

##      Date:        $DATE                   #

##      Action:      $ACTION                 #

##      Host:        $HOST                   # body

##      Description: $DESCRIPTION            #

##                                           #

## Your faithful employee,                   #

## Monit                                     #

## --8<--

##

## You can override this message format or parts of it, such as subject

## or sender using the MAIL-FORMAT statement. Macros such as $DATE, etc.

## are expanded at runtime. For example, to override the sender, use:

#

# set mail-format { from: [email protected] }

#

#

## You can set alert recipients whom will receive alerts if/when a

## service defined in this file has errors. Alerts may be restricted on

## events by using a filter as in the second example below.

#

# set alert [email protected]                       # receive all alerts

# set alert [email protected] only on { timeout }  # receive just service-

#                                                # timeout alert

#

#

## Monit has an embedded web server which can be used to view status of

## services monitored and manage services from a web interface. See the

## Monit Wiki if you want to enable SSL for the web server.

#

# set httpd port 2812 and

#     use address localhost  # only accept connection from localhost

#     allow localhost        # allow localhost to connect to the server and

#     allow admin:monit      # require user ‘admin‘ with password ‘monit‘

#     allow @monit           # allow users of group ‘monit‘ to connect (rw)

#     allow @users readonly  # allow users of group ‘users‘ to connect readonly

#

#

###############################################################################

## Services

###############################################################################

##

## Check general system resources such as load average, cpu and memory

## usage. Each test specifies a resource, conditions and the action to be

## performed should a test fail.

#

#  check system myhost.mydomain.tld

#    if loadavg (1min) > 4 then alert

#    if loadavg (5min) > 2 then alert

#    if memory usage > 75% then alert

#    if cpu usage (user) > 70% then alert

#    if cpu usage (system) > 30% then alert

#    if cpu usage (wait) > 20% then alert

#

#

## Check a file for existence, checksum, permissions, uid and gid. In addition

## to alert recipients in the global section, customized alert can be sent to

## additional recipients by specifying a local alert handler. The service may

## be grouped using the GROUP option. More than one group can be specified by

## repeating the ‘group name‘ statement.

#

#  check file apache_bin with path /usr/local/apache/bin/httpd

#    if failed checksum and

#       expect the sum 8f7f419955cefa0b33a2ba316cba3659 then unmonitor

#    if failed permission 755 then unmonitor

#    if failed uid root then unmonitor

#    if failed gid root then unmonitor

#    alert [email protected] on {

#           checksum, permission, uid, gid, unmonitor

#        } with the mail-format { subject: Alarm! }

#    group server

#

#

## Check that a process is running, in this case Apache, and that it respond

## to HTTP and HTTPS requests. Check its resource usage such as cpu and memory,

## and number of children. If the process is not running, Monit will restart

## it by default. In case the service is restarted very often and the

## problem remains, it is possible to disable monitoring using the TIMEOUT

## statement. This service depends on another service (apache_bin) which

## is defined above.

#

#  check process apache with pidfile /usr/local/apache/logs/httpd.pid

#    start program = "/etc/init.d/httpd start" with timeout 60 seconds

#    stop program  = "/etc/init.d/httpd stop"

#    if cpu > 60% for 2 cycles then alert

#    if cpu > 80% for 5 cycles then restart

#    if totalmem > 200.0 MB for 5 cycles then restart

#    if children > 250 then restart

#    if loadavg(5min) greater than 10 for 8 cycles then stop

#    if failed host www.tildeslash.com port 80 protocol http

#       and request "/somefile.html"

#       then restart

#    if failed port 443 type tcpssl protocol http

#       with timeout 15 seconds

#       then restart

#    if 3 restarts within 5 cycles then timeout

#    depends on apache_bin

#    group server

#

#

## Check filesystem permissions, uid, gid, space and inode usage. Other services,

## such as databases, may depend on this resource and an automatically graceful

## stop may be cascaded to them before the filesystem will become full and data

## lost.

#

#  check filesystem datafs with path /dev/sdb1

#    start program  = "/bin/mount /data"

#    stop program  = "/bin/umount /data"

#    if failed permission 660 then unmonitor

#    if failed uid root then unmonitor

#    if failed gid disk then unmonitor

#    if space usage > 80% for 5 times within 15 cycles then alert

#    if space usage > 99% then stop

#    if inode usage > 30000 then alert

#    if inode usage > 99% then stop

#    group server

#

#

## Check a file‘s timestamp. In this example, we test if a file is older

## than 15 minutes and assume something is wrong if its not updated. Also,

## if the file size exceed a given limit, execute a script

#

#  check file database with path /data/mydatabase.db

#    if failed permission 700 then alert

#    if failed uid data then alert

#    if failed gid data then alert

#    if timestamp > 15 minutes then alert

#    if size > 100 MB then exec "/my/cleanup/script" as uid dba and gid dba

#

#

## Check directory permission, uid and gid.  An event is triggered if the

## directory does not belong to the user with uid 0 and gid 0.  In addition,

## the permissions have to match the octal description of 755 (see chmod(1)).

#

#  check directory bin with path /bin

#    if failed permission 755 then unmonitor

#    if failed uid 0 then unmonitor

#    if failed gid 0 then unmonitor

#

#

## Check a remote host availability by issuing a ping test and check the

## content of a response from a web server. Up to three pings are sent and

## connection to a port and an application level network check is performed.

#

#  check host myserver with address 192.168.1.1

#    if failed icmp type echo count 3 with timeout 3 seconds then alert

#    if failed port 3306 protocol mysql with timeout 15 seconds then alert

#    if failed url http://user:[email protected]:8080/?querystring

#       and content == ‘action="j_security_check"‘

#       then alert

#

#

###############################################################################

set daemon 60

#set logfile syslog facility log_daemon

set logfile /var/log/monit

set statefile /var/.monit.state

set mailserver  smtp.xiaoniuniuniu66.com  USERNAME "[email protected]" PASSWORD "Qasssddsz1wssesx#xn"

set eventqueue

basedir /var/monit

slots 100

set mail-format {

from:  [email protected]

#        subject: [Service Alter] $HOST $SERVICE $EVENT at $DATE

subject: [Service Alter][public] $HOST $SERVICE $EVENT

message:

$EVENT Service $SERVICE

Date:        $DATE

Action:      $ACTION

Host:        $HOST

Description: $DESCRIPTION

Your faithful employee,

monit

}

#set alert [email protected] not on { instance }

set alert [email protected] not on { ppid,instance } with reminder on 5 cycles

set httpd port 2812

use address localhost

allow localhost

allow monituser:papwd9527

## sz office

allow 218.17.71.26

allow   127.0.0.1

## vpn

include /etc/monit.d/*.conf

三、修改配置文件/etc/minit.conf权限

chmod 0700 /etc/minit.conf

四、启动monit

service monit start

时间: 2024-10-01 04:35:07

monit安装的相关文章

Monit监控软件安装

Monit是一款功能非常丰富的进程.文件.目录和设备的监测软件,适用于Linux/Unix平台. 在CentOS 6.4上配置Monit的步骤: 我们以服务器IP地址:10.153.126.189,为例进行配置,监控10.153.110.12, 10.153.75.78这两台服务器. 一.安装EPEL.在命令行输入: # rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm 二.安装Mon

如何借助Monit搭建服务器监控系统?(1)

许多Linux管理员依赖一种集中式远程监控系统(比如Nagios或Cacti),检查网络基础设施的健康状况.虽然集中式监控系统为管理员在处理许多主机和设备时简化了工作,但专用的监控设备显然成了单一故障点;要是监控设备出现故障或者由于其他原因(比如硬件坏掉或网络停运)而联系不上,你就失去了可见性,无法了解整个基础设施的状况. 想为监控系统增添冗余机制,一个办法就是起码在网络上任何关键/核心服务器上安装独立的监控软件(作为一条退路).那样万一集中式监控系统坏掉,你仍能够通过备用的监控工具,保持可见性

Monit : 开源监控工具介绍

· Monit 简介 Monit是一个轻量级(500KB)跨平台的用来监控Unix/linux系统的开源工具.部署简单,并且不依赖任何第三方程序.插件或者库. Monit可以监控服务器进程.文件.文件系统.网络状态(HTTP/SMTP等协议).远程主机.服务器资源变化等等. 并且可以设定资源变化后需要做的动作,比如服务失败后自动重启,邮件告警等等. Monit内置了WEB UI,可以一目了然地了解监控项的情况.Monit是监控本机服务的工具,M/Monit是其配套产品用以对Monit统一管理,但

测试使用monit监控服务

一.基础环境 1.在tvm-rpm的基础上测试. 2.网络: eth0:host-only(用于虚拟内网,手动固定IP,这样从宿主机可以直接连接到这个vm) eth1:NAT(用于上外网,动态IP) [[email protected] ~]# cd /etc/sysconfig/network-scripts/ [[email protected] network-scripts]# cat ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_

ansible安装配置与简单使用

前言: AnsibleWorks成立于2012年,由自动化工具Cobbler及Func的开发者Michael DeHaan创建.其Ansible平台是一个开源的配置及计算机管理平台.可实现多节点的软件部署,执行特定任务并进行配置管理. Ansible 跟其他IT自动化技术的区别在于其关注点并非配置管理.应用部署或IT流程工作流,而是提供一个统一的界面来协调所有的IT自动化功能,因此 Ansible的系统更加易用,部署更快.受管理的节点无需安装额外的远程控制软件,由平台通过SSH(Secure S

使用monit搭建一个监控系统

上周用monit搭建或者说定制了一个监控系统,来监控服务器发生事情.当然了主要是监控异常,因为我们的产品属于服务器类型,很多进程都daemon,要不停的运行.我们搭建监控目的不过是出现问题能够及时的知道,平时可从web UI上看到整个系统的状况,同时它本身要轻量级,不要影响性能.当然了类似的产品很多了,比如Ganglia,我在老科长波哥曾经搭建过一个Ganglia系统监控科室十几台服务器,让我很是崇拜.本文重点介绍monit.                      monit是一个可以监控系

Monit监控工具的使用

官方网址:http://mmonit.com/monit/ 当前版本:5.10 源代码包:http://mmonit.com/monit/dist/ 二进制包:http://mmonit.com/monit/dist/binary/ 概述 Monit是一款功能非常丰富的进程.文件.目录和设备的监测软件,适用于Linux/Unix平台.它可以自动修复那些已经停止运作的程序,特别适合处理那些由于多种原因导致的软件错误.监控系统关键的进程和资源.同时Monit 包含一个内嵌的 HTTP(S) Web

使用monit监控进程与系统状态

参考文章: http://heylinux.com/archives/3063.html https://mmonit.com/wiki/Monit/ConfigurationExamples https://mmonit.com/wiki/Monit/Gmail monit它最大的特点是配置文件简单易读,同时支持进程和系统状态的监控,并灵活的提供了各种检测的方式,周期,并进行报警和响应(重启服务,执行命令等) 安装配置: 由于monit是属于epel源里的,所以你必须配置好epel源码,然后

CentOS 6.5 安装部署zabbix(Server端篇)

Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员.    今天开始研究下Zabbix,使用Zabbix的目的,是为了能够更好的监控mysql数据库服务器,并且能够生成图形报表,虽然Nagios也能够生成图形报表,但没有Zabbix这么强大. 首先,我们先来介绍下Zabblx:一.Zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解