安装Ubuntu 11.10 Desktop 32bit
安装 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
配置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
DirectoryIndexindex.php index.html index.html
启动apache服务
sudo /etc/init.d/apache2 start
使用chkconfig工具设为随机自启动,一旦没有安装chkconfig则先安装chkconfig
sudo apt-get install chkconfig
sudo update-rc.d apache2 defaults
sudochkconfig apache2 on
测试php是否解析正常
在shell里切换到/var/www目录下
cd /var/www
清空里面的文件
rm -rf *
新建测试页面
vimindex.php
<?php
phpinfo();
?>
退出并保存
打开浏览器测试:
http://localhost
是否正常显示php的信息
安装Nagios
创建nagios用户和nagios命令组
sudouseradd -s /bin/false nagios
sudogroupaddnagcmd
将nagios帐号和www-data用户加入到nagcmd组中
sudousermod -G nagcmdnagios
sudousermod -G nagcmd www-data
下载nagiosnagios-plugin nrpe
切换目录到/usr/local/src
cd /usr/local/src
sudowgethttp://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.3.1.tar.gz
sudowgethttp://nagiosplug.sourceforge.net/snapshot/nagios-plugins-HEAD.tar.gz
sudowgethttp://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
进入到解压的目录
cdnagios
编译安装nagios
sudo ./configure --prefix=/usr/local/nagios –with-command-group=nagcmd
结束之后,执行 echo $? 查看返回值,一旦是0说明没有问题,可以进行下一步,一旦是 非0说明没有成功,需找原因重新执行
因为3.3.1版本在configure完成以configure后执行下一步安装的时候有点儿问题,所以 得修改一下 生成的makefile文件
sudosed -i 's:for file in includes/rss/*;:for file in includes/rss/*.*;:g' ./html/Makefile
sudosed -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接口
sudohtpasswd -c /usr/local/nagios/etc/htpasswd.usersnagiosadmin
回车后会提示你输入密码并确认密码
编译安装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
编译安装nrpe(非必须步骤)
不应用nrpe的nagios工作流程
使用nrpe的nagios工作流程
需要在服务器端和被监控端安装
回到 /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服务(一般没有安装)
sudodpkg -L xinetd
一旦返回”未曾安装软件包xinetd“ 的提示,就需要安装xinetd服务
sudo apt-get install xinetd
将xinetd添加到启动级别中
sudo update-rc.dxinetd defaults
设为随机自启动
sudochkconfigxinetd 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地址)
退出并保存
sudochkconfignrpe on
sudo /etc/init.d/xinetd restart
检查nrpe服务是否正常
sudonetstat -at | grepnrpe
一旦返回“tcp 0 0 *:nrpe *:* LISTEN”,说明服务正常
启动服务
更改/usr/local/nagios目录的属主和属组
suduochown -R nagios.nagcmd /usr/local/nagios
将nagios添加到启动级别中
sudo update-rc.dnagios defaults
设为随机自启动
sudochkconfignagios on
启动nagios服务
sudo /etc/init.d/nagios start
重启 apache2服务
sudo /etc/init.d/apache2 restart
登录http://localhost/nagios查看页面是否正常
配置nagios主配置相关文件
sudo vim /usr/local/nagios/etc/nagios.cfg
添加所添加的配置相关文件
cfg_file=/usr/local/nagios/etc/objects/beyondsoft_servers.cfg
cfg_file=/usr/local/nagios/etc/objects/bys_servers_group.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
beyondsoft_servers.cfg是定义主机的配置相关文件
bys_servers_group.cfg是定义主机组的配置相关文件
services.cfg是定义服务并和主机组相关联的配置相关文件
配置通知联系人
nagios可以做到故障和故障恢复通知,这需要配置联系人,一旦你有139的邮箱,可以免费使用139的邮件短信通知,也可以购买专业的sms服务来实现短信通知,这样通知更及时
修改联系人配置相关文件
sudo vim /usr/local/nagios/etc/objects/contacts.cfg
修改nagiosadmin的email地址
并按照原来的添加新的联系人
退出并保存
将添加的联系人加到联系人组
配置主机配置相关文件
按照localhost.cfg配置beyondsoft_servers.cfg配置相关文件
use 是使用在template.cfg文件中的模板,是定义好的,一旦其中的内容和当前的有冲突, 则以当前优先,一旦没有,就继承 use中使用的。
配置主机组
大家监控服务器是监控一组有相同服务的主机组,这样监控起来方便,比如大家监控http服务的web server,大家就把这些服务器放到一个主机组里,然后来监控他们的http服务;一旦这些跑着http服务的server上有运行着smtp服务,那么就把这些运行smtp服务的web server和其它的smtp server放到一个主机组里去监控他们的smtp服务
sudo vim /usr/local/nagios/etc/objects/bys_server_group.cfg
配置services配置相关文件
定义好了主机,主机组,接下来大家就要定义service,这才是nagios要监控的。
要把主机或主机组和服务联系起来
sudo vim /usr/local/nagios/etc/objects/services.msc
use 使用的是template.cfg文件里定义好的选项,直接继承过来,一旦和当前定义的有 冲突则以当前优先
hostgroup_name是在引用之前定义好的主机组,一旦要引用单个主机就使用 host_name
service_description服务描述一定要有
check_command是nagios提供的监控命令,是它在实现监控
contact_group是报警联系人,之前定义好的
重启Nagios服务
做完配置后要加载已经下当前的变更,是指生效;在加载前可以先怕判断一下配置相关文件是否有效
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
会帮助判断所有的配置相关文件是否正确,一旦有问题就会显示错误原因,可以帮助排错。
一旦没有问题,就可以重新加载配置相关文件了
sudo /etc/init.d/nagios reload
登录http://localhost/nagios
查看效果以及报警邮件
因为nagios里使用的邮件发送脚本的位置写的是 /bin/mail , 而bUbuntu11.10 mail脚本的路径是/usr/bin/mail, 一旦不修改的话nagios发不出报警邮件来
有两种途径来修正这个error:
a. 修改发送命令里mail的路径,编辑/usr/local/nagios/etc/objects/command.cfg
b. 创建一个软链接 /bin/mail -------> /usr/bin/mail
sudoln -sv /bin/mail /usr/bin/mail
报警邮件
故障恢复邮件
通过139邮箱的短信通知功能可以将信息发送到手机上,节假日及时了解服务器故障状态。