开发者社区> 技术小阿哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Ubuntu 11.10搭建和配置Nagios

简介:
+关注继续查看

我们都知道Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。

Nagios的主要功能特点:

- 监视网络服务 (SMTP, POP3, HTTP, NNTP, PING等)

- 监视主机资源 (进程, 磁盘等)

- 简单的插件设计可以轻松扩展Nagios的监视功能

- 服务等监视的并发处理

- 错误通知功能 (通过email, pager, 或其他用户自定义方法)

- 可指定自定义的事件处理控制器

- 可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等

- 可以通过手机查看系统监控信息

今天我们就主要介绍如何在Unbuntu下安装安装Nagios,具体见下:

  1. 安装ubuntu 11.10 Desktop 32bit

  2. 安装 apache2、php5、openssl、libssl-dev、gcc编译器与开发库、gd开发库、php、php-apache、php相关的插件

可以用apt-get命令来安装这些软件包,键入命令:

sudo apt-get install apache2

sudo apt-get install build-essential

sudo apt-get install libgd2-xpm-dev

sudo apt-get install openssl

sudo apt-get install libssl-dev

sudo apt-get install php5

sudo apt-get install libapache2-mod-php5 (这个可能在安装php5的时候就已经安装,如果安装就 不需要安装啦)

sudo apt-get install libjpeg8

sudo apt-get install libjpeg8-dev

sudo apt-get install curl

sudo apt-get install libcurl3

sudo apt-get install libpng12-0

sudo apt-get install libpng12-dev

sudo apt-get install freetype2-demos

sudo apt-get install libfreetype6

sudo apt-get install libxml2

sudo apt-get install libxml2-dev

  1. 配置apache

如果默认没有安装vim编辑器,先安装vim,因为默认的vi编辑器在ubuntu里相当的恶心

sudo apt-get install vim

sudo vim /etc/apache2/apache2.conf

按shift-g,也就是G,到篇尾,添加如下配置

AddType application/x-httpd-php .php .htm .html

AddDefaultCharset UTF-8

DirectoryIndex index.php index.html index.html

  1. 启动apache服务

sudo /etc/init.d/apache2 start

使用chkconfig工具设为随机自启动,如果没有安装chkconfig则先安装chkconfig

sudo apt-get install chkconfig

sudo update-rc.d apache2 defaults

sudo chkconfig apache2 on

  1. 测试php是否解析正常

在shell里切换到/var/www目录下

cd /var/www

清空里面的文件

rm -rf *

新建测试页面

vim index.php

<?php

phpinfo();

?>

退出并保存

打开浏览器测试:

http://localhost

是否正常显示php的信息

clip_image002

  1. 安装Nagios

创建nagios 用户和 nagios命令组

sudo useradd -s /bin/false nagios

sudo groupadd nagcmd

将 nagios帐号和www-data用户加入到 nagcmd组中

sudo usermod -G nagcmd nagios

sudo usermod -G nagcmd www-data

下载 nagios nagios-plugin nrpe

切换目录到/usr/local/src

cd /usr/local/src

sudo wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.3.1.tar.gz

sudo wget http://nagiosplug.sourceforge.net/snapshot/nagios-plugins-HEAD.tar.gz

sudo wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz

解压 nagios-3.3.1.tar.gz

sudo tar zxvf nagios-3.3.1.tar.gz

进入到解压的目录

cd nagios

编译安装nagios

sudo ./configure --prefix=/usr/local/nagios –with-command-group=nagcmd

结束之后,执行 echo $? 查看返回值,如果是0说明没有问题,可以进行下一步,如果是 非0说明没有成功,需找原因重新执行

因为3.3.1版本在configure完成以configure后执行下一步安装的时候有点儿问题,所以 得修改一下 生成的makefile文件

sudo sed -i 's:for file in includes/rss/\*;:for file in includes/rss/\*.\*;:g' ./html/Makefile 
sudo sed -i 's:for file in includes/rss/extlib/\*;:for file in includes/rss/extlib/\*.\*;:g' ./html/Makefile

sudo make all

初始化

sudo make install-init

生成配置文件

sudo make install-config

生成命令文件

sudo make install-command

配置web接口

sudo make install-webconf

创建一个nagiosadmin的用户用于nagios的web接口

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

回车后会提示你输入密码并确认密码

  1. 编译安装Nagios插件

再次回到/usr/local/src目录

cd /usr/local/src

解压 nagios-plugins-HEAD.tar.gz

sudo tar zxvf nagios-plugins-HEAD.tar.gz

进入到解压后的目录

cd nagios-plugins-1.4.15-39-gd796c

编译nagios-plugins

sudo ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios

安装

sudo make

sudo make install

  1. 编译安装nrpe (非必须步骤)

不应用nrpe的nagios工作流程

clip_image004

使用nrpe的nagios工作流程

clip_image006

需要在服务器端和被监控端安装

回到 /usr/local/src

cd /usr/local/src

解压 nrpe-2.13.tar.gz

sudo tar zxvf nrpe-2.13.tar.gz

cd nrpe-2.13

编译 nrpe

sudo ./configure –prefix=/usr/local/nagios –with-ssl-inc=/usr/include –with-ssl-lib=/usr/lib/x86-linux-gnu

安装 nrpe

sudo make all

sudo make install-plugin

sudo make install-daemon

sudo make install-daemon-config

sudo make install-xinetd

检查是否安装 xinetd 服务(一般没有安装)

