01、Linux进程监控-Moint

1.  监控工具Moint安装及其使用

1.1 Monit安装及其配置

方式1:yum安装

安装相关命令如下

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

rpm -ivh epel-release-latest-6.noarch.rpm

yum install -y monit

方式2:tar安装

安装相关命令如下

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

rpm -ivh epel-release-latest-6.noarch.rpm

wget http://mmonit.com/monit/dist/ monit-5.25.1-linux-x64.tar.gz

tar -zxvf monit-5.25.1-linux-x64.tar.gz

配置项修改

注意:yum下载后需要修改文件:/etc/monit.conf

          tar下载后需要修改文件:解压缩目录/conf/monitrc

需修改相关命令如下:

# 1.间隔30秒检查服务

set daemon  30              # check services at 30 seconds intervals

# 2.设置日志地址

set log /root/monit/logs

# 3.设置monit的启动端口PID

set pidfile /root/monit/var/monit.pid

# 4.设置monit状态地址

set statefile /root/monit/var/monit.state

# 5.设置web监控

set httpd port 2812 and

    use address localhost  # only accept connection from localhost or ip

    allow 0.0.0.0/0.0.0.0   # allow all ip conect to the server

allow admin:monit      # require user ‘admin‘ with password ‘monit‘

# 6. 加入需要监控的内容目录

include /root/monit/etc/*

服务监控配置文件格式

配置好监控文件放在“# 6. 加入需要监控的内容目录”中

详细配置规则如下:

  • 如果指定的 path 不存在, 而且配置块里包含 start 方法, 会调用这个 start 方法
  • 如果 path 指定的文件类型不对, Monit 不能监控这个项目 

相关语句如下:

  • Process

CHECK PROCESS <unique name> <PIDFILE <path> | MATCHING <regex>>

<path> pid-file 的绝对路径. 不存在 pid-file 文件或者 pid-file 文件没有对应的正在运行的程序, Monit 会执行 start 方法

<regex> 进程名称的正则表达来监控进程, 可以通过命令行测试正则是否写对了: monit procmatch "regex-pattern"

  • File

CHECK FILE <unique name> PATH <path>

<path> file 的绝对路径.

  • Fifo

CHECK FIFO <unique name> PATH <path>

<path> fifo 的绝对路径.

  • Filesystem

CHECK FILESYSTEM <unique name> PATH <path>

<path> 设备/磁盘, 挂载点的路径 或 NFS/CIFS/FUSE 链接字符串. 如果文件系统不可用, Monit 会执行 start 方法

  • Directory

CHECK DIRECTORY <unique name> PATH <path>

<path> 目录问价的绝对路径

  • Remote host

CHECK HOST <unique name> ADDRESS <host>

<host> 可以是域名或者 IP 地址. eg: "tildeslash.com" or "64.87.72.95".

  • System

CHECK SYSTEM <unique name>

<unique name> 通常来说是本机名称(可以用 $HOST), 也可以是其他名称. 用于邮件报警或者 M/Monit 的初始化名称

这类配置可以监控系统资源(CPU, memory, load average...)

  • Program

CHECK PROGRAM <unique name> PATH <executable file> [TIMEOUT <number> SECONDS]

<path> 可执行程序或脚本的绝对路径. 允许检查程序退出状态.如果程序没能在 <number> 秒内执行完成, Monit 会终结这个程序, 默认是 300s

程序的输出会被记录, 用于用户界面或者报警, 默认 512 bytes(可以通过 set limits 修改)

  • Network

CHECK NETWORK <unique name> <ADDRESS <ipaddress> | INTERFACE <name>>

# <ipaddress> 是被监控的 IPv4/IPv6 网卡地址. 用 eth0 也是可以的

举例:注意说明

# 需要提供进程pid文件信息

check process nginx with pidfile /var/run/nginx.pid
    # 进程启动命令行,注:必须是命令全路径
    start program = "/etc/init.d/nginx start"
    # 进程关闭命令行
    stop program  = "/etc/init.d/nginx stop"
    # nginx进程状态测试,监测到nginx连不上了,则自动重启
    if failed host www.example.com port80 protocol http then restart
    # 多次重启失败将不再尝试重启,这种就是系统出现严重错误的情况
    if 3 restarts within 5 cycles then timeout
    # 可选,设置分组信息
    group server

1.2 Monit启停

方式1:yum后启停

开启服务:./monit

停止服务:./stop.sh

stop.sh 脚本

kill -9 `ps -ef | grepmonit | grep -v "grep" | awk ‘{print $2}‘ `

方式2:tar解压缩后启停

开启服务:./start.sh

start.sh 脚本

pwd=$(cd `dirname $0`;pwd)

$pwd/bin/monit -c$pwd/conf/monitrc

停止服务:./stop.sh

stop.sh 脚本

kill -9 `ps -ef | grepmonit | grep -v "grep" | awk ‘{print $2}‘ `

2. 监控工具MMoint安装及其使用(30天后收费)

MMoint可以监控已经部署的Moint的设备运行状态

如所有状态

 01、Linux进程监控-Moint

相关图表分析

 01、Linux进程监控-Moint

部署:

Monit部署

修改conf文件,所在目录参考“2.1 Monit安装及其配置”章节

需要修改信息如下:

# 设置MMonit的监控

set mmonit http://monit:(MMonit的ip ):port/collector

MMoint安装及其使用

wget https://mmonit.com/dist/mmonit-3.7.3-linux-x64.tar.gz

tar xf mmonit-3.7.3-linux-x64.tar.gz

cd mmonit-3.7.3/conf

vi server.xml

<Connector address="*" port="8181" processors="10" />  //修改监听端口

cd mmonit-3.7.3/bin

./ mmonit //启动

MMoint 用户和密码

登录Web: http:// ip(MMonit的ip ):port

01、Linux进程监控-Moint