11 nagio监测ubuntu

1.1Ubuntu客户服务器安装和配置

在有些项目的系统中,cdn采用的操作系统为ubuntu-10.10-server-amd64。以上都没有提及如何监测这种操作系统。本小节对此进行描述。

$ useradd -m nagios

$ passwd nagios


$tar -zxvfnagios-plugins-1.4.16.tar.gz

$ cd nagios-plugins-1.4.16/

nagios@ubuntu:~/nagios-plugins-1.4.16$ sudo./configure --prefix=/usr/local/nagios --with-nagios-user=nagios--with-nagios-group=nagios

[sudo] password for nagios:

checking for a BSD-compatible install.../usr/bin/install -c

checking whether build environment is sane...yes

checking for a thread-safe mkdir -p.../bin/mkdir -p

checking for gawk... no

checking for mawk... mawk

checking whether make sets $(MAKE)... yes

checking build system type...x86_64-unknown-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking for gcc... no

checking for cc... no

checking for cl.exe... no

configure: error: in`/home/nagios/nagios-plugins-1.4.16':

configure: error: no acceptable C compilerfound in $PATH

See `config.log' for more details

nagios@ubuntu:~/nagios-plugins-1.4.16$


发现没有安装gcccccl.exe。由于服务器都没有连到internet,因此,我先通过一台能连internet的虚拟机,使用apt-get命令安装这些deb包,并将get到的安装文件进行备份。

这些安装包将来可传到未联网的cdn服务器进行安装。

1.1.1Deb包的获取

1,apt-get源错误问题的解决:

在虚拟机上安装gcc时,报错:

$ sudo apt-get install gcc

Reading package lists... Done

Building dependency tree

Reading state information... Done

E: Unable to locate package gcc

nagios@ubuntu:~$


报错处理:

执行sudo apt-getupdate后,再执行以上的apt-get就没问题了。

如果sudo apt-getupdate或者sudo apt-get update --fix-missing报很多错误,是因为源存在问题,需要使用ubuntu相对应的源,这里是ubuntu10.10版本:

http://blog.chinaunix.net/uid-25873032-id-3615694.html

http://www.cnblogs.com/linuxcat/archive/2012/12/29/2839216.html

将以下的源信息全部更新到/etc/apt/sources.list(文件中原来的信息全部删除):

另外需要注意的是,ubuntu各个版本的源都有相对应的源,不能乱用。


## Major bug fix updates produced after thefinal release of the

## distribution.

debhttp://old-releases.ubuntu.com/ubuntu/ maverick main restricted

deb-src http://old-releases.ubuntu.com/ubuntu/ maverickmain restricted

debhttp://old-releases.ubuntu.com/ubuntu/ maverick-updates main restricted

deb-srchttp://old-releases.ubuntu.com/ubuntu/ maverick-updates main restricted


## N.B. software from this repository isENTIRELY UNSUPPORTED by the Ubuntu

## team. Also, please note that software inuniverse WILL NOT receive any

## review or updates from the Ubuntu securityteam.

debhttp://old-releases.ubuntu.com/ubuntu/ maverick universe

deb-src http://old-releases.ubuntu.com/ubuntu/ maverickuniverse

debhttp://old-releases.ubuntu.com/ubuntu/ maverick-updates universe

deb-srchttp://old-releases.ubuntu.com/ubuntu/ maverick-updates universe


## N.B. software from this repository isENTIRELY UNSUPPORTED by the Ubuntu

## team, and may not be under a free licence.Please satisfy yourself as to

## your rights to use the software. Also,please note that software in

## multiverse WILL NOT receive any review orupdates from the Ubuntu

## security team.

deb http://old-releases.ubuntu.com/ubuntu/ maverickmultiverse

deb-srchttp://old-releases.ubuntu.com/ubuntu/ maverick multiverse

debhttp://old-releases.ubuntu.com/ubuntu/ maverick-updates multiverse

deb-srchttp://old-releases.ubuntu.com/ubuntu/ maverick-updates multiverse


## Uncomment the following two lines to addsoftware from the 'backports'

## repository.

## N.B. software from this repository may nothave been tested as

## extensively as that contained in the mainrelease, although it includes

## newer versions of some applications whichmay provide useful features.

## Also, please note that software inbackports WILL NOT receive any review

## or updates from the Ubuntu security team.

# deb http://us.old-releases.ubuntu.com/ubuntu/maverick-backports main restricted universe multiverse

# deb-src http://us.old-releases.ubuntu.com/ubuntu/maverick-backports main restricted universe multiverse


