文档章节

nagios安装配置

eddy_linux
 eddy_linux
发布于 2015/11/05 03:00
字数 1494
阅读 57
收藏 0
点赞 0
评论 0

第一步:

安装软件:分为nagios监控端和nagios被监控端

监控端软件列表

Nagios安装包

Nagios插件安装包

Nagios中文支持包

Nrpe软件包

nagios通过nrpe来远端管理服务

1. nagios执行安装在它里面的check_nrpe 插件,并告诉check_nrpe 去检测哪些服务。

2. 通过ssl,check_nrpe 连接远端机子上的nrpe daemon

3. nrpe运行本地的各种插件去检测本地的服务和状态

4. nrpe把检测的结果传给主机端的check_nrpe, 主机端的check_nrpe再把结果送到nagios状态队列中。

5. nagios 依次读取队列中的信息,再把结果显示出来。

解决编译软件时需要的依赖

[root@www ~]# yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel

添加nagios用户

添加目录 mkdir /usr/local/nagios

修改权限 chown -R nagios.nagios /usr/local/nagios

解压软件包 tar -xzvf nagios-3.2.0.tar.gz

开始安装1.   ./configure --prefix=/usr/local/nagios

2.   make all

3.   make install

4.   make install-init

5.    make install-commandmode

6.    make install-config

7.    chkconfig --add nagios

8.    chkconfig --level 35 nagios on

9.    tar -xzvf nagios-plugins-1.4.14.tar.gz

10.   ./configure --prefix=/usr/local/nagios

11.   make && make install

12.   yum install httpd

13.   yum install php

14.   vim /etc/httpd/conf/httpd.conf

添加以下内容

修改用户

 

15.   添加密码

htpasswd -c /usr/local/nagios/etc/htpasswd oracle

 

16.   /etc/init.d/httpd start

17.   tar -xjvf nagios-cn-3.2.0.tar.bz2

18.   ./configure 

19.   make && make install

监控端nagios安装完毕

重启httpd和启动nagios

可以看到以下画面

这里你要输入刚才设置的用户和密码


在没有修改配置的情况下,默认只能查看到本机

好的 下面来添加主机

会用到以下几个文件,其他文件就由各位下去自己慢慢研究了,我手懒

其中以下两个文件需要手动创建

 

定义被监控主机

[root@www objects]# cat hosts.cfg

define host{  

        use                     linux-server     使用templates.cfg定义的 

        host_name             Nagios-Linux    自己取的名字并不一定是主机名

        alias                    Nagios-Linux    别名     

        address                 192.168.1.201  被监控主机      

        }  

定义监控内容也就是监控命令

[root@www objects]# cat services.cfg

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     Current Load

        check_command           check_nrpe!check_load

        }

 

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     Check Disk sda1

        check_command           check_nrpe!check_sda1

        }

 

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     Total Processes

        check_command           check_nrpe!check_total_procs

        }

 

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     Current Users

        check_command           check_nrpe!check_users

        }

 

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     Check Zombie Procs

        check_command           check_nrpe!check_zombie_procs

        }

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     Check Swap

        check_command           check_nrpe!check_swap

        }

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     HTTP

        check_command           check_nrpe!check_http

        }

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     MYSQL

        check_command           check_nrpe!check_mysql

        }

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     MYLOG

        check_command           check_nrpe!check_mylog

被监控端主机安装nrep、nagi-plugin软件包

与监控端安装类似,注意最好是以xinetd的方式来启动

安装nrep

  161  ./configure

  162  make all

  163  make install-plugin

  164  make install-daemon-config

  165  make install-xinetd

 

 

 

vim /etc/xinetd.d/nrpe

 

# default: on

# description: NRPE (Nagios Remote Plugin Executor)

service nrpe

