㈠ 公共服务监控

㈡ 实现资源监控

㈢ 图形化MRTG

===============================

nagios-安装

安装前准备

创建用户和用户组

# groupadd -r nagios
# useradd -r -c "user for nagios" -s /bin/bash -g nagios nagios

需开启MTA服务。应该先安装完 http 服务再安装 nagios 。

安装nagios

# cd nagios-3.2

# ./configure --prefix=/opt/nagios --with-mail=/bin/mail --with-httpd-conf=/etc/httpd/conf.d --with-init-dir=/etc/rc.d/init.d

# make all

# make install

用来安装主程序,CGI 和HTML 文件

# make install-init

创建启动脚本

# make install-commandmode

配置目录权限

# make install-config

安装示例配置文件

# make install-web *①

安装示例配置文件;需要在配置的时候指定apache的安装目录。

①    执行后,报错。错误是,“没有对应的规则”。<nagios-3.2.3.tar.gz>

# vi Makefile

/^install-web    #在这查看后是应该执行[# make install-webconf]

安装后目录介绍

PREFIX/bin可执行程序所在目录

PREFIX/etc配置文件所在目录

PREFIX/sbin CGI 文件所在目录,即执行外部命令所需文件目录

PREFIX/share 网页文件所在目录

PREFIX/libexec 外部插件所在目录

PREFIX/var 日志文件、lock 等文件

PREFIX/var/archives 日志自动归档目录

PREFIX/var/rw 存放外部命令文件的目录

安装nagios插件

# cd nagios-plugins-1.5
# ./configure --prefix=/opt/nagios
# make
# make install # cd nagios-cn-3.2
# ./configure
# make all
# make install

安装配置web服务

注意:nagios 在nagios-3.1.x 版本以后,配置web 监控界面时需要php 的支持。安装

# cd httpd-2.0.
# ./configure --prefix=/opt/apache2
# make
# make install
# cd php-5.3.
# ./configure --prefix=/opt/php --with-apxs2=/opt/apache2/bin/apxs
# make
# make install

配置

# vi /opt/nagios/conf/httpd.conf        (添加或修改)
User nagios
Group nagios
LoadModule php5_module modules/libphp5.so
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php

为了安全,一般让nagios 的web 监控界面必须经过授权才能访问,这需要增加验证配置,于是修改httpd.conf,添加:

#Setting for nagios
ScriptAlias /nagios/cgi-bin “/opt/nagios/sbin”
<Directory “/opt/nagios/sbin”>
AuthType Basic
Options ExecCGI
AllowOverrideNone
Order allow,deny
Allow from all
AuthName “Nagios Access”
AuthUserFile /opt/nagios/etc/htpasswds (名字比下边多个“s”)
Require valid-user
</Directory> Alias /nagios “/opt/nagios/share”
<Directory “/opt/nagios/share”>
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName “Nagios Managements”
AuthUserFile /opt/nagios/etc/htpasswd
Require valid-user
</Directory> 附件中有自动生成的格式:
# SAMPLE CONFIG SNIPPETS FOR APACHE WEB SERVER
#
# This file contains examples of entries that need
# to be incorporated into your Apache web server
# configuration file. Customize the paths, etc. as
# needed to fit your system.
ScriptAlias /nagios/cgi-bin "/usr/nagios/sbin" <Directory "/usr/nagios/sbin">
# SSLRequireSSL
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/nagios/etc/htpasswd.users
Require valid-user
</Directory> Alias /nagios "/usr/nagios/share"
<Directory "/usr/nagios/share">
# SSLRequireSSL
Options None
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/nagios/etc/htpasswd.users
Require valid-user
</Directory>

创建apache 目录验证文件

# /opt/nagios/bin/htpasswd -c -s /opt/nagios/etc/htpasswd admin
# /opt/nagios/bin/htpasswd -c -s /opt/nagios/etc/htpasswds root
# chown -R nagios.nagios /opt/nagios

启动服务

