话不多说,下面开始,nagios具体的介绍,可以搜一下,这篇文章为作者在实际操作中整理出来,写出来的都是负责人的内容~

环境准备

此文档共用2台服务器的配置,操作系统均为centOS6.7,安装用户都为nagios用户,所有的安装都必须基于nagios,当权限不足时,采用sudo的方式,具体信息如下:

IP地址 角色 安装用户
192.168.1.10 Nagios服务端 nagios
192.168.1.11 被监控主机 nagios
nagios服务端安装步骤

编译安装nagios软件

安装需要192.168.1.10服务器预装cc,glibc,glibc-common,gd,gd-devel,xinetd,openssl-devel等,执行命令:

[nagios@localhost ~]$ rpm -qa | grep **
#依次检查是否安装以上软件,如果没有安装则执行命令:
[nagios@localhost ~]$ sudo yum install -y **
1
2
3
1
2
3
依赖部分处理好之后,下面进行nagios的编译安装,nagios的下载地址为:nagios官网下载 ,下载好之后,进入防止安装包的目录,解压压缩包:

[nagios@localhost ~]$ tar zxvf nagios-3.5.0.tar.gz
1
1
进入解压后的目录: cd /home/nagios/nagios依次执行:

./configure --prefix=/usr/local/nagios
make all
sudo make install
sudo make install-init
make install-commandmode
make install-config
sudo chkconfig --add nagios
sudo chkconfig duoying99.cn --level 35 nagios on
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
最后执行

sudo chkconfig --list nagios
1
1
显示如下结果:

这里写图片描述

下面来验证nagios是否被安装:
切换到目录/usr/local/nagios/下,查看目录结构如下:

这里写图片描述

如果以上目录都存在,说明程序已经被安装到服务器中,各个目录的作用为:

目录 作用
bin 可执行程序所在目录
etc 配置文件所在目录
libexec 外部插件所存放的目录
sbin Nagios CGI文件所在目录,也就是执行外部命令所需文件所在的目录
share 网页文件存放目录
var 日志,lock文件目录
安装nagios插件

nagios插件下载地址为:官网下载解压安装包:

tar zxvf nagios-plugins-2.0.1.tar.gz
1
1
进入解压目录:

[nagios@localhost ~]$ cd nagios-plugins-2.0.1
[nagios@localhost nagios-plugins-2.0.1]$ pwd
/home/nagios/nagios-plugins-2.0.1 #解压路径
分别执行命令:

./configure --prefix=/usr/local/nagios
make
sudo make install

安装apache和php

安装apache

nagios提供了web页面,可以观看被监控的资源状态,所以需安装apache与PHP来支持此项功能,那么首,查看操作系统是否自带了apache,如果有就删除掉:

[nagios@localhost nagios-plugins-2.0.1]$ rpm -qa | grep httpd
httpd-tools-2.2.15-45.el6. www.longboshyl.cn centos.x86_64
httpd-2.2.15-45.el6.centos.x86_64
#删除自带的apache
[nagios@localhost nagios-plugins-2.0.1]$ sudo rpm -e --nodeps httpd

下载apache安装包 官网下载 解压下载的安装包并安装:

#创建文件夹,存到执行脚本配置文件等
sudo mkdir /usr/local/apache2
#解压安装包
tar zxvf httpd-2.2.23.tar.gz
#进入安装路径
cd httpd-2.2.23
#配置值向目录,通第一条命令的目录
./configure --prefix=/usr/local/apache2
#编译
make
#安装
sudo make install
安装php

php安装包下载地址:官网下载,下载后执行以下命令:

#解压安装包
tar zxvf php-5.4.10.tar.gz
#创建文件夹,存到执行脚本配置文件等
sudo mkdir /usr/local/php
#进入解压之后的目录
cd php-5.4.10
#配置指向目录
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs

5
6
7
8
执行最后一条语句时,出现如下错误:

这里写图片描述
说明没有安装libxml2和libxml2-devel,安装即可:

#已经存在libxml2,说明只安装libxml2-devel即可
[nagios@localhost php-5.4.10]$ rpm -qa libxml2
libxml2-2.7.6-20.el6.x86_64
#安装libxml2-devel
sudo yum install -y www.yisijueyl.cn/ libxml2-devel

执行成功,接续执行:

#编译
make
#安装
make install

4
最后将安装目录下的php.ini-production文件,拷贝至/usr/local/php/lib/下并命名为php.ini

