设为首页 收藏本站
查看: 1390|回复: 0

nagios安装及报警设置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-12-24 08:39:18 | 显示全部楼层 |阅读模式
Nagios是一款Linux上成熟的监视系统运行状态和网络信息的开原IT基础设施监视系统,Nagios能监视所指定的本地或远程主机及服务,例如HTTP服务、FTP服务等,同时提供异常通知、事件处理等功能,当主机或服务出现故障时,Nagios还可以通过邮件、手机短信等形式在第一时间进行通知。Nagios可运行在Linux和Unix平台上,同时提供一个可选的基于浏览器的Web界面,方便系统管理员查看系统的运行状态、网络状态、各种系统问题及日志异常等。
环境: 192.168.0.201      mysql主机      rhel6.4
             192.186.0.202      nagios主机    rhel6.4
安装相关软件包:
    yum install httpd gcc make perl-ExtUtils-Embed.x86_64 -y
    yum localinstall gd-devel-2.0.35-11.el6.x86_64.rpm   -y
安装nagios:

    useradd nagios
    usermod -G nagios apache
    #编译所需软件包
    #运行 nagios 服务的用户
    #使 apache 用户对 nagios 目录具有写权限,不然 web 页面操作失败
    tar jxf nagios-cn-3.2.3.tar.bz2
    #nagios 软件安装
    cd nagios-cn-3.2.3
    ./configure –enable-embedded-perl
    make all           //根据提示完成安装
    make install
    make install-init
    make install-commandmode
    make install-config
    make install-webconf     //在apache下通过这条命令可以快速整合

安装nagios-plugins:

    yum install mysql-devel openssl-devel -y
    tar zxf nagios-plugins-1.4.15.tar.gz
    cd nagios-plugins-1.4.15
    ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-extra-opts --enable-libtap --enable-perl-modules
    make
    make install

配置nagios:

    vi /usr/local/nagios/etc/nagios.cfg
         #cfg_file=/usr/local/nagios/etc/objects/localhost.cfg  #注释掉localhost.cfg文件
         cfg_file=/usr/local/nagios/etc/objects/services.cfg    #新建 services.cfg 文件,存放服务与服务组定义
         cfg_file=/usr/local/nagios/etc/objects/hosts.cfg      #新建 hosts.cfg 文件,存放主机与主机组定义

配置hosts.cfg:

    vi /usr/local/nagios/etc/objects/hosts.cfg
    define host{                                          //主机的管理
    use linux-server                                    //使用默认的主机规则
    host_name vm2.example.com                //主机名
    alias Nagios vm2                                    //主机别名
    address 127.0.0.1                                  //主机ip地址
    icon_image switch.gif                            //图标
    statusmap_image switch.gd2                  
    2d_coords 100,200                                //2D图像坐标
    3d_coords 100,200,100                          //3D图像坐标
    }
    define hostgroup{                                //主机组的管理
    hostgroup_name linux-servers               //主机组名字
    alias Linux Servers                                //别名
    members *                                           //*代表上面所有主机
    }

配置services.cfg:

    define servicegroup{
    servicegroup_name  系统负荷检查
    alias 负荷检查
    members vm2.example.com,进程总数,vm2.example.com,登录用户数,vm2.example.com,根分区,vm2.example.com,交换空间利用率
    }
    define service{
    use local-service ; Name of service template to use
    host_name *
    service_description PING    //表示监控ping服务
    check_command check_ping!100.0,20%!500.0,60%
    }
    define service{
    use local-service ; Name of service template to use
    host_name vm2.example.com
    service_description 根分区
    check_command check_local_disk!20%!10%!/
    }
    define service{
    use local-service ; Name of service template to use
    host_name vm2.example.com
    service_description 登录用户数
    check_command check_local_users!20!50
    }
    define service{
    use local-service ; Name of service template to use
    host_name vm2.example.com
    service_description 进程总数
    check_command check_local_procs!250!400!RSZDT
    }
    define service{
    use local-service ; Name of service template to use
    host_name vm2.example.com
    service_description 系统负荷
    check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
    }
    define service{
    use local-service ; Name of service template to use
    host_name vm2.example.com
    service_description 交换空间利用率
    check_command check_local_swap!20!10
    }
    define service{
    use local-service ; Name of service template to use
    host_name vm2.example.com
    service_description SSH
    check_command check_tcp!22!1.0!10.0
    notifications_enabled 1 //这里表示进行通知
    }
    define service{
    use local-service ; Name of service template to use
    host_name vm2.example.com
    service_description HTTP
    check_command check_http
    notifications_enabled 1
    }

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg       校验 nagios 配置文件的正确性
如果没有error的话,开启服务
/etc/init.d/nagios  start
/etc/init.d/httpd     start
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin     nagios 监控页面访问用户和密码
打开浏览器,输入帐号密码:

28841896_1417608467bBY8.jpg

过一会儿,你就可以看到主机状况了

OK,现在我们来监控Mysql主机  192.168.0.201
在Mysql主机上进行操作

    mysql> create database nagdb;
    mysql> grant select on nagdb.* to nagdb@'192.168.0.202';
    mysql> flush privileges;

在Nagios主机上检测是否能连接到Mysql主机上的mysql服务
[iyunv@vm2 ~]# /usr/local/nagios/libexec/check_mysql -H 192.168.0.201 -u nagdb -d nagdb
Uptime: 19056  Threads: 12  Questions: 102960  Slow queries: 0  Opens: 317  Flush tables: 1  Open tables: 63  Queries per second avg: 5.403
更改配置文件hosts.cfg  services.cfg  commands.cfg增加对Mysql主机的监控

    vi /usr/local/nagios/etc/objects/hosts.cfg   添加下面内容
    define host{
    use                       linux-server
    host_name            mysql主机   
    alias                      mysql服务器
    address                 192.168.0.201
    icon_image            server.gif
    statusmap_image   server.gd2
    2d_coords            500,200
    3d_coords            500,200,100
    }

    vi /usr/local/nagios/etc/objects/services.cfg 添加以下内容
    define service{
    use                          local-service
    host_name               mysql主机
    servce_groups          mysql服务组
    service_description    mysql服务
    check_command        check_mysql
    }
    define servicegroup{
    servicegroup_name    mysql服务组
    alias                          mysql服务器
    }

    vi /usr/local/nagios/etc/objects/commands.cfg 添加下面内容
    define command{
    command_name check_mysql
    command_line $USER1$/check_mysql -H $HOSTADDRESS$ -u nagdb -d nagdb
    }

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg        检测配置文件
service nagios reload       reload服务
截取的监控图:

28841896_14176093503eSb.jpg
利用NRPE和Nagios-plugin监控远程主机:
28841896_141761047390I4.jpg
NRPE是Nagios的一个功能扩展,它可以在远程Linux和Unix主机上执行插件程序。通过在远程服务器上安装NRPE构件及Nagios插件程序来向Nagios监控主机提供该服务器的一些本地情况,例如,CPU负载、内存使用、磁盘使用等。
远程主机配置


    useradd nagios
    tar -xzf nagios-plugins-1.4.15.tar.gz
    cd nagios-plugins-1.4.15
    ./configure  --with-nagios-user=nagios --with-nagios-group=nagios
    make
    make install
    yum install xinetd -y
    tar zxf nrpe-2.12.tar.gz
    cd nrpe-2.12
    ./configure
    make all
    make install-plugin
    make install-daemon
    make install-daemon-config
    make install-xinetd
    vim   /etc/xinetd.d/nrpe
        only_from= 192.168.0.202   //添加Nagios监控主机ip
    vim   /etc/services
        nrpe    5666/tcp      //跟/etc/xinetd.d/nrp端口一样
    /etc/init.d/xinetd  start
    netstat -anlpte | grep 5666   //检测nrpe是否启动成功

Nagoi主机配置:

    tar zxf nrpe-2.12.tar.gz
    cd nrpe-2.12
    ./configure --with-nagios-user=nagios --with-nagios-group=nagios
    make all
    make install-plugin

检测:
[iyunv@vm2 ~]# /usr/local/nagios/libexec/check_nrpe -H 192.168.0.201
NRPE v2.12
看到以上输出说明与远程主机连接正常
修改配置文件  commands.cfg   services.cfg

    vi /usr/local/nagios/etc/objects/commands.cfg
    define command{
    command_name        check_nrpe
    command_line           $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
    }

    vi /usr/local/nagios/etc/objects/services.cfg
    define service{
    use     generic-service
    host_name       mysql主机
    service_description     CPU Load
    check_command   check_nrpe!check_load
    }
    define service{
    use     generic-service
    host_name       mysql主机
    service_description     Current Users
    check_command   check_nrpe!check_users
    }
    define service{
    use     generic-service
    host_name       mysql主机
    service_description     /Free Space
    check_command   check_nrpe!check_disk
    }

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg     检测配置文件
没有错误reload服务
service nagios reload
忙活了这么久,看下劳动成果:

28841896_1417611952KQH2.jpg
明天再来折腾下Nagios报警,今天就到这里啦


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-38552-1-1.html 上篇帖子: nagios监控Windows网卡报警乱码 下篇帖子: nagios 简介 主机 Linux 监控 开原 网络
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表