http://blog.chinaunix.net/uid-28685162-id-3506260.html

nagios安装完成,打开/usr/local/nagios/etc/nagios.cfg去掉cfg_dir=/usr/local/nagios/etc/servers前面的#号,并创建/usr/local/nagios/etc/servers目录(此目录下放被监控机的配置文件),重启nagios服务service nagios restart
/usr/local/nagios/etc/objects/commands.cfg  定义监控的命令,监控每一项都必须先在此配置文件定义监控命令

/usr/local/nagios/etc/objects/contacts.cfg 定义联系人和联系人组,比如联系人naigosadmin,联系人组admins,报警信息也在这里配置

/usr/local/nagios/etc/objects/timeperiods.cfg 定义时间

/usr/local/nagios/etc/objects/templates.cfg 放置监控模板,可在监控服务的时候引用这里面的模板,一般不用改动

/usr/local/nagios/etc/objects/localhost.cfg 如果你要监控本机,那就在这里配置
/usr/local/nagios/etc/servers 放置被监控机的配置文件,比如我监控192.168.1.252的配置文件252.cfg就放这下面
 
监控机:192.168.1.246
被监控机:192.168.1.252,192.168.1.249
操作系统:RHEL5.4
 
一、监控磁盘IO
先下载脚本所需模块
perl Makefile.PL
make
make install
在被监控机上/usr/local/nagios/etc/nrpe.cfg配置文件里添加
command[check_iostat]=/usr/local/nagios/libexec/check_iostat -w 5 -c 10
把脚本check_iostat(见附件)放到被监控机的/usr/local/nagios/libexec/目录下,并赋权限
chmod +x /usr/local/nagios/libexec/check_iostat
Chown nagios:nagios /usr/local/nagios/libexec/check_iostat
测试:[root@Rs-02 libexec]# ./check_iostat -w 5 -c 10

IOSTAT OK - user 0.54 nice 0.01 sys 1.41 iowait 1.37 idle 0.00  | iowait=1.37%;; idle=0.00%;; user=0.54%;; nice=0.01%;; sys=1.41%;;
在监控机/usr/local/nagios/etc/objects/commands.cfg里面添加
define command{

        command_name    check_iostat

        command_line    $USER1$/check_iostat -w $ARG1$ -c $ARG2$

        }

在监控机/usr/local/nagios/etc/servers/252.cfg(被监控机192.168.1.252的配置文件)里添加
define service{

        use                             generic-service

        host_name                       252

        service_description             iostat

        check_command                   check_iostat!5!10

        }

然后检查配置是否有误
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
提示无误后重启服务service nagios restart
 
二、监控nginx状态
被监控端nginx配置文件nginx.conf的虚拟主机添加
                location /nginx_status {

                        stub_status on;

                        access_log   off;

                }

把check_nginx(见附件)放到监控端/usr/local/nagios/libexec/目录下,并赋权限
chmod +x /usr/local/nagios/libexec/check_nginx
Chown nagios:nagios /usr/local/nagios/libexec/check_nginx
测试:./check_nginx -H 192.168.1.252 -P 80 -p /usr/local/nginx/ -n nginx.pid -s nginx_status -o /tmp/ -w 15000 -c 20000

OK - nginx is running. 1 requests per second, 1 connections per second (1.00 requests per connection) | 'reqpsec'=1 'conpsec'=1 'conpreq'=1.00 ]
/usr/local/nagios/etc/objects/commands.cfg添加
define command{

        command_name    check_nginxstatus

        command_line    $USER1$/check_nginx -H $ARG1$ -P $ARG2$ -p $ARG3$ -n $ARG4$ -o $ARG5$ -w $ARG6$ -c $ARG7$

        }

/usr/local/nagios/etc/servers/252.cfg添加
define service{

        use                             generic-service

        host_name                       252

        service_description             nginx_status

        check_command                   check_nginxstatus!192.168.1.252!80!/usr/local/nginx!nginx.pid!nginx_status!/tmp!15000!20000

        }

重启nagios服务
 
三、监控网卡流量
被监控机/usr/local/nagios/etc/nrpe.cfg里添加
command[check_iftraffic]=/usr/local/nagios/libexec/check_iftraffic -i eth0 -w 50 -c 100 -b 100 -u m
把check_iftraffic(见附件)放到被监控机/usr/local/nagios/libexec/目录下,并赋权限
chmod +x /usr/local/nagios/libexec/check_iftraffic
Chown nagios:nagios /usr/local/nagios/libexec/check_iftraffic
监控端/usr/local/nagios/etc/objects/commands.cfg添加
define command{

         command_name    check_iftraffic

         command_line    $USER1$/check_iftraffic -H $HOSTADDRESS$ -i $ARG1$ -w $ARG2$ -c $ARG3$ -b $ARG4$ -u $ARG5$

}

/usr/local/nagios/etc/servers/252.cfg添加
define service{

        use                             generic-service

        host_name                       252

        service_description             iftraffic

        check_command                   check_nrpe!check_iftraffic!"eth0"!50!100!100!m

        }

重启nagios服务
 
四、监控Mysql主机
用plugin 产生的脚本 check_mysql监控

需要被监控机添加访问

