测试使用monit监控服务

一、基础环境
1、在tvm-rpm的基础上测试。
2、网络:
eth0:host-only(用于虚拟内网,手动固定IP,这样从宿主机可以直接连接到这个vm)
eth1:NAT(用于上外网,动态IP)
[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.56.253
PREFIX=24
GATEWAY=192.168.56.1
DNS1=192.168.56.254

[[email protected] network-scripts]# cat ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
DNS1=192.168.56.254

二、配置monit环境
1、已经配置过salt-master服务,且在配置中,启用了pid。
[[email protected] ~]# vim /etc/salt/master 
pidfile: /var/run/salt-master.pid

2、安装monit
[[email protected] ~]# yum -y install monit

安装后默认的log文件在:
/var/log/monit

滚动压缩也已经配置好:
[[email protected] ~]# cat /etc/logrotate.d/monit    
/var/log/monit {
    missingok
    notifempty
    size 100k
    create 0644 root root
    postrotate
        /sbin/service monit condrestart > /dev/null 2>&1 || :
    endscript

}

3、个性化配置
1)配置文件在
/etc/monit.conf
/etc/monit.d

2)默认已经自带了针对log的配置:
[[email protected] ~]# cat /etc/monit.d/logging 
# log to monit.log
set logfile /var/log/monit

3)邮件相关:
[[email protected] ~]# vim /etc/monit.d/monit-mail.conf
# mail server
set mailserver smtp.xxx.com port 25
    username "[email protected]" password "xxx"

# later delivery retry
set eventqueue
    basedir /var/monit
    slots 100

# mail format
set mail-format {
        from: [email protected]
        subject: [monit Alter][test from xxx] $HOST $SERVICE $EVENT
        message: $EVENT Service $SERVICE
                Date:        $DATE
                Action:      $ACTION
                Host:        $HOST
                Description: $DESCRIPTION

               Your faithful employee,
               monit
    }

# mail recipients
set alert [email protected]

4)针对指定服务的监控:
[[email protected] ~]# vim /etc/monit.d/salt-master.conf 
check process salt-master with pidfile /var/run/salt-master.pid
  start program = "/etc/init.d/salt-master start"
  stop program = "/etc/init.d/salt-master stop"

注1:监控方式多样,这个可以查阅配置文件和官网的示例。
注2:告警对象也可以指定事件范围。
  
4、启动服务
[[email protected] ~]# service monit start
Starting monit: monit: generated unique Monit id 5701f8ce7fd7a6a69c713ec2b1b5f22e and stored to ‘/root/.monit.id‘
                                                           [  OK  ]
查看log:无异常。

加入开机启动:
[[email protected] ~]# chkconfig monit on

5. 查看邮件
[monit Alter][test from xxx] tvm-rpm tvm-rpm Monit instance changed  
发件人:test <[email protected]>  
时   间:2015年7月21日(星期二) 下午2:42
收件人:admin <[email protected]> 
Monit instance changed Service tvm-rpm
                Date:        Tue, 21 Jul 2015 14:42:47 +0800
                Action:      start
                Host:        tvm-rpm
                Description: Monit started

               Your faithful employee,
               monit

6、继续测试停止salt-master服务,看看效果
[[email protected] ~]# service salt-master stop
Stopping salt-master daemon:                               [  OK  ]
[[email protected] ~]# tail -f /var/log/monit
[CST Jul 21 14:42:47] info     : ‘tvm-rpm‘ Monit started
[CST Jul 21 14:48:49] error    : ‘salt-master‘ process is not running
[CST Jul 21 14:48:50] info     : ‘salt-master‘ trying to restart
[CST Jul 21 14:48:50] info     : ‘salt-master‘ start: /etc/init.d/salt-master

查看邮件有2封:
[monit Alter][test from xxx] tvm-rpm salt-master Does not exist
Does not exist Service salt-master
                Date:        Tue, 21 Jul 2015 14:48:49 +0800
                Action:      restart
                Host:        tvm-rpm
                Description: process is not running

               Your faithful employee,
               monit
               
