前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux中的monit工具介绍使用

Linux中的monit工具介绍使用

作者头像
AsiaYe
发布2019-12-19 15:24:51
1.9K0
发布2019-12-19 15:24:51
举报
文章被收录于专栏:DBA随笔DBA随笔

Linux中的monit工具介绍使用

今天早上本来有个维护,在家使用V**进行操作的时候,发现自动化运维平台连接不上,因为之前的连接都是没有问题的,于是怀疑是防火墙的问题,查看了一下相关服务器的防火墙,好像也没有改动过,为了快速解决问题,先使用脚本解决了维护的问题。

来到公司接着查看问题的原因,发现是自动化运维平台的进程由于某种原因宕掉了,但是却没有及时发现,虽然设置了父进程,但还是挂掉了。为了防止这类现象再次发生,决定使用Linux的monit工具来对这个进程做个监控。

这里将monit的相关知识给大家介绍下。

monit监控和管理进程、程序、文件、目录和Unix系统的文件的工具。可以进行自动维护和修理,在错误的情况下执行相应的动作。比如,某个进程没有运行,那么monit可以启动它;某个程序没有响应,那么monit重启它;某个进程占用太多资源,则我们停止该进程等等。也可以用来监控文件、目录或系统文件的变化,如时间戳的改变,检验和的改变或大小的改变等等。

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的方法来进行关联,如下:

代码语言:javascript
复制
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中的内容:

代码语言:javascript
复制
# 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中的内容吧:

代码语言:javascript
复制
#test
check process test matching "/tmp/test.sh"
    group root
    start program = "/bin/sh /tmp/test.sh"
    alert yeyz@XXXXX.cn only on {nonexist}

如上配置,是指实时查找该进程,如果进程不存在的时候,会进行邮件告警,如下:

当然,可以使用restart的命令,重新拉起该服务。

3、常用命令

最后列举一些常用的命令。

代码语言:javascript
复制
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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
前端性能监控
前端性能监控(Real User Monitoring,RUM)是一站式前端监控解决方案,专注于 Web、小程序等场景监控。前端性能监控聚焦用户页面性能(页面测速,接口测速,CDN 测速等)和质量(JS 错误,Ajax 错误等),并且联动腾讯云应用性能监控实现前后端一体化监控。用户只需要安装 SDK 到自己的项目中,通过简单配置化,即可实现对用户页面质量的全方位守护,真正做到低成本使用和无侵入监控。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档