|
|
我要入营,结交更多好友,开启更多功能,轻松玩转服务器大本营!
您需要 登录 才可以下载或查看,没有账号?我要入营
x
Monit是一款开源的轻量级系统监测软件,适用于Unix/Linux、BSD、macOS等平台,主要用于监控和管理进程、程序、文件、目录和设备运行状态。其通过配置文件实现自动化维护,支持服务异常时自动重启、发送邮件告警,并内置HTTPWeb界面便于远程管理。
1、安装
可以使用yum进行安装yum -y install monit,当然,你也可以使用源码进行安装。下载导url如下:https://mmonit.com/monit/dist/binary/
2、monit配置
monit的配置一般情况下分为两个地方,分别是/etc/monit.conf和/etc/monit.d/*.conf,其中,/etc/monit.conf配置全局的监控规则,而/etc/monit.d/*.conf配置单个进程的检查项。二者通过include的方法来进行关联,如下:
- cat /etc/monit.conf
- monit.conf文件中最后行如下:
- # Include all files from /etc/monit.d/
- include /etc/monit.d/*.conf
复制代码 可以看到,在/etc/monit.conf的最后,是使用include的方法将/etc/monit.d/*.conf给包含进来的,而*.conf文件一般是我们配置的一个一个的监控项,例如sys.conf,disk.conf,mem.conf,cpu.conf等等,分别用来监控系统状态、磁盘状态、内存、CPU等,当然,可以将它们写在一起,除此之外,如果你启动了一个服务server,那么可以进行一个配置server.conf,将server这个进程监控起来,一旦由于某种原因,该进程被kill掉了,monit可以将它重新拉起来,起到保护进程的作用。
配置的具体内容:
首先我们来看/etc/monit.conf中的内容:
- # Check the time interval (second)
- set daemon ###监控间隔时间,单位是秒
- with start delay ###在monit进程启动10s之后才进行监控
- set logfile /var/log/monit.log ###默认的监控日志
- set idfile /var/monit/.monit.id ###设置监控唯一id的文件位置
- set statefile /var/monit/.monit.state ###默认存储每个周期内monitorining状态的文件
- set mailserver XXXXXXXXX port XXX ###默认的主邮件服务器和端口
- username "XXXXXXXXX" password "XXXXXXXXX" ###邮箱的账号和密码
- with timeout seconds ###默认的超时时间
- set eventqueue ###当邮件因为某种原因不可用的时候,会暂存在这里
- basedir /var/monit ### set the base directory where events will be stored,也就是邮件的存放地址
- slots ### optionally limit the queue size,限制邮件队列的大小
- set mail-format { ###设置邮件的格式
- from: XXXX@XXXXXX ###邮件来源
- subject: $HOST's $SERVICE $ACTION | $DESCRIPTION
- message:
- Date: $DATE
- Action: $ACTION
- Host: $HOST
- Description:
- Host $HOST's [$SERVICE] $DESCRIPTION
- $EVENT Service $SERVICE
- $DESCRIPTION
- }
- set httpd port and ###设置web监控,用于web界面,由于使用MMonit的界面管理,也可以不配置
- allow localhost
- allow user:password
- # Include all files from /etc/monit.d/
- include /etc/monit.d/*.conf
复制代码 再来看看/etc/monit.d/*.conf中的内容吧:
- #test
- check process test matching "/tmp/test.sh"
- group root
- start program = "/bin/sh /tmp/test.sh"
- alert [email]yeyz@XXXXX.cn[/email] only on {nonexist}
复制代码 如上配置,是指实时查找该进程,如果进程不存在的时候,会进行邮件告警。
当然,可以使用restart的命令,重新拉起该服务。
3、常用命令
最后列举一些常用的命令
- monit -t # 配置文件检测
- monit # 启动monit daemon
- monit reload # 当更新了配置文件需要重载
- monit status # 查看所有服务状态
- monit status consul # 查看consul服务状态
- monit stop all # 停止所有服务
- monit start all # 启动所有服务
- monit start consul #启动服务
- monit -V # 查看版本
复制代码 关于monit的命令,还有很多,想要详细了解,可以查看monit的官方文档,地址:
https://mmonit.com/monit/documentation/monit.html#SERVICE-GROUPS
感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员! |
|