[monit Alter][test from xxx] tvm-rpm salt-master Exists
Exists Service salt-master
                Date:        Tue, 21 Jul 2015 14:49:51 +0800
                Action:      alert
                Host:        tvm-rpm
                Description: process is running with pid 8380

               Your faithful employee,
               monit
               
查看salt-master服务:
[[email protected] ~]# service salt-master status
salt-master (pid  8380) is running...  

7、查看monit自带的web服务
[[email protected] ~]# vim /etc/monit.d/monit-web.conf 
set httpd port 2812 and
    use address 192.168.56.253
    allow localhost
    allow 192.168.56.0/24
    allow admin:monit
重启服务:
[[email protected] ~]# service monit restart

浏览器输入用户名admin,密码monit即可访问:
http://192.168.56.253:2812/

8. 给monit的web服务加上ssl
1)生成证书
[[email protected] ~]# ls /etc/pki/tls
cert.pem  certs  misc  openssl.cnf  private

自定义一个ssl证书生成的配置文件:
[[email protected] ~]# echo ‘abc‘ >/tmp/openssl.rnd
[[email protected] ~]# cat /tmp/monit.ssl.conf 
# create RSA certs - Server

  RANDFILE = /tmp/openssl.rnd

  [ req ]
  default_bits = 2048
  default_md = sha256
  encrypt_key = yes
  distinguished_name = req_dn
  x509_extensions = cert_type

  [ req_dn ]
  countryName = Country Name (2 letter code)
  countryName_default = ZH

  stateOrProvinceName             = State or Province Name (full name)
  stateOrProvinceName_default     = TESTPROV

  localityName                    = Locality Name (eg, city)
  localityName_default            = TESTCITY

  organizationName                = Organization Name (eg, company)
  organizationName_default        = TESTCOMP

  organizationalUnitName          = Organizational Unit Name (eg, section)
  organizationalUnitName_default  = TESTSVR

  commonName                      = Common Name (FQDN of your server)
  commonName_default              = server.office.com

  emailAddress                    = Email Address
  emailAddress_default            = [email protected]

  [ cert_type ]
  nsCertType = server
  
生成私钥和证书:
[[email protected] ~]# openssl req -new -x509 -days 365 -nodes -config /tmp/monit.ssl.conf -out /etc/pki/tls/certs/monit.pem -keyout /etc/pki/tls/certs/monit.pem

查看文件/etc/pki/tls/certs/monit.pem可以看到:
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

生成Diffie-Hellman参数:
[[email protected] ~]# openssl gendh 1024 >> /etc/pki/tls/certs/monit.pem

查看文件/etc/pki/tls/certs/monit.pem可以看到:
-----BEGIN DH PARAMETERS-----
-----END DH PARAMETERS-----

设置权限:
[[email protected] ~]# chmod 600 /etc/pki/tls/certs/monit.pem

输出证书信息:
[[email protected] ~]# openssl x509 -text -noout -in /etc/pki/tls/certs/monit.pem

2)调整monit配置
[[email protected] ~]# vim /etc/monit.d/monit-web.conf 
set httpd port 2812 and
    use address 192.168.56.253
    allow localhost
    allow 192.168.56.0/24
    allow admin:monit
    SSL ENABLE
    PEMFILE /etc/pki/tls/certs/monit.pem

3)访问
https://192.168.56.253:2812/

ZYXW、参考
1、Real-world configuration examples
https://mmonit.com/wiki/Monit/ConfigurationExamples
2、Enable SSL In Monit
https://mmonit.com/wiki/Monit/EnableSSLInMonit
3、初识Openssl
http://blog.csdn.net/jiangwlee/article/details/7724274
时间: 2024-08-07 21:17:51

测试使用monit监控服务的相关文章

centos7使用monit监控服务运行状态

安装: yum -y install epel-release yum -y install monit 配置:vim /etc/monitrc set daemon 30 set log syslog set httpd port 2812 and use address 172.20.10.11 allow 172.20.10.2 allow admin:monit #with ssl { # enable SSL/TLS and set path to server certificate