# /usr/local/apache2/bin/apachectl start
# /etc/init.d/nagios start
# ps -ef

===============================

NRPE

上边的安装过程可以实现公共服务的监控。如果需要监控到远程主机的本地资源,就需要这里再进行nrpe的安装设置。

安装
check_nrpe 插件工作于 nagios server 端。安装 nrpe守护进程在被监控端(远程主机)。nagios server
执行 check_nrpe 插件,联系 nrpe 守护进程,获取远程主机的本地资源信息并反馈给nagios server。

nagios:中央红军5人工作小组。

check_nrpe:中央军委。

nrpe守护进程(NRPE):野战军指挥员。

nagios server 主机名:提示符 “# ”

远程主机(NRPE):提示符 “hhh# ”

服务端和客户端都执行:提示符“&# ”

hhh# vi /etc/services

nrpe            5666/tcp        # NRPE

hhh# useradd -s /sbin/nologin nagios

&# cd /usr/src/nrpe-1.5

&# ./configure --prefix=/usr/local/nagios

这里指定 “--prefix” 不是必须的,这里完成的安装是手工完成的。编译后,目录里有个文件可以用来在被监控端管理 nrpe 服务:“init-script”。这里体现了自由软件是多么的自由啊。

上图最后一行显示,编译出的同时有守护进程和插件;server 端和 client 端都要执行一次编译安装。

&# make all

上图显示编译得到服务端程序和客户端程序:nrpe check_nrpe。服务端采用服务托管(不是必然)。

托管方式有两种,任选其一;就是系统使用的是那一个。centos 6使用的是xined(这里默认)。

* ①xinetd    ②inetd
*① hhh# vi /etc/xinet.d/nrpe

        # default: on
        # description: NRPE
        service nrpe
        {
                flags           = REUSE
                socket_type     = stream
                wait            = no
                user            = nagios
                server          = /usr/sbin/nrpe
                server_args     = -i /etc/nrpe.cfg
                log_on_failure  += USERID
                disable         = no

only_from       = 192.168.0.180

# 192.168.0.180 是 nagios server 的 IP 地址。

        }
*② hhh# vi /etc/inetd.conf        (增加以下内容)

#nrpe    stream  tcp     nowait  <user> /usr/sbin/tcpd <nrpebin> -i <nrpecfg>

nrpe    stream  tcp     nowait  nagios /usr/sbin/nrpe -i /etc/nrpe.cfg

hhh# cp nrpe.cfg /etc/

hhh# cp src/nrpe /usr/sbin/

# cp src/check_nrpe /usr/local/nagios/libexec/

# chown nagios.nagios /usr/local/nagios/libexec/check_nrpe

hhh# nrpe -d /etc/nrpe.cfg        (测试服务进程是否可以正常启动;实际使用还是托管的好。)

hhh# netstat -nltp                        (随系统启动如果不想托管,这么个演示也就给出答案了。)

hhh# lsof -i:

hhh# vi /etc/nrpe.cfg            (这个文件还需要进一步配置才能得到想要的结果。略)

服务的启动停止

*① hhh# /etc/rc.d/init.d/xinetd restart | start | stop

*② hhh# /etc/rc.d/init.d/xinetd restart | start | stop

hhh# /usr/sbin/nrpe -d /etc/nrpe.cfg

hhh# netstat -nltp | grep nrpe

hhh# kill 4366

# vi /usr/local/nagios/etc/objects/command.cfg        (添加以下内容)

define command{

        command_name    check_nrpe
        command_line    $USER1$/check_nrpe $HOSTADDRESS$ -c $ARG1$
        }

测试nrpe工作状态(本地测试和服务端测试)

hhh# ./check_nrpe localhost -p             (使用默认端口的话不用指定“-p ”)

# ./check_nrpe 192.168.0.180 -p 

……………………………………………………

* 有些资料显示该插件使用时需要“-H”指定指定主机IP,这个就看该插件的语法了。

被监控端(远程主机)需要安装一次插件。