#remastersys for backup installed system

deb http://www.remastersys.com/ubuntu maverickmain


再执行sudo apt-get update后即可。


2,gcc安装:

apt-get update完成后,执行:

$sudo apt-get build-dep gcc

该命令apt-getbuild-dep (packagename) 表示安装相关的编译环境。


$sudo apt-get install build-essential

安装完既可以在终端敲击gcc


$ gcc --version

gcc (Ubuntu/Linaro 4.4.4-14ubuntu5.1) 4.4.5

Copyright (C) 2010 Free Software Foundation,Inc.

This is free software; see the source forcopying conditions. There is NO

warranty; not even for MERCHANTABILITY orFITNESS FOR A PARTICULAR PURPOSE.


使用libssl-dev替换openssl-devel,否则nagios插件包make时候会报错。

$sudoapt-get install libssl-dev


安装apt-show-versions,该工具可以检查其他安装包是否安装及其安装的版本

$sudo apt-get install apt-show-versions

安装完后,可以使用以下命令检查安装包:

$sudo apt-show-versions -p gcc


1.1.2Deb包安装

在默认情况下ubuntu 会把我们通过apt-get 所安装的软件包保存在缓存文件夹里。我们可以把这个文件夹做个备份。如果需要重装Ubuntu时,可以把备份还原回去。这样就不能连上网络去大量更新系统软件包了。

ubuntu apt-get 下载的软件包放在:/var/cache/apt/archives

(如果要清除缓存文件夹,可以执行:sudo apt-get clean


将虚拟机上/var/cache/apt/archives中的下载的gcc包全部备份后,传到生产系统上进行安装。

我在安装gcc4.4.5之前已经备份了一个虚拟机,可以先传到未安装gccubuntu系统上进行测试,待测试没问题后再根据操作步骤到生产环境上进行安装。


另外,如果复制的虚拟机virtualboxubuntu第二个镜像文件,需要使用命令:

c:\programfiles\oracle\virtualbox>vboxmanage internalcommands sethduuid [vdi文件路径]

生成唯一uuid,复制后的那个镜像文件,虚拟机启动不了。

还有,复制后的网卡启动也会有问题,需要删除cache中的网卡信息后,然后重启虚拟机,删除网卡信息文件的命令为:

sudo rm /etc/udev/rules.d/70-persistent-net.rules


$cd /var/cache/apt/archives

$sudo mkdir gcc4.4.5

$sudo mv *.deb gcc4.4.5


将这个目录以及里面的deb包传到未安装gccubuntu上进行全部安装:

nagios@ubuntu:~/gcc4.4.5$ sudo dpkg -i *.deb


执行结束后,可以再执行一下(可能有些包有依赖关系,第一次没有安装上。也可以根据http://blog.csdn.net/nupt123456789/article/details/11649603制作离线安装包,不过我没有处理对依赖关系,导致失败):

nagios@ubuntu:~/gcc4.4.5$ sudo dpkg -i *.deb


1.1.3Nagios包安装

1,安装nagios-plugins


此时对nagios-plugins进行configure就能成功(请使用nagios用户进行操作):

nagios@ubuntu:~/nagios-plugins-1.4.16$./configure --prefix=/usr/local/nagios--with-nagios-user=nagios --with-nagios-group=nagios


nagios@ubuntu:~/nagios-plugins-1.4.16$ make&& make install


此时make,可能会报以下错误(后来发现使用sudo执行以上命令,改用当前的nagios用户执行后就没有报错):

make[2]: *** [check_http.o] Error 1

make[2]: Leaving directory`/home/nagios/nagios-plugins-1.4.16/plugins'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory`/home/nagios/nagios-plugins-1.4.16'

make: *** [all] Error 2


解决方法:

sudo apt-get install libssl-dev


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


2,安装nrpe-2.14.tar.gz

先测试opensslopenssl-devel是否已经安装,如果没有安装则首先需要进行安装。否则configure就有问题。

# rpm -qa|grep openssl

# lsof -i:5666 //查询端口5666是否未被使用

#cd ..

$tar -zxvf nrpe-2.14.tar.gz

$cd nrpe-2.14

$sudo apt-get install openssl

$./configure --enable-ssl --with-ssl-lib

$make all && make install-plugin&& make install-daemon && make install-daemon-config


3,修改nrpe配置文件

修改配置文件/usr/local/nagios/etc/nrpe.cfg

#vi /usr/local/nagios/etc/nrpe.cfg


1)allow_hosts 加上nagios服务器IP地址,允许与nagios服务器进行通讯:


allowed_hosts=127.0.0.1,192.168.50.22


或使用命令:

# sed -i'/^allowed_/s/$/,192.168.50.22/' /usr/local/nagios/etc/nrpe.cfg


sed -i'/^allowed_/s/$/,192.168.50.191/' /usr/local/nagios/etc/nrpe.cfg

killall nrpe

ps -ef|grep nrpe

/usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d

exit


/etc/rc.d/rc.local最后空一行,然后加入一行,然后显示下文件内容:

sed -i '$ a\' /etc/rc.d/rc.local

sed -i '$ a\/usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d' /etc/rc.d/rc.local

more /etc/rc.d/rc.local


2)增加command项,以下增加的command需要根据被监测服务器需要监测的项目以及服务器上的显示环境而定。如有些服务器的根分区是/dev/sda2,有些是/dev/sda3,而有些是/dev/mapper/VolGroup00-LogVol00。例如:


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_sda2]=/usr/local/nagios/libexec/check_disk-w 20% -c 10% -p /dev/sda2