nagios监控服务

   nagios监控系统 1: ngios工作原理 1.Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控.检测功能都是通过各种插件来完成的. 启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来. Nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态.安装完成后,在nagios主目录下的/libe

Zabbix 监控服务

一.搭建Zabbix监控服务器1.部署服务运行环境(LAMP)rpm -q httpd mysql-server phprpm -q mysql php-mysqlservice httpd start ;chkconfig httpd onservice mysqld start ;chkconfig mysqld on [[email protected] ~]# vim /var/www/html/db.php<?php$db=mysql_connect("localhost&quo

Monit监控软件安装

Monit是一款功能非常丰富的进程.文件.目录和设备的监测软件,适用于Linux/Unix平台. 在CentOS 6.4上配置Monit的步骤: 我们以服务器IP地址:10.153.126.189,为例进行配置,监控10.153.110.12, 10.153.75.78这两台服务器. 一.安装EPEL.在命令行输入: # rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm 二.安装Mon

zabbix自定义KEY监控服务状态[不需要端口]

zabbix监控Windows下的服务并实现告警和重启服务 首先 创建获取服务状态的脚本 一.Windows脚本 @echo off set srvname=%1 for /f "skip=3 tokens=4" %%i in ('sc query %srvname%') do set "zt=%%i" &goto :next :next if /i "%zt%"=="RUNNING" ( :服务运行正常,返回1. e

【shell脚本】监控服务进程状态

今天公司LD让写个小脚本,监控一个进程是否存在,存在怎退出脚本,如果不存在就发一封邮件给指定邮箱,我是通过守护进程的运行状态来判断该服务的连接情况,并将测试结果显示到标准输出上. 为了方便监控,使用crontab使其每两小时执行一次. 代码: #!/bin/bash # #提示用户输入一个指定守护进程名称,并将其赋予变量n_proc #echo "Please input a name of process #read n_proc # #搜索变量n_proc中指定的守护进程的进程号,并赋值给变

《转》OpenStack添加监控服务

添加监控服务 监控服务 OpenStack监控服务: 有效的收集有关CPU和网络花费的计量数据 通过由服务或基础设置发送的监控通知收集信息. 配置收集数据的类型,让他适应多种操作需求.通过REST API来接受和插入元数据. 通过额外插件的方法扩展架构来收集自定制使用数据. 产生不能否定的签署计量信息. 该系统包含以下基本组件: 计算代理(ceilometer-agent-compute).在每个计算节点运行并轮询资源的使用率统计信息.未来可能会有更多其他类型的代理,但是目前我们关注于创建计算代

使用 Dalvik 调试监控服务 (DDMS) 工具

Android 附带一个叫Dalvik 调试监控服务 (DDMS) 的调试工具,它提供端口转发服务.在设备上的屏幕捕获,设备上的线程和堆栈信息, logcat,进程, 和无线状态信息,接收呼叫和SMS 欺骗,位置数据欺骗 和更多功能. 这篇仅介绍DDMS一般特性,不是对它的特性和功能做详细的说明. DDMS 位于SDK的 tools/ 目录.从一个终端或控制口进入此目录并键入 ddms (或 ./ddms 在 Mac/Linux上) 以运行它, DDMS 将运行在模拟器上或一个连接的设备上,如果

SECURITY 04: Nagios监控实战 、 监控概述 、 Nagios监控服务

抓包: tcpdump 选项 过滤条件协议分析软件 : wireshark 搭建CA服务器: CA 配置CA服务的过程:192.168.4.55 ca.tedu.cn tarena1 部署证书签发环境:/etc/pki/tls/openssl.conf 工作目录 证书存放目录私钥文件名 根证书文件名证书编号文件证书索引文件证书识别: 国家 省 城市 公司 部门 匹配策略: 2 创建私钥文件名: 命令 存储目录 文件名3 创建根证书文件名:命令 存储目录 文件名输入:国家 省 城市 公司 部门 邮