如果测试不成功,需要检查配置文件,是否配置正确。略

===============================

MRTG

MRTG安装配置启动

http://sunnybay.blog.51cto.com/2249903/1417127

*******************

生成 nagios 性能状态图

# vi /usr/src/nagios-3.2/sample-config/mrtg.cfg

节选一段,可以跟下边要修改的地方做个对比。

# cp /usr/src/nagios-3.2/sample-config/mrtg.cfg /usr/local/mrtg /etc/mrtg/nagios.mrtg

# cat /etc/mrtg/nagios.mrtg >> /etc/mrtg/mrtg.cfg

# vi /usr/src/nagios-3.2/sample-config/mrtg.cfg.in

这个路径需要弄得合适。

# cp /usr/src/nagios-3.2/sample-config/mrtg.cfg.in /usr/local/mrtg /etc/mrtg/nagios.mrtg2

# cat /etc/mrtg/nagios.mrtg2 >> /etc/mrtg/mrtg.cfg

# vi /usr/local/apache2/conf.d/mrtg.conf

Alias /mrtg /usr/local/httpd/htdocs/mrtg_nagios

<Directory>

......

*******************

over !

nagios - 环境搭建的更多相关文章

  1. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  2. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  3. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  4. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  5. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  6. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

  7. Nexus(一)环境搭建

    昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...

  8. 「译」JUnit 5 系列:环境搭建

    原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...

  9. appium+robotframework环境搭建

    appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...

随机推荐

  1. BZOJ1095: [ZJOI2007]Hide 捉迷藏【线段树维护括号序列】【思维好题】

    Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子.某天,Jiajia.Wind和孩子们决定在家里玩 捉迷藏游戏.他们的家很大且构造很奇特,由N个屋子和N-1条 ...

  2. Navicat Premium连接PostgreSQL

    连接PostgreSQL时,报错 大致意思:你当前的IP没有连接权限,在文件pg_hba中缺少当前IP的配置 解决:找你的PostgreSQL安装路径,这是我的:C:\Program Files\Po ...

  3. 关于递归函数中的return位置

    1.对于求是否有解的问题一般使用bool dfs()  其中return 可以放在递归式后面 2.对于需要更新解的问题一般使用int dfs()  其中return 不能放在递归式后面,必须放在函数最 ...

  4. Microsoft - Find the K closest points to the origin in a 2D plane

    Find the K closest points to the origin in a 2D plane, given an array containing N points. 用 max hea ...

  5. 编译libmad库

    libmad是一个开源的音频解码库,下面说说关于这个库工程的编译过程: 1.首先从网上下载libmad开源库,自己百度就能够找到关于这个库的下载链接地址,我这里提供一个: http://downloa ...

  6. 红黑树-算法大神的博客-以及java多线程酷炫的知识

    http://www.cnblogs.com/skywang12345/p/3245399.html 解释第5条:从 ->根节点(或者任意个结点)到->所有的末端节点的路径中 ->黑 ...

  7. microsoft webMatrix 使用 IISnode 进行node express 开发

    微软的microsoft webMatrix是一个免费的开发工具,我们可以使用它进行node 开发并利用iisnode 模块进行iis 的nodejs网站的维护,还是比较方便的. 一个简单的node ...

  8. atitit.加入win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux

    atitit.加入win 系统服务 bat批处理程序服务的法总结instsrv srvany  java linux 系统服务不同于普通视窗系统应用程式.不可能简简单单地通过执行一个EXE就启动视窗系 ...

  9. Jmeter 在linux下的分布式压测

    Jmeter 在linux下的分布式压测 0.将 windows机器作为master 控制机(同时也兼做负载机slave), linux机器作为 负载机 slave. 1.linux环境安装 : (1 ...

  10. Sentry从0到1

    无Sentry 在没有sentry的情况下,他的权限逻辑是这样的:jdbc采用hive权限创建的表,只有hive用户可以看到:hue用户是无法看到的: Sentry 在启用sentry,就是基于sen ...