{

        flags           = REUSE

        socket_type     = stream

        port            = 5666

        wait            = no

        user            = nagios

        group           = nagios

        server          = /usr/local/nagios/bin/nrpe

        server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd

        log_on_failure  += USERID

        disable         = no

        only_from       = 127.0.0.1 192.168.1.200#服务器地址

测试

/usr/local/nagios/libexec/check_nrpe -H localhost

[root@www libexec]# vim /usr/local/nagios/etc/nrpe.cfg

log_facility=daemon

pid_file=/var/run/nrpe.pid

server_port=5666

nrpe_user=nagios

nrpe_group=nagios

allowed_hosts=127.0.0.1

dont_blame_nrpe=0

debug=0

command_timeout=60

connection_timeout=300

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10

command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20

command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1

command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z

command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%

command[check_http]=/usr/local/nagios/libexec/check_http -I 127.0.0.1

command[check_mysql]=/usr/local/nagios/libexec/check_mysql

command[check_mylog]=/usr/local/nagios/libexec/check_mylog

自己定义的插件

[root@www libexec]# cat check_mylog

#!/bin/bash

#

#

myfiles="`date +%F`.txt"

count=`sed -n '/fail/p' /tmp/$myfiles|wc -l`

if [ $count -eq 0 ];then

       echo "MYLOG IS OK"

       exit 0

elif [ $count -ge 1 -a $count -le 10 ] ;then

       echo "MYLOG IS WARNING"

       exit 1

elif [ $count -ge 11 ];then

       echo "MYLOG IS CRITICAL"

       exit 2

elif [ $count -lt 0 ];then

       echo "UNKNOWN"

       exit 3

If

0 表示OK

1 表示WARNNING

2 表示 CRITICAL

3 表示UNKNOWN

在服务端的services.cfg中使用这两个自己定义的插件

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     MYSQL

        check_command           check_nrpe!check_mysql

        }

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     MYLOG

        check_command           check_nrpe!check_mylog

最后要在command.cfg中加入check_nrpe命令

# 'check_nrpe' command definition

define command{

        command_name    check_nrpe     

        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ 

                       

        }

 

 

重启服务端服务

就会出现我们定义的主机

例如我现在关闭mysql

这里就可以看到mysql的监控状态为紧急

 

现在恢复mysql

可以看到mysql监控状态为ok

下面我来实现故障告警功能

使用邮件告警

[root@www objects]# cat contacts.cfg

###############################################################################

# CONTACTS.CFG - SAMPLE CONTACT/CONTACTGROUP DEFINITIONS

#

# Last Modified: 05-31-2007

#

# NOTES: This config file provides you with some example contact and contact

#        group definitions that you can reference in host and service

#        definitions.

#      

#        You don't need to keep these definitions in a separate file from your

#        other object definitions.  This has been done just to make things

#        easier to understand.

#

###############################################################################

 

 

 

###############################################################################

###############################################################################

#

# CONTACTS

#

###############################################################################

###############################################################################

 

# Just one contact defined by default - the Nagios admin (that's you)

# This contact definition inherits a lot of default values from the 'generic-contact'

# template which is defined elsewhere.

 

define contact{

        contact_name            nagiosadmin             

              use                                      generic-contact               

        alias                           Nagios Admin                                                                                
        
service_notification_period     24x7

        host_notification_period         24x7

        service_notification_options    w,u,c,r,f,s

        host_notification_options        d,u,r,f,s

        service_notification_commands   notify-service-by-email                           

        host_notification_commands        notify-host-by-email 

        email                           15882026924@139.com       ;

        }

 

 

 

###############################################################################

###############################################################################

#

# CONTACT GROUPS

#

###############################################################################

###############################################################################

 

# We only have one contact in this simple configuration file, so there is

# no need to create more than one contact group.

 

define contactgroup{

        contactgroup_name       admins

        alias                   Nagios Administrators

        members                 nagiosadmin

        }

 

 

 

[root@www objects]# tail -20 services.cfg

        }

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     HTTP

        check_command           check_nrpe!check_http

        }

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     MYSQL

        check_command           check_nrpe!check_mysql

              contact_groups              admins

        }

define service{

        use                     local-service

        host_name               Nagios-Linux

        service_description     MYLOG

        check_command           check_nrpe!check_mylog

        }

Cat command.cfg

# 'notify-host-by-email' command definition

define command{

       command_name       notify-host-by-email

       command_line       /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$

       }

 

# 'notify-service-by-email' command definition

define command{

       command_name       notify-service-by-email

       command_line       /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

       }

