Monit-开源服务器监控工具
Monit-开源服务器监控工具
Monit
是一个用于管理和监控Unix
系统的小型开源工具. Monit
进行自动维护和修理, 并且可以在错误情况下执行有意义的因果作用.
比zabbix
轻量.
全局配置 - Web状态页面
monit-5.25
默认监听2812
- 对
web
状态页面的访问是通过SSL
加密的 - 使用
admin/monit
作为用户名/口令登录 - 只允许通过
localhost
、myhost.mydomain.ro
和在局域网内部192.168.0.0/16
访问 Monit
使用pem
格式的SSL
证书
生成一个自签名证书
cd /etc/pki/tls/certs/
# 会自动在/etc/ssl/certs/下面复制一份monit.pem
# 默认权限是0400, 如果不是就手动修改
./make-dummy-cert monit.pem
httpd配置
编辑vi /etc/monitrc
, 修改相应的内容为:
set httpd port 2812 and
# 只接受来自本地主机的连接(only accept connection from localhost)
use address 10.10.10.141
# 允许本地主机连接到服务器和(allow localhost to connect to the server and)
allow localhost
# 和指定网段(192.168.0.0/16), 或者所有ip都可以访问
allow 0.0.0.0/0.0.0.0
# 需要用户'admin',密码为'monit'(require user 'admin' with password 'monit')
allow admin:monit
# 启用SSL/TLS并设置服务器证书的路径(enable SSL/TLS and set path to server certificate)
with ssl {
pemfile: /etc/ssl/certs/monit.pem
}
或者
set httpd port 2812 and
# 只接受来自本地主机的连接(only accept connection from localhost)
use address 10.10.10.141
# 允许本地主机连接到服务器和(allow localhost to connect to the server and)
allow localhost
# 和指定网段(192.168.0.0/16), 或者所有ip都可以访问
allow 192.168.0.0/16
# 配置域名
allow myhost.mydomain.ro
# 需要用户'admin',密码为'monit'(require user 'admin' with password 'monit')
allow admin:monit
# 启用SSL/TLS并设置服务器证书的路径(enable SSL/TLS and set path to server certificate)
with ssl {
pemfile: /etc/ssl/certs/monit.pem
}
全局通知 - 邮件通知
我们至少需要一个可用的SMTP
服务器来让Monit
发送邮件.
- 邮件服务器的机器名: smtp.exmail.qq.com
- Monit使用的发件人: monit@monit.ro
- 邮件的收件人: test@monit.ro
- 邮件服务器使用的SMTP端口: 587(默认是25, 根据自己的SMTP服务器确定)
编辑vi /etc/monitrc
, 将相应的内容修改为:
set mailserver smtp.exmail.qq.com port 465
set mail-format {
from: monit@monit.ro
subject: $SERVICE $EVENT at $DATE on $HOST
message: Monit $ACTION $SERVICE $EVENT at $DATE on $HOST : $DESCRIPTION.
Yours sincerely,
Monit
}
set alert test@qq.com
全局配置 - Monit守护进程
可以设置为:
- 在120秒后进行第一次检测
- 每2分钟检测一次服务
- 使用syslog来记录日志
编辑vi /etc/monitrc
, 将相应的内容修改为:
set daemon 60
with start delay 60
set logfile syslog facility log_daemon
必须定义idfile
, Monit
守护进程的一个独一无二的ID文件; 以及eventqueue
, 当monit的邮件因为SMTP或者网络故障发不出去, 邮件会暂存在这里; 以及确保/var/monit
路径是存在的. 然后使用下边的配置就可以了:
set idfile /var/monit/id
set eventqueue
basedir /var/monit
默认路径为$HOME/.monit.id
验证全局配置
语法检测, 检测/etc/monitrc
和/etc/monit.d
的配置语法是否正确:
$ monit -t
New Monit id: 8b7015f050672ebfd066d9e161cdf3ef
Stored in '/root/.monit.id'
Control file syntax OK
如果报错, 请检查配置文件.
启动服务, 并设置开机自启:
systemctl start monit
systemctl enable monit
服务监控
端口监控
在/etc/monit.d/
下新增配置文件monitor
, 内容如下:
# 匹配进程名
check process flask MATCHING gunicorn
# 配置服务启动和重启命令
start program = "/usr/bin/sudo service mongod start"
restart program = "/usr/bin/sudo service mongod restart"
# 如果端口27017无法访问则认为服务失败,发报警邮件并重启服务
if failed port 27017 type tcp then alert
if failed port 27017 type tcp then restart
# 如果在三个周期内重启了3次,则不再监控
# if 3 restarts within 3 cycles then unmonitor
使用脚本监控
在/etc/monit.d/
下新增配置文件monitor
, 内容如下:
check program monitor with path "/bin/bash /etc/monit.d/service/service" with timeout 60 seconds
# IF STATUS operator value THEN action
if status == 1 then exec "/bin/bash /etc/monit.d/service/service restart views"
Monit-开源服务器监控工具的更多相关文章
- 开源服务器监控工具 — JavaMelody 类 jvm 内在性能(转)
开源服务器监控工具 — JavaMelody JavaMelody它能够监测Java或Java EE应用程序服务器,并以图表的方式显示:Java内存和Java CPU使用情况,用户Sessio ...
- Monit:开源服务器监控工具
Monit是一个跨平台的用来监控Unix/linux系统(比如Linux.BSD.OSX.Solaris)的工具.Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不依赖任何第三方程序 ...
- 如何借助Monit搭建服务器监控系统?(1)
许多Linux管理员依赖一种集中式远程监控系统(比如Nagios或Cacti),检查网络基础设施的健康状况.虽然集中式监控系统为管理员在处理许多主机和设备时简化了工作,但专用的监控设备显然成了单一故障 ...
- 10款最佳SQL Server服务器监控工具
转自:http://server.51cto.com/sSecurity-587355.htm 推荐 | 10款最佳SQL Server服务器监控工具 服务器是网络中最重要的资源之一,SQL Serv ...
- 转:Nginx+ffmpeg的HLS开源服务器搭建配置及开发详解
转:http://itindex.net/detail/51186-nginx-ffmpeg-hls 本文概述: 至目前为止,HLS 是移动平台上非常重要并十分流行的流媒体传输协议.做移动平台的流媒体 ...
- DNS开源服务器BIND最小配置详解<转>
一,简介 相对于存储和大数据领域,CDN是一个相对小的领域,但行行出状元,BIND就是CDN领域的蝉联N届的状元郎.BIND是一款非常常用的DNS开源服务器,全球有90%的DNS用BIND实现.值得一 ...
- DNS开源服务器BIND最小配置详解
一,简介 相对于存储和大数据领域,CDN是一个相对小的领域,但行行出状元,BIND就是CDN领域的蝉联N届的状元郎.BIND是一款非常常用的DNS开源服务器,全球有90%的DNS用BIND实现.值得一 ...
- Nginx+ffmpeg的HLS开源服务器搭建配置及开发详
本文概述: 至目前为止,HLS 是移动平台上非常重要并十分流行的流媒体传输协议.做移动平台的流媒体开发,不知道它不掌握它 ,真是一大遗憾.而HLS的平台搭建有一定的难度,本文针对对该方向有一定了解的朋 ...
- Ubuntu下Zabbix服务器监控工具部署
Ubuntu下Zabbix服务器监控工具部署 一 安装安装Apache.Mysql.Php.zabbix sudo apt-get update sudo apt-get install apache ...
- [U3D + GAD]Egametang开源服务器框架资源管理系统
Egametang开源服务器框架资源管理系统详解 http://m.gad.qq.com/article/detail/36409 ET GitHub https://github.com/egame ...
随机推荐
- 图像欧拉数计算 matlab实现
EUL = C - H 其中EUL表示欧拉数 C表示对象数 H表示孔洞数 欧拉数常用来识别数字: 识别数字 8 ,8 的欧拉数为 -1 ,不同于0,1,2,3,4,5,6,7,9 close all ...
- Go语言中使用切片(slice)实现一个Vector容器
Go语言中的切片(slice)和一些内置函数能实现其他语言容器类Array.Vector的功能,但是Go内置语言包container里只提供了list.heap.ring三种容器,缺少vector容器 ...
- 有关IP和子网掩码的总结
从之前写的那个概括的文章之后,具体细节知识我也不知道写啥子,最近忙于毕业论文和考证,所以就总结一下这方面的知识,本篇的话就先从IP说起. IP这方面有IPv4和IPv6这两方面的内容,这里就只说IPv ...
- 利用先电云iaas平台搭建apache官方大数据平台(ambari2.7+hdp3.0)
一.ambari架构解析 二.基础环境配置 以两台节点为例来组件Hadoop分布式集群,这里采用的系统版本为Centos7 1511,如下表所示: 主机名 内存 硬盘 IP地址 角色 master 8 ...
- Bootstrap 控制台示例
1.打开https://getbootstrap.com/docs/4.3/examples/ 2.选择Dashboard 3.右键查看源代码,另存为 4.通过源代码界面下载JS和CSS 5.修改绝对 ...
- Linux系统下GDB调试
GDB 一.gdb常用命令: 命令 描述 backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 in ...
- ubuntu18安装PacketTracer-7.2.2
1.下载需要先注册个账号 https://www.netacad.com/zh-hans/courses/packet-tracer 2.运行.run文件 chmod +x PacketTracer ...
- Thinking In Java 4th Chap2 一切都是对象
对基本数据类型的初始化有二: 1.String s="asdf"; 2.String s=new String("asdf"); 可能的存储区域: 寄存器(不可 ...
- ios 输入框失去焦点,位置回调方法
微信网页开发,ios 在input,textarea 失去焦点后,页面无法回调. 以下方法可解决: $("input,textarea").on("blur", ...
- phpstudy的设置目录列表显示403找不到
小白视角具体步骤如下 在phpstudy的->其它选项菜单->phpstudy设置->允许目录列表 phpstudy->其他选项菜单->站点域名管理(新增并保存) 然后会 ...