sudo cp php.ini-production /usr/local/php/lib/php.ini
1
1
配置apache

编辑apache的配置文件httpd.conf

sudo vim /usr/local/apache2/conf/httpd.conf
1
1
找到:

User daemon
Group daemon

修改为:

Group nagios
1
1
找到:

<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

3
修改为:

<IfModule dir_module>
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php
</IfModule>
为了增加用户的访问权限,在此文件中增加以下配置:

#setting for magion
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/ www.wmyl88.com local/nagios/etc/htpasswd
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/ www.lieqibiji.com nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile www.wanmeiyuele.cn /usr/local/nagios/etc/htpasswd
Require valid-user

创建apache目录验证文件
在上面的配置中,指定了权限验证文件/usr/local/nagios/etc/htpasswd,下面来创建这个文件,最后的nagios是用户名,输入命令后,需要手工输入密码:

/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd nagios
1
1
最后启动apache服务:

sudo /usr/local/apache2/bin/apachectl start
1
1
访问地址http://yourserver/ www.yongshiyule178.com nagios
这里写图片描述
输入用户名密码
这里写图片描述
出现上述页面,即apache安装成功

配置nagios server

默认情况下,nagios没有做任何配置,那么下面介绍一些主要配置文件和如何配置服务,配置文件主要在目录: /usr/local/nagios/etc/
这里写图片描述
nagios的配置文件,是相互联系的,搞清楚具体的配置,就可以弄清楚他们之间的依赖:

templates.cfg
nagios主要用于监控主机资源以及服务,在nagios配置中称为对象,为了不必重复定义一些监控对象,nagios引入了一个模板配置文件,将一些共性的属性定义成模板,以便于多次引用,这就是templates.cfg的作用,具体的含义如下:
#一般的通用配置,下面具体的某种类型配置中,可以引用次配置
define contact{
name generic-contact ; 别名
service_notification_period 24x7 当服务出现异常时,发送通知的时间段,这个时间段"24x7"在timeperiods.cfg文件中定义
host_notification_period 24x7 ;当主机出现异常时,发送通知的时间段,这个时间段"24x7"在timeperiods.cfg文件中定义
service_notification_options w,u,c,r,f,s ; 什么级别的通知(针对主机),会被发送出去(w:warn|u:unknow|c:criticle紧急状态|r:recover恢复状态|d:宕机),f,s含义还没查到
host_notification_options d,u,r,f,s ;什么级别的警告(针对服务)会被通知出去
service_notification_commands notify-service-by-email ; 服务故障时,发送通知的方式,可以是邮件和短信,这里发送的方式是邮件; 其中“notify-service-by-email”在commands.cfg文件中定义
host_notification_commands notify-host-by-email ; 主机故障时,发送通知的方式,可以是邮件和短信,这里发送的方式是邮件; 其中“notify-host-by-email”在commands.cfg文件中定义
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!
}

最新文章

  1. yii2发送邮件教程
  2. 使用iText库创建PDF文件
  3. mysql exists 和 in的效率比较
  4. 扩展运算是个影藏boss
  5. 突破XSS字符数量限制执行任意JS代码
  6. android Activity的启动模式
  7. Java [Leetcode 238]Product of Array Except Self
  8. (转)PHP正则表达式的快速学习方法
  9. 【数学】XMU 1593 找数字
  10. Android数据存储三剑客——SharedPreferences、File、SQLite
  11. MongoDB--Getting Started with Java Driver
  12. WCF订阅替换轮训
  13. unity3d打开对话框
  14. 转:Cocoa、Foundation、UIKit、Objective-c、XCode、Interface Builder的概念
  15. css动画特效与js动画特效(一)------2017-03-24
  16. LVS集群TUN模式实例(5)
  17. notepad++设置(不断更新)
  18. JS 操作数组对象
  19. Spring Boot tomcat
  20. #const#const int *p 为何可以不初始化

热门文章

  1. Rails上传文件
  2. java selenium webdriver第一讲 seleniumIDE
  3. Beautiful Soup 4.2.0
  4. spring MVC 异常处理整理
  5. spring-boot 热加载实现替换Jrebel
  6. request 10.0 模块安装
  7. 认识RESTFul
  8. Android 中的菜单 OptionsMenu的简单应用
  9. loj10100 网络
  10. Django rest framework之序列化小结