[喵咪Liunx(4)Monit进程监控

前言

有一段时间没有更新博客了,最近因为公司项目全球化以及最近慢慢在偏向学习团队管理忙的有点不可开交了,不过这次要给大家带来两篇关于Liunx日常开发维护管理中非常好用的两款利器,其中一个就是Monit啦,Monit是什么呢?他是一个进程级别的一个监控软件,不卖关子我们就进入到今天的正文当中吧!

附上:

喵了个咪的博客:w-blog.cn

Monit官网地址:https://www.mmonit.com/monit/documentation/monit.html

1. 问题

在我们平时研究一样东西或者说遇到一项困难时我们会更具问题来寻找解决方案,那就看待Monit之前就要先了解遇到了什么问题?

Nginx挂啦~~~~

笔者就是有意思客户反映到领导那里去了,你们平台怎么用不了了?,最后一查居然是Nginx死掉了~~死掉的时候是下午5点完成8点才收到反馈,用户不反馈就算等到明天可能还不知道!

脚本死了

Liunx开篇推荐的软件Supervisor可以帮助你运行脚本或者说软件,但是运行的软件默认连续过快退出三次就结束了,这个时候你怎么知道没有运行了?

2. Monit能搞定吗?

Monit的核心功能就是邮件通知,当你配置好需要监控的进程之后,无论是进程死亡,或者是进程变更都会发送报警邮件并且会更具你的预先配置好的命令尝试重启它,更牛逼的事当monit被关闭的时候也会发送邮件通知Moint被关闭,并且它还可以完成如下功能!

附加功能

比如你不是用的云服务器自己管理的机器,但是机器数量又没有特别多没有到要搭建一套完整的监控系统的份上(zabbix或open-falcon)的份上Monit可以比较好的帮你低成本的解决这个问题

web管理

可以用过web界面监控服务的资源占用,开始,暂停,重启等.

3. 安装Monit

这里笔者还是使用的centos6.5进行安装,只需要简单的yum一下即可

yum install monit

然后通过service命令就可以开关monit了

service monit start
service monit stop

4. 配置文件解读

使用monit最重要的就是设置好配置文件,具体的可以在官方文档查看这里只说几个重要的

# 检查时间默认30秒一次
set daemon  30 # 邮箱配置({名称}替换成实际值)
set mailserver {smtp地址}
username "{邮箱用户名}" password "{邮箱密码}"                                                                 set mail-format {
# 邮件模板自定义                                                                                               from: {邮箱用户名}                                                                                      subject: monit alert --  $EVENT $SERVICE                                                                        message: $EVENT Service $SERVICE                                                                                Date:        $DATE                                                                                Action:      $ACTION                                                                              Host:        $HOST                                                                                Service:     $SERVICE                                                                             Description: $DESCRIPTION                                                                         Your faithful employee,                                                                                Monit                                                                                                  }
set alert {接受的邮箱1}
set alert {接受的邮箱2}# web访问配置 默认端口号2812
set httpd port 2812 and                                                                                            use address {能访问到的外网地址}                                             allow 0.0.0.0/0  #限制的请求IP                                     allow admin:monit  #登录用户名密码

基本配置就完成了,如果配置正确我们就会有道一封Monit启动的邮件

monit alert – Monit instance changed {主机名}

Monit instance changed Service {主机名}Date:        Fri, 14 Oct 2016 23:23:52Action:      startHost:        {主机名}Service:     {主机名}Description: Monit 5.14 startedYour faithful employee,Monit

并且能够通过配置好的web端口访问得到如下界面(一下是配置好监控项才会有的)

注意:配置文件中还有系统报警等可以自行了解这里不做太多说明

5. 配置报警的几种方式

重中之重就是监控进程或者是服务器的报警,我们一般会选择/etc/monit.d/下面建立和监控的进程名一样的文件,Monit会自动读取解析,这里先来介绍几种常见的配置

按照PID进行监控

使用PID进行监控的基本上是一些程序组件比如Nginx,PHP-FPM,Supervisor,KafKa等,它们都会有一个共同点就是会有一个*.pid的文件来记录系统进程标示,所以我们如下配置:

/etc/monit.d/nginx

check process nginx with pidfile /var/run/nginx.pid #通过PID文件监控nginx
start program "/etc/init.d/nginx start"  #启动程序 死亡自动启动
stop program "/etc/init.d/nginx stop"   #关闭程序 web界面可以操作

按照程序绝对命令

还有一种就是我们运行的脚本,不如运行了一个php index.php需要对它进行监控需要如下配置:

/etc/monit.d/phpindex

check process taskEmail with MATCHING 'php index.php'
# 通过命令获取pid监控方式
if changed pid then alert

注意:这里有过有多个命令都是php index.php会会出现问题

6. 总结

大家今天GET到了没有啊,Monit在日常中可以在非常低的成本下帮助我们发现问题及时告知我们,并且还有一些简单的web界面的配合,那么今天就到这里下一节将给大家介绍一个多服务器管理利器pssh,多谢大家的支持!

注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!

[喵咪Liunx(4)Monit进程监控相关推荐

  1. php显示空白,[喵咪PHP]页面显示空白问题

    #[喵咪PHP]页面显示空白问题#php ##前言##nginx 哈喽!你们好啊,喵咪PHP第一次和你们见面了,熟悉的朋友呢也之道喵咪我也开了喵咪Liunx和喵咪Golang这两个坑目的呢是吧日常遇到 ...

  2. [喵咪BELK实战(2)] elasticsearch+kibana搭建

    [喵咪BELK实战(2)] elasticsearch+kibana搭建 前言 上一节我们介绍了日志系统和BELK之后就要到激动人心的安装环境了,实践出真知都知道日志系统很重要只有把它搭建起来才有效果 ...

  3. Linux下monit进程管理操作梳理--转载

    本文转自 (https://cloud.tencent.com/developer/article/1027097) Monit对运维人员来说可谓神器,它是一款功能非常丰富的进程.文件.目录和设备的监 ...

  4. [喵咪的Liunx(1)]计划任务队列脚本后台进程Supervisor帮你搞定

    喵咪的Liunx(1)]计划任务队列脚本后台进程Supervisor帮你搞定 前言 哈喽大家好啊,好久不见啊(都快一个月了),要问为什么没有更新博客呢只应为最近在录制PhalApi的视频教程时间比较少 ...

  5. [喵咪开源软件推荐(4)]Liunx跑分神器-unixbench

    [喵咪开源软件推荐(4)]Liunx跑分神器-unixbench 哈喽大家好呀! 这次给大家带来一个Liunx跑分神奇,在笔者在老早之前有听到一则传闻,阿里云相同的配置性能有差异 有的是X5的有的是E ...

  6. linux进程监控monit,教你使用monit监控Linux系统

    Monit 是用于对系统中的进程.文件.目录.以及设备等进行监视和管理的工具.当你所指定的server宕机或者没有反应,monit会将该进程杀死并重启该server.并通过邮件进行通知.Monit 包 ...

  7. [喵咪Redis]Redis-Sentinel

    [喵咪Redis]Redis-Sentinel 前言 redis-Sentinel 是我们这次来一同学习 redis 的重点,在我们现在的系统已经离不开 redis 的时候 , redis 挂掉了或者 ...

  8. [喵咪开源软件推荐(6)]TCP链路加速技术KcpTun

    [喵咪开源软件推荐(6)]TCP链路加速技术KcpTun 今天有给大家带来新的东西KcpTun,KcpTun是利用Kcp技术对Tcp链路传输进行加速,大家熟知的网络协议一般是UDP和TCP,UDP传输 ...

  9. [喵咪BELK实战(3)] logstash+filebeat搭建

    [喵咪BELK实战(3)] logstash+filebeat搭建 前言 在上节我们已经把elasticsearch+kibana已经搭建起来了,可以正常的进行数据的索引查询了,但是直接对elasti ...

最新文章

  1. CTFshow 信息收集 web16
  2. QT的QQmlScriptString类的使用
  3. UFLDL教程:Exercise:Convolution and Pooling
  4. C++:27---new delete malloc free
  5. linux 统计命令执行后的行数或者统计目录下文件数目
  6. Linux、Mac 命令行快捷键
  7. linux mint 19 内核4.9,Linux Kernel 4.4.59 LTS/4.9.19 LTS/4.10.7维护版本更新发布
  8. java代码加载_java类中代码加载顺序
  9. Servlet 实现訪问量的统计小案例
  10. 2010年被逼出来的10个中国IT产品
  11. 手机商城项目(修饰技术)
  12. 极客大学产品经理训练营 用例Use Case 第8课总结
  13. 五大傻瓜式移动应用开发工具
  14. Python爬虫-模拟登入-selenium模块
  15. 工作流软件哪个好?介绍几款知名的工作流软件
  16. Python3对股票数据进行分析
  17. nginx代理邮件服务
  18. 事关男女的三十二个绝妙比喻——男女关系
  19. ES6高级:扩展运算符,箭头函数,class类,iterator迭代器
  20. python数据结构之线性顺序表

热门文章

  1. 鲁大师2015如何设置系统待机时间|鲁大师设置待机时间方法
  2. 监理工程师职责对比关系
  3. 【外汇天眼】外汇市场交易基本面分析:什么是利率平价(IRP)?
  4. 《Python Web开发实战》踩地雷记17/3/25
  5. 云端移动巧妙获取网站访客手机号码
  6. 什么是机器人的五点校正法_机器人校准
  7. 旷世奇才 世纪球王:迭戈-马拉多纳
  8. 有趣的动态网页元素Mikutap
  9. MMPOSE代码教学
  10. Android最新敲诈者病毒分析及解锁