默认是配置好了这里就不用配置

直接在contact和services中使用就好了

 

把mysql停了

 


验证成功,但是要注意需要把发件人的地址设置为白名单才可以收到

由于是手机邮件就实现了邮件短信同时提醒的功能,当然有邮件达到短信提醒的邮箱都能实现这个功能不一定是手机邮箱

 


© 著作权归作者所有

共有 人打赏支持
eddy_linux
粉丝 18
博文 135
码字总数 188789
作品 0
成都
程序员
Centos 7安装与配置nagios监控详细图解(二)

目 录 序言(必备知识) 一、安装规划 1.1系统环境 1.2所需软件包 二、配置安装环境 2.1同步时间 2.2禁用SElinux 2.3 xftp上传软件包 2.4安装邮件服务 三、监控主机安装 3.1安装nagios的运行环...

SEianG ⋅ 2017/04/15 ⋅ 0

nagios+plugin+pnp4nagios+rrdtool实现图形化监控

本文部分内容来自:http://www.ilanni.com/和http://blog.sina.com.cn/s/blog_4bf738fd0101mut6.html 欢迎转载。 一、安装前的准备 1.1安装包的下载 服务端Nagios:nagios-4.1.1.tar.gz htt...

abiu ⋅ 2016/03/10 ⋅ 0

云监控 Nagios 安装步骤

前言 最近在研究云监控的相关工具,之前写过Ganglia的安装步骤,这回来记录下Nagios的安装步骤。 本文不讲解相关原理,若想了解请参考其他资料. 本文目的: 即使之前未触过nagios,也能按照文中...

一只小逛 ⋅ 2013/12/11 ⋅ 37

Ubuntu上快速搭建Nagios监控

Nagios是常用的系统监控工具,提供了很多基本服务的监控脚本,如HTTP,MYSQL等,同时具有不错的可扩展性,自己可定制针对特定参数的监控脚本以及报警的方式。但Nagios的配置相当复杂,本文总...

julien ⋅ 2012/07/26 ⋅ 11

linux学习笔记-nagios监控的简单配置

第1章 nagios监控工具介绍及原理 1.1nagios监控工具介绍与优势 Nagios是一款开源的网络及服务的监控工具,其功能强大,灵活性强。能有效监控Window,Linux和Unix的主机各种状态信息,交换机、...

呀哈喽 ⋅ 2017/11/20 ⋅ 0

centos6安装nagios4.3.1

nagios 配置安装 下载准备nagios core 安装包:https://www.nagios.org/downloads/nagios-core/ 下载nagios 插件:https://www.nagios.org/downloads/nagios-plugins/ Nagios 基本组件的运行......

linyangjun123 ⋅ 2017/04/26 ⋅ 0

nagios安装配置

一、实验环境: rhel1————ip:192.168.10.1————监控端rhel6.0系统 rhel2————ip:192.168.10.2————被监控段rhel6.0系统 client————ip:192.168.10.3————被监控端win...

MF在路上 ⋅ 2014/10/13 ⋅ 0

NagiosQL插件的安装应用

用过zabbix的人都会知道zabbix中定义修改相关配置时可以通过图形界面,快速直观的了解定义其各个配置的关联关系,而在Nagios中通过安装配置NagiosQL就可以实现在图形界面上管理Nagios的配置,...

往事_Jim_遗 ⋅ 2017/10/04 ⋅ 0

Nginx环境下构建Nagios监控平台

本文只做Nginx下Nagiox安装的说明,其它关于Nagios监控的详细配置请参考我的另一篇文章[Ubuntu 10.04下构建Nagios监控平台] Nagios依赖PHP环境和perl环境。由于Nginx不支持Perl的CGI,这里就需...

鉴客 ⋅ 2012/02/08 ⋅ 1

Linux下Nagios的安装与配置(二)

三、实验环境 Server 安装了nagios软件,对监控的数据做处理,并且提供web界面查看和管理。当然也可以对本机自身的信息进行监控。 Client 安装了NRPE等客户端,根据监控机的请求执行监控,然...

大哥叔 ⋅ 2014/03/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 今天 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部