sudo dpkg -L xinetd

如果返回 ”未曾安装软件包 xinetd“ 的提示,就需要安装 xinetd服务

sudo apt-get install xinetd

将xinetd添加到启动级别中

sudo update-rc.d xinetd defaults

设为随机自启动

sudo chkconfig xinetd on

编辑 /etc/services配置文件,添加nrpe的服务端口

sudo vim /etc/services

在尾行添加如下配置

nrpe 5666/tcp # NRPE Service Port

如果是被监控端,还需要编辑 /etc/xinted.d/nrpe

sudo vim /etc/xinetd.d/nrpe

only_from = 127.0.0.1 10.1.10.23(添加nagios的ip地址)

退出并保存

sudo chkconfig nrpe on

sudo /etc/init.d/xinetd restart

检查nrpe服务是否正常

sudo netstat -at | grep nrpe

如果返回“tcp 0 0 *:nrpe *:* LISTEN”,说明服务正常

  1. 启动服务

更改/usr/local/nagios目录的属主和属组

suduo chown -R nagios.nagcmd /usr/local/nagios

将nagios添加到启动级别中

sudo update-rc.d nagios defaults

设为随机自启动

sudo chkconfig nagios on

启动nagios服务

sudo /etc/init.d/nagios start

重启 apache2服务

sudo /etc/init.d/apache2 restart

登录 http://localhost/nagios 查看页面是否正常

  1. 配置nagios 主配置文件

sudo vim /usr/local/nagios/etc/nagios.cfg

添加所添加的配置文件

cfg_file=/usr/local/nagios/etc/objects/dsgrd_servers.cfg

cfg_file=/usr/local/nagios/etc/objects/bys_servers_group.cfg

cfg_file=/usr/local/nagios/etc/objects/services.cfg

dsgrd_servers.cfg是定义主机的配置文件

bys_servers_group.cfg 是定义主机组的配置文件

services.cfg 是定义服务并和主机组相关联的配置文件

clip_image008

  1. 配置通知联系人

nagios可以做到故障和故障恢复通知,这需要配置联系人,如果你有139的邮箱,可以免费使用139的邮件短信通知,也可以购买专业的sms服务来实现短信通知,这样通知更及时

修改联系人配置文件

sudo vim /usr/local/nagios/etc/objects/contacts.cfg

clip_image010

修改nagiosadmin的email地址

并按照原来的添加新的联系人

退出并保存

将添加的联系人加到联系人组

clip_image012

  1. 配置主机配置文件

按照 localhost.cfg配置dsgrd_servers.cfg配置文件

clip_image014

use 是使用在template.cfg文件中的模板,是定义好的,如果其中的内容和当前的有冲突, 则以当前优先,如果没有,就继承 use中使用的。

  1. 配置主机组

我们监控服务器是监控一组有相同服务的主机组,这样监控起来方便,比如我们监控http服务的web server,我们就把这些服务器放到一个主机组里,然后来监控他们的http服务;如果这些跑着http服务的server上有运行着smtp服务,那么就把这些运行smtp服务的web server和其它的smtp server放到一个主机组里去监控他们的smtp服务

sudo vim /usr/local/nagios/etc/objects/bys_server_group.cfg

clip_image016

  1. 配置services配置文件

定义好了主机,主机组,接下来我们就要定义service,这才是nagios要监控的。

要把主机或主机组和服务联系起来

sudo vim /usr/local/nagios/etc/objects/services.msc

clip_image018

use 使用的是template.cfg 文件里定义好的选项,直接继承过来,如果和当前定义的有 冲突则以当前优先

hostgroup_name是在引用之前定义好的主机组,如果要引用单个主机就使用 host_name

service_description 服务描述一定要有

check_command 是nagios提供的监控命令,是它在实现监控

contact_group 是报警联系人,之前定义好的

  1. 重启Nagios服务

做完配置后要加载已经下当前的变更,是指生效;在加载前可以先怕判断一下配置文件是否有效

sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

会帮助判断所有的配置文件是否正确,如果有问题就会显示错误原因,可以帮助排错。

如果没有问题,就可以重新加载配置文件了

sudo /etc/init.d/nagios reload

  1. 登录http://localhost/nagios

查看效果以及报警邮件

clip_image020

因为nagios里使用的邮件发送脚本的位置写的是 /bin/mail , 而bubuntu11.10 mail脚本的路径是/usr/bin/mail, 如果不修改的话nagios发不出报警邮件来

有两种途径来修正这个error:

a. 修改发送命令里mail的路径,编辑 /usr/local/nagios/etc/objects/command.cfg

clip_image022

b. 创建一个软链接 /bin/mail -------> /usr/bin/mail

sudo ln -sv /bin/mail /usr/bin/mail

clip_image024

报警邮件

故障恢复邮件

clip_image026

通过139邮箱的短信通知功能可以将信息发送到手机上,节假日及时了解服务器故障状态

clip_image028




本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1323268,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ubuntu 13.10 配置mysql5.5编码
<p>1、打开配置文件</p> <p></p> <pre code_snippet_id="294457" snippet_file_name="blog_20140415_1_4397956" name="code" class="html">sudo gedit /etc/mysql/my.cnf</pre> <br> 2、修改配置文件 <p></p> <p></p> <p
874 0
Ubuntu下SS配置说明
整了一个下午的科学上网配置,这里总结一下,免得走弯路下次,再搞这么久,就是浪费时间了。
2485 0
13688
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载