monit介绍和配置
1.介绍
monit监控和管理进程、程序、文件、目录和Unix系统的文件的工具。可以进行自动维护和修理,在错误的情况下执行有意义的因果关系的行动。比如,某个进程没有运行启动它;没有响应重启它;占用太多资源停止该进程等等。也可以用来监控文件、目录或系统文件的变化,如时间戳的改变,检验和的改变或大小的改变
2.安装:(需先装epel源)
yum install monit -y
3.配置
3.1 monit 的配置文件monit.conf
set daemon 30 监控检查的时间间隔
set logfile syslog 默认日志为syslog,还可以设置为自定义路径下的文件
set pidfile /var/run/monit.pid 设置pid文件的位置
set idfile /var/.monit.id 设置监控项目唯一ID的文件位置 默认在$HOME/.monit.id
set statefile /var/.monit.state 默认存储每个周期内monitorinig 状态的文件
set mailserver mail.bar.baz 主的邮件服务器
backup.bar.baz port 10025 备的邮件服务器
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
}
set alert sysadm@foo.bar 设置接收告警的邮箱
以上是全局的配置,具体的services监控语法后面会介绍
3.2 进程监控
在 /etc/monit.d/下创建 nginx ,,并重启monit。内容如下
check process nginx with pidfile /usr/local/xywy/nginx/run/nginx.pid
start program = "/usr/local/xywy/nginx/sbin/nginx" with timeout 30 seconds
stop program = "/usr/local/xywy/nginx/sbin/nginx -s stop"
3.3 监控文件
在/etc/monit.d/下创建monit_test ,并重启monit,内容如下
check file monit.conf path /etc/monit.conf
group system
if changed sha1 checksum
then exec "/usr/local/bin/monit -c /etc/monit.conf reload"
3.4 监控文件设备
check device VAR_LOG with path /var/log
if space usage > 85% then alert check filesystem tmpfs with path /var
if space usage > 80% then alert
下面是配置综合案例
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 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout check process mysql with pidfile /var/run/mysqld/mysqld.pid
group database
start program = "/etc/init.d/mysqld start"
stop program = "/etc/init.d/mysqld stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
if failed host www.vpsee.com port 80 protocol http
then restart check process php_cgi with pidfile /var/run/php_cgi.pid
start program = "/etc/init.d/php_cgi start"
stop program = "/etc/init.d/php_cgi stop"
if failed host 127.0.0.1 port 9000 then restart
if 5 restarts within 5 cycles then timeout check process apache with pidfile /var/run/httpd.pid
group www
start program = "/etc/init.d/httpd start"
stop program = "/etc/init.d/httpd stop"
if failed host www.vpsee.com port 8080 protocol http
then restart
if cpu is greater than 80% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
if totalmem > 512 MB for 5 cycles then restart
if children > 200 then restart
if loadavg(5min) greater than 10 for 8 cycles then stop
if 3 restarts within 5 cycles then timeout
3.5 monit命令使用
-c 指定配置文件
-d 后台运行
-l 指定logfile
-p 指定pid file
-s 指定statefile
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
monit介绍和配置的更多相关文章
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...
- python学习第二讲,pythonIDE介绍以及配置使用
目录 python学习第二讲,pythonIDE介绍以及配置使用 一丶集成开发环境IDE简介,以及配置 1.简介 2.PyCharm 介绍 3.pycharm 的安装 二丶IDE 开发Python,以 ...
- Monit安装与配置
Monit安装与配置 monit 监控并自动重启服务 官方文档
- OSPF协议介绍及配置 (上)
OSPF协议介绍及配置 (上) 一.OSPF概述 回顾一下距离矢量路由协议的工作原理:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加 ...
- x-pack 功能介绍及配置传输层安全性(TLS / SSL)
x-pack 功能介绍及配置传输层安全性(TLS / SSL) 学习了:https://blog.csdn.net/wfs1994/article/details/80411047
- mysql多实例介绍及配置
mysql多实例介绍及配置 1.mysql多实例介绍 1.1 什么是mysql多实例 mysql多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过 ...
- 13.LAMP架构介绍及配置
LAMP架构介绍及配置 LAMP简介与概述 LAMP概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境. LAMP是一 ...
- Rsync原理介绍及配置应用
1.前言 基于LAN或WAN的网络应用之间进行数据传输或者同步非常普遍,比如远程数据镜像.备份.复制.同步,数据下载.上传.共享等等.对此,最简单.直接的做法是对数据进行完全复制.然而,数据在网络上来 ...
- 日志组件logback的介绍及配置使用方法
一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-acc ...
随机推荐
- 模板-gcd
GCD int gcd(int a, int b) { return b == 0 ? a : gcd(b, a%b); } EXGCD void ex_gcd(int a, int b, int & ...
- Linux之磁盘分区篇
作业三: 1) 开启Linux系统前添加一块大小为20G的SCSI硬盘 2) 开启系统,右击桌面,打开终端 3) 为新加的硬盘分区,一个主分区大小为10G,剩余空间给扩展分区,在扩展分区上 ...
- hihocoder1323 回文字符串(区间dp)
https://hihocoder.com/problemset/problem/1323 刚开始真没看出来这是一道dp题.. dp[i][j]表示i~j段修改成回文串所需的最少操作次数.然后根据s[ ...
- 卷积的三种模式:full, same, valid
通常用外部api进行卷积的时候,会面临mode选择. 本文清晰展示三种模式的不同之处,其实这三种不同模式是对卷积核移动范围的不同限制. 设 image的大小是7x7,filter的大小是3x3 1,f ...
- 编写支持SSR的通用组件指南
原文来自:https://blog.lichter.io/posts/the-guide-to-write-universal-ssr-ready-vue-compon? utmcampaign=Vu ...
- [Python设计模式] 第16章 上班,干活,下班,加班——状态模式
github地址:https://github.com/cheesezh/python_design_patterns 题目 用代码模拟一天的工作状态,上午状态好,中午想睡觉,下午渐恢复,加班苦煎熬. ...
- CentOS7 限制SSH密码尝试次数
编辑配置文件: vi /etc/pam.d/sshd 在文末添加内容: auth required pam_tally2.so deny= unlock_time= 代表失败5次,禁止访问600秒 保 ...
- Linux 添加开机启动项的两种方法
1.编辑文件 /etc/rc.localvim /etc/rc.local #!/bin/sh## This script will be executed *after* all the oth ...
- C# 调用线程并行上下文穿透-ILogicalThreadAffinative+CallContext
na mespace System.Runtime.Remoting.Messaging { /// <summary>Provides a set of properties that ...
- lua 源码分析之线程对象lua_State
lua_State 中放的是 lua 虚拟机中的环境表.注册表.运行堆栈.虚拟机的上下文等数据. 从一个主线程(特指 lua 虚拟机中的线程,即 coroutine)中创建出来的新的 lua_Stat ...