用过很多邮箱的SMTP服务,smtp.163.com,mail..qq.com但是一直有问题,
163说的是你未被授权 “ Sendmail error: 553 You are not authorized to send mail, authentication is required”
然后改用localhost: 这样报错 “Sendmail: error receiving data from the mailserver 'localhost' -- Resource temporarily unavailable”
于是自己调用service sendmail start ,问题解决了!可以发送了!!!兴奋有木有啊!
安装篇:
最后自己在本地安装了sendmail服务,用自己本地机器作为邮件服务器,这样设置更为简单,
中间遇到了很多问题,头一直昏昏沉沉的,终于把老师交代的服务器工作,用monit以及cacti配置完成了,不容易啊
monit配置更简单,就是发送邮件搞了很久不成功!但是功能更强大,什么进程,网络链接状况,内存,文件系统这一类的,甚至文件大小也可以监视,太TM强大了,强力推荐啊!
可能是我装了两个版本,在/usr/local/monit/etc/有个配置文件monitrc,以及/etc/monit下也有一个配置文件,刚开始的适合在后者配置的时候可以用,到后面没有正常关闭文件还是怎么的,前面一个配置文件就开始启动了,还我一直在修改后者,坑dad啊,在一个新环境下就是不方便啊!
启动的时候调用 /usr/local/monit/bin/monit来启动,而不调用init -q等,因为我根本就没有找到iniitab这个配置文件,所以没有加入init,所以直接启动
如果链接错误,有可能是monit http server没有启动(这个名字是从日至文件里面得到的),另外就是monit没有启动,启动方法同前;
还有一个发现就是当你在配置文件中添加了set logfile /usr/mylog.log的话,你就可以在显示界面running对应的超链接,有一个按钮可以查询日至文件,否则智慧有两个按钮出现
系统的日至文件是存放在/usr/log/syslog
你在配置文件中设置的邮箱模版在附件中下来*.bin文件可以察看到
当你看了一定的中文资料的时候就应该到官网上去看看官方的文档
http://mmonit.com/monit/documentation/monit.html
可以找到很多你想要的资料
当时我有一个很头疼的问题,就是每次修改了配置文件,然后restart monit,却发现配置依旧没有改变(这点可以通过localhost:2812的running对应的超链接网页可以知道)
不过你每一次重新开机之后有可以发现配置已经更新了,我猜想是不是因为启动monit之后,会把文件配置加载到某一个地方,之后就不会在加载配置文件了,开机后调用某一个函数,然后把这个配置文件加载一次,所以修改才体现出来,没办法这种问题在网上基本没有答案,所以只能自己慢慢地去挖掘官网的文档,终于让我看到了reload这个命令
功夫不服苦心人啊!当作是自己的一个经验吧!
下面是配置文件,存一个档:
###############################################################################
## 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 35 # check services at 1-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 logfile /var/log/monitlai.log
#
#
## 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. If the first mail server fails, Monit
# will use the second mail server in the list and so on. By default Monit uses
# port 25 - it is possible to override this with the PORT option.
#
set mailserver localhost # smtp.163.com,#localhost # primary mailserver
# port 25 # backup mailserver on port 10025
# USERNAME "lai6803695" PASSWORD "616458932**!" # 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/). By default Monit registers credentials with
## M/Monit so M/Monit can smoothly communicate back to Monit and you don't
## have to register Monit credentials manually in M/Monit. It is possible to
## disable credential registration using the commented out option below.
## Though, if safety is a concern we recommend instead using https when
## communicating with M/Monit and send credentials encrypted.
#
# set mmonit http://monit:
[email protected]:8080/collector
# # and register without credentials # Don't register credentials
#
#
## Monit by default uses the following format for alerts if the the mail-format
## statement is missing::
## --8<--
## set mail-format {
## from: monit@$HOST
## subject: monit alert -- $EVENT $SERVICE
## message: $EVENT Service $SERVICE
## Date: $DATE
## Action: $ACTION
## Host: $HOST
## 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]
subject:monit alert
message:Date:$DATE
}
#
#
## 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] reminder on 1 cycle
# 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 localhost
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 75% then alert
if swap usage > 25% then alert
if cpu usage (user) > 20% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert
#
#
## Check if a file exists, 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
#new add
check process apache2 with pidfile /var/run/apache2.pid
start program = "/etc/init.d/apache2 start"
stop program = "/etc/init.d/apache2 stop"
if 2 restart within 10 cycles then timeout
if cpu usage > 80% for 2 cycles then alert
if failed url http://localhost timeout 120 seconds for 3 cycles then restart
## 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
#
#
###############################################################################
## Includes
###############################################################################
##
## It is possible to include additional configuration parts from other files or
## directories.
#
include /etc/monit.d/*
#
参考文章1:原文:http://hnnxdjp.blog.163.com/blog/static/121693180201212024122451/
monit 简单安装及配置
2012-02-20 15:17:05| 分类:监控|字号 订阅
1.下载软件包
wget http://mmonit.com/monit/dist/monit-5.3.2.tar.gz
2.解压并按装
tar zxvf monit-5.3.2.tar.gz
cd monit-5.3.2
./configure --prefix=/usr/local/monit --without-ssl
make
make install
mkdir -p /usr/local/monit/etc
cp monitrc /usr/local/monit/etc
chmod 600 /usr/local/monit/etc/monitrc
3.配置
vi /usr/local/monit/etc/monitrc
set daemon 30
#30秒检查一次
set httpd port 2812 and # monit内置了一个用于查看被监视服务
use address localhost
# 设置这个http服务器的地址
allow localhost # 允许本地访问
allow admin:monit # 设置使用用户名admin和密码monit
set mailserver smtp.aa.com port 25 USERNAME "
[email protected]" PASSWORD "123456" (设置发送邮件的服务器及邮箱)
#制定报警邮件的格式
set mail-format {
from:
[email protected]
subject: $SERVICE $EVENT at $DATE
message: Monit $ACTION $SERVICE at $DATE on $HOST: $DESCRIPTION.
}
#指定邮件接收者
set alert
[email protected] with reminder on 3 cycles
#监控系统内存、cpu、load、memory、swap使用情况
check system localhost
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 75% then alert
if swap usage > 25% then alert
if cpu usage (user) > 70% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert
#监控磁盘使用情况
check device system with path /
if space usage > 85% for 5 times within 15 cycles then alert
if space usage > 95% then stop
if inode usage > 85% then alert
if inode usage > 95% then stop
#监控apache2
check process apache2 with pidfile /var/run/apache2.pid
start program = "/etc/init.d/apache2 start"
stop program = "/etc/init.d/apache2 stop"
if 2 restart within 10 cycles then timeout
if cpu usage > 80% for 2 cycles then alert
if failed url http://localhost timeout 120 seconds for 3 cycles then restart(出现故障则重启服务器)
#监视ssh服务
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 host localhost
port 22 protocol SSH then restart
if 5 restarts within 5 cycles then timeout
4.启动服务
/usr/local/monit/bin/monit
5.查看监控信息
http://localhost:2812
其实安装的适合不是用的这个,不过都一样啦,我是直接apt-get安装的!不过这样自己安装什么版本的时候就不确定了
推荐Linux的一些常用命令使用:http://wiki.ubuntu.org.cn/UbuntuSkills