此时,使用/usr/local/nagios/libexec/check_users -w 5 -c 10命令就能显示监测到的数据。


4,启动NRPE进程

#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg-d


5,服务器上的配置请参考其他章节


1.1.4网卡配置

这里描述下网卡的配置,ubuntu的网卡配置与centos不同:

1,ip地址配置

$sudo vi/etc/network/interfaces

# Thisfile describes the network interfaces available on your system

# and howto activate them. For more information, see interfaces(5).


# Theloopback network interface

auto lo

iface loinet loopback


# Theprimary network interface

#autoeth0

#ifaceeth0 inet dhcp


auto eth0

iface eth0 inet static

address 192.168.0.55

netmask 255.255.255.0

gateway 192.168.0.1


2,Dns配置

$sudo vi/etc/resolv.conf

nameserver 192.168.0.1


3,重启网卡

$ sudo/etc/init.d/networking restart



1.1.5sysv-rc-conf使用

http://www.cnblogs.com/cloud2rain/archive/2013/05/17/3083744.html

[plain]view plaincopy

1.sudo apt-get install sysv-rc-conf

它具有操作简单,简洁的操作界面,你可以使用鼠标点击,也可以使用键盘操作,空格键代表选择,“X”表示开启服务,Ctrl+N下一页,Ctrl+P上一页,Q退出。


spacer.gif


1.1.6离线包安装配置

http://blog.csdn.net/nupt123456789/article/details/11649603


.应用场景
a.
当我们需要在多台电脑安装同一个软件,并且这个软件很大,下载需要很长时间时
b.
需要安装软件的ubuntu不能上网
.离线安装包的制作
2.1.通过如下指令下载XXXX软件所需要的deb
$ sudo apt-get -d install XXXXX
执行完上述指令后,XXXX软件的安装包就下载到了/var/cache/apt/archives目录下
2.2.生成依赖关系

1.根目录下新建一个文件夹
$
sudo mkdir offlinePackage
2.将下载的deb包拷贝到上述新建的文件夹下
$
sudo cp -r /var/cache/apt/archives /offlinePackage
3.修改文件夹的权限,可读可写可执行
$
sudo chmod 777 -R /offlinePackage/
4.建立deb包的依赖关系
$
sudo dpkg-scanpackages /offlinePackage//dev/null |gzip >/offlinePackage/Packages.gz
如果出现错误:sudo: dpkg-scanpackages: command not found
则需要安装dpkg-dev工具:
$
sudo apt-get install dpkg-dev
5.将生成的Packages.gz包复制到和deb同目录下
$
sudo cp /offlinePackage/Packages.gz/offlinePackage/archives/Packages.gz