• 据库授权:(登陆DB服务器,进行授权用户名 liuyu,密码linu

• mysql> grant all privileges on *.* to chenwei@192.168.1.246 identified
by '123456';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)
监控端/usr/local/nagios/etc/objects/commands.cfg添加
define command{

        command_name    check_mysql

        command_line    $USER1$/check_mysql -H $ARG1$ -P $ARG2$ -u $ARG3$ -p $ARG4$

        }

/usr/local/nagios/etc/servers/252.cfg添加
define service{

        use                             generic-service         ; Name of service template to use

        host_name                       252

        service_description             mysql

        check_command                   check_mysql!192.168.1.252!3306!chenwei!123456

#       notifications_enabled           0    此项定义是否发送报警信息,0为关闭,1为开启

        }

重启nagios服务
 
监控脚本在附件里

nagios监控mysql主机,nginx,磁盘IO,网卡流量的更多相关文章

  1. 一步步实现Nagios监控linux主机及飞信报警

    一步步实现Nagios监控linux主机及飞信报警 上篇文章介绍了在linux主机上架设nagios监控服务,并对windows主机进行服务状态变化的监控,这次我们继续上次内容.      首先实现n ...

  2. nagios监控mysql及邮件报警

    1.使用默认监控命令check_http命令+相关的参数来实现,如下: 在command.cfg添加如下关键词监控命令:check_http_word,参数解析:-I指定IP或者主机名,-u指定URL ...

  3. cacti监控linux和windows磁盘IO

    cacti监控linux和windows磁盘IO 标签:cacti linux磁盘IO windows磁盘IO 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则 ...

  4. Nagios监控mysql主从复制

    因为公司的nagios用了很久监控项目很多,也在zabbix迁移中,也就先临时用nagios监控mysql主从了 mysql> show slave status\G 查看其输出,即可判定主从复 ...

  5. nagios监控mysql

    在nagios上部署check_mysql_health 监控mysql 博客分类: 架构   本监控为基于nagios服务器主动监控方法,利用check_mysql_health实现多种监控模式:  ...

  6. Nagios 监控 Mysql

    被监控机的Mysql监控创建专用数据库.专用数据库账户mysql -uroot -pcreate database nagios_monitor;grant select on nagios_moni ...

  7. nagios监控mysql主从状态

    看了网上很多mysql主从监控的,大部分都是shell的,就算是python的,也是在python下跑shell语句.我写了一个python的监控脚本,用到了mysqldb这个包.脚本如下: [roo ...

  8. nagios监控linux主机监控内存脚本

    说明 工作包括两部分监控端(一二三)和被监控端(四) 一.nrpe.cfg中添加脚本 nrpe.cfg中添加命令索引 command[check_used_mem]=/usr/local/nagios ...

  9. Nginx 磁盘IO的优化

    L:132

随机推荐

  1. 第一个Polymer应用 - (0)准备工作

    原文链接:  Getting Started - Your first Polymer application翻译时间: 2014年7月5日翻译人员: 铁锚 关于Polymer 的简介,请参考 CSD ...

  2. Java I/O最简单的几个类

    今天把I/O中最简单的几个类整理了一下,之所以整理最简单的,是因为这样会让我更加快速方便的理顺这里面的东西,以前每一次用的时候都要先百度一下,觉得很烦. 首先需要先看一下Read,Write和Stre ...

  3. linux下shell中执行命令的顺序问题

    在shell中有很多种命令的同义词,到底先执行的是哪一个命令呢,我们可以借助type -a命令来检查. 为了测试我们就对type本身做一条alias: alias type=type 然后我们通过ty ...

  4. [Zabbix3.0 ]添加Nginx监控

    通过Nginx的http_stub_status_module模块提供的状态信息来监控,所以在Agent端需要配置Nginx状态获取的脚本,和添加key信息等,然后在Server端配置Nginx的监控 ...

  5. IT咨询顾问:一次吐血的项目救火

    年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登录,对方技术人员一头雾水不知道什么原因 ...

  6. cocapods 使用及问题

    一.CocoaPods的安装 (1)使用淘宝的Ruby镜像替换官方的ruby源,在终端输入命令 $ gem sources --remove https://rubygems.org/ $ gem s ...

  7. Spring Boot Kafka

    1.创建集群 http://kafka.apache.org/documentation/#quickstart 有一句我觉得特别重要: For Kafka, a single broker is j ...

  8. werfault进程使用CPU率高

    werfault进程是Windows vista 错误报告进程,是用来向微软反馈报告.是安全的正常进程. 解决方法:1.打开控制面板”—“系统和维护”,点击“问题报告和解决方案”. 2.点击“更改设置 ...

  9. 以太坊智能合约虚拟机(EVM)原理与实现

    以太坊 EVM原理与实现 以太坊底层通过EVM模块支持合约的执行与调用,调用时根据合约地址获取到代码,生成环境后载入到EVM中运行.通常智能合约的开发流程是用solidlity编写逻辑代码,再通过编译 ...

  10. Cesium 云服务

    前言 所有行业内都知道云是未来或者现在的趋势,但是真正的完完全全提供地理信息云服务的恐怕只有 Google 一家,然而今天我居然发现 Cesium 提供了云服务,你没有看错,就是曾经的开源 3D 渲染 ...