2.3.打包成压缩包,以备后用
$ sudo
tar cvzf offlinePackage.tar.gz offlinePackage/
保存offlinePackage.tar.gz文件到U盘或服务器
.在另外一台Ubuntu上离线安装
1.
插入U盘或光盘,将offlinePackage.tar.gz复制到根目录下,解压
$
sudo tar -xvf offlinePackage.tar.gz
2.
将安装包所在和源路径添加到系统源source.list
$
sudo vi /etc/apt/sources.list
deb file:///offlinePackage archives/
然后将所有的其他deb全部注销掉(#
注意:我们在添加之前可以先将原来的源备份
$
sudo cp /etc/apt/sources.list /etc/apt/sources.list.back
以备以后使用
3.
更新系统源
$
sudo apt-get update
4.
离线安装
此时,在没有网络的情况下,我们就可以安装我们之间下载的XXXX软件了
$
sudo apt-get install XXXXX

注意:

兼容性问题,如果我们制作安装包时,用的是64位的ubuntu,那么该离线包只能在其他64位系统上安装。

有些软件对ubuntuserverubuntu desktop版也不兼容。总之,在什么系统下制作的离线包,就在什么系统下安装。


特别需要注意的是:我制作的offlinePackage.tar.gz,在执行sudo apt-get install gcc的时候,报错:

Failed tofetch file:///offlinePackage//offlinePackage//archives/libc-bin_2.12.1-0ubuntu10.4_amd64.deb File not found

... ...

看样子是路径不对,解压后的文件在/offlinePackage/archives/libc-bin_2.12.1-0ubuntu10.4_amd64.deb,不知道为何安装的路径是/offlinePackage /offlinePackage/archives/libc-bin_2.12.1-0ubuntu10.4_amd64.deb。我根据这个报错的路径,在外面又加了一个offlinePackage目录,执行sudo apt-get installgcc 就成功了。


1.1.7Nagios客户端软件安装

Gcc安装成功后,可以参考1.3.1章节安装nagios被监控端的nagios-plugins-1.4.16.tar.gznrpe-2.14.tar.gz


1,检查依赖包

在安装这两个nagios安装包之前,首先要安装openssllibssl-devcentos中使用的是openssl-devel)。可以通过以下命令测试是否已经安装了:

apt-show-versions -p openssl

apt-show-versions -p libssl-dev

另外,apt-show-versions这个也是需要安装才能使用的。

如果没有安装libssl-dev,在configure时候,最后验证openssl会提示No。而在make的时候会报错。


2,安装插件nagios-plugins-1.4.16.tar.gz

$tar -zxvfnagios-plugins-1.4.16.tar.gz

$cd nagios-plugins-1.4.16

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

$sudo make && make install



3,安装nrpe-2.14.tar.gz

$ lsof -i:5666 //查询端口5666是否未被使用

$

$tar -zxvf nrpe-2.14.tar.gz

$cd nrpe-2.14

$sudo ./configure --enable-ssl --with-ssl-lib

$sudo make all && sudo makeinstall-plugin && sudo make install-daemon && sudo makeinstall-daemon-config


$sudo chown -R nagios.nagios/usr/local/nagios/



4,修改nrpe配置文件

修改配置文件/usr/local/nagios/etc/nrpe.cfg

$sudo vi /usr/local/nagios/etc/nrpe.cfg


allow_hosts 加上nagios服务器IP地址,允许与nagios服务器进行通讯:


allowed_hosts=127.0.0.1,192.168.50.22


或使用命令:

$sudo sed -i'/^allowed_/s/$/,192.168.50.22/' /usr/local/nagios/etc/nrpe.cfg


killall nrpe

ps -ef|grep nrpe

/usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d

exit


5,修改开机启动脚本

$sudo vi /etc/rc.local

exit 0 前面添加/usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d

spacer.gif


另外,nagios服务器上,各被监测设备的cfg文件都可以复制使用。我们将50.31_cdn1.cfg复制为50.32_cdn2.cfg,需要将50.32_cdn2.cfg文件的host_name50.31_cdn1全部要修改成50.32_cdn2,则可以使用以下语句:

sed -i "s/50.31_cdn1/50.32_cdn2/g" `grep50.31_cdn1 -rl /usr/local/nagios/etc/server/50.32_cdn2.cfg`


sed -i "s/被替换字/替换后字/g" `grep被替换字-rl/usr/local/nagios/etc/servers/50.32_cdn2.cfg`


6,修改command


增加command项,以下增加的command需要根据被监测服务器需要监测的项目以及服务器上的显示环境而定。例如:


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_sdb1]=/usr/local/nagios/libexec/check_disk-w 10% -c 5% -p /dev/sdb1

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 350 -c 500

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

command[check_glusterfsd_proc]=/usr/local/nagios/libexec/check_procs-c 1:1 -C glusterfsd

command[check_glusterd_proc]=/usr/local/nagios/libexec/check_procs-c 1:1 -C glusterd

command[check_glusterfs_proc]=/usr/local/nagios/libexec/check_procs-c 1:1 -C glusterfs


修改完毕后重启/usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d


其他的设置,以及nagios服务器上的设置参考以上各章节。


你可能感兴趣的:(ubuntu,监测,nagio)