Linux下nagios的搭建及相关配置


一、LAMP环境部署

1、安装php

1.安装yum源

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

2.执行yum安装

yum --enablerepo=remi,remi-php55 install php php-devel php-common php-fpm php-opcache \

php-cli php-pear php-pdo php-mysqlnd php-sqlite php-pecl-memcached php-gd \

php-mbstring php-mcrypt php-xml php-openssl php-intl php-zmq -y

3.查看版本

php -v

2、安装mysql(安装之前先卸载掉系统自带的版本)

1.安装oracle官方yum源

rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

2.yum安装

yum -y install mysql-server mysql

3.查看版本

mysql -V

3、Apache默认系统已经安装,开启支持php页面解析即可

1.修改配置文件

vim /etc/httpd/conf/httpd.conf

DirectoryIndex index.html index.php index.html.var

/etc/init.d/httpd restart

2.编辑测试页进行测试

cat index.php

<?php

phpinfo();

?>

二、nagios环境部署

1、下载源码包

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

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

wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz#_ga=1.84131165.51197378.1492996402

2、安装依赖环境

yum install gcc gd gd-devel libpng libpng-devel libjpeg libjpeg-devel zlib zlib-devel openssl-devel -y

3、创建用户

/usr/sbin/useradd -m -s /sbin/nologin nagios

4、编辑安装主程序包

1.安装

tar zxvf nagios-3.2.3.tar.gz

cd nagios-3.2.3

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

make all

make install //安装nagios的主程序,CGI和HTML文件

make install-init //生成/etc/rc.d/init.d/nagios启动脚本

make install-config //安装示例配置文件,路径/usr/local/nagios/etc

make install-commandmode //设定相应nagios工作目录的权限

make install-webconf //安装Nagios的WEB配置文件到Apache的conf.d目录下

2.查看安装是否成功

ls /usr/local/nagios/

bin  etc  libexec  sbin  share  var

5、安装插件包

1.安装

tar zxvf nagios-plugins-2.2.1.tar.gz

cd nagios-plugins-2.2.1/

./configure

make && make install

2.检查安装是否成功(如果下面有很多东西,说明成功)

ls /usr/local/nagios/libexec/

6、创建nagios用户,进行web登录(用户必须是nagiosadmin,不然web页面有的功能不能用)

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

New password:

Re-type new password:

Adding password for user nagiosadmin

7、web登录测试

http://ip/nagios/

8、安装NRPE(监控别的主机需要的插件)

1.安装

tar zxvf nrpe-2.12.tar.gz

cd nrpe-2.12/

./configure

make all

make install-plugin

make install-daemon

make install-daemon-config

2.启动nrpe

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

3.检查是否成功(查看端口并连接自己测试,如果返回版本号说明正常)

netstat -antp |grep nrpe

tcp        0      0 0.0.0.0:5666            0.0.0.0:*               LISTEN      43336/nrpe

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

NRPE v2.12

4.修改配置文件,让监控主机可以连接(修改客户机,服务端连接测试)

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

allowed_hosts=127.0.0.1,122.200.94.29

5.重启nrpe

killall nrpe

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

6.在监控端进行测试,是否能成功连接被监控端的nrpe

/usr/local/nagios/libexec/check_nrpe -H 122.200.94.43

NRPE v2.12

7.如果返回

Connection refused by host

8.解决:编辑客户端的ssh文件,允许root可以直接登录(一般ubuntu系统会出现这个问题,centos默认root可以登录)

vim /etc/ssh/sshd_config

PermitRootLogin yes

/etc/init.d/ssh restart

注意:

在ubuntu下安装nrpe之前需要安装ssl(监控端和被监控端版本需要保持一致)

apt-get install libssl-dev libssl0.9.8

三:添加监控

NRPE实际上是使用check_nrpe来远程调用NRPE,然后再由NRPE调用本地的插件,所以,一部分是在监控机配置,用于加载定义NRPE要监测的服务,另一部分是在被监控机配置,主要定义监控的命令,具体操作如下

1.定义NRPE插件需要使用的命令(文件末尾添加如下内容)

vim /usr/local/nagios/etc/objects/commands.cfg

define command{

command_name  check_nrpe

command_line  $USER1$/check_nrpe -H $HOSTADDRESS$ -c  $ARG1$

}

2.一般监控都定义在servers下面,所以在配置文件中开启一项参数,将servers下的文件包含进来

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

cfg_dir=/usr/local/nagios/etc/servers

3.添加监控主机及监控的服务(servers默认没有,手动创建)

cd servers

cat 200.cfg

#监控的主机

define host{

use linux-server   //调用的/usr/local/nagios/etc/objects/templates.cfg中已经定义好的模块(可以根据需求自己定义)

host_name 122.200.94.200

alias 122.200.94.200

address 122.200.94.200

}

#监控ping

define service{

use                     local-service

host_name               122.200.94.200

service_description     Ping   //web页面展示的名称

check_command           check_nrpe!check_ping//使用check_nrpe模块远程调用被监控主机中定义好的命令,然后再调用本地的check_ping插件进行监控

}

#负载情况

define service{

use local-service

host_name 122.200.94.200

service_description Load

check_command check_nrpe!check_load

}

#所有进程

define service{

use local-service

host_name 122.200.94.200

service_description Processes

check_command check_nrpe!check_total_procs

}

#当前登录的用户

define service{

use local-service

host_name 122.200.94.200

service_description Users

check_command check_nrpe!check_users

}

#僵死的进程

define service{

use local-service

host_name 122.200.94.200

service_description Zombie procs

check_command check_nrpe!check_zombie_procs

}

#swap使用

define service{

use local-service

host_name 122.200.94.200

service_description Swap

check_command check_nrpe!check_swap

}

#Apache服务

define service{

use local-service

host_name 122.200.94.200

service_description HTTP

check_command check_nrpe!check_http

}

#mysql服务

define service{

use                     local-service

host_name               122.200.94.200

service_description     Mysql

check_command           check_mysql!122.200.94.200!3306!root!passw0rd //check_mysql模块,IP,端口,被监控端授权用户,授权密码

}

#用以上方法监控mysql,需要更改另外一个文件,定义mysql监控命令,客户端需要授权用户

vim /usr/local/nagios/etc/objects/commands.cfg(文件末尾添加一下内容)

define command{

command_name check_mysql

command_line $USER1$/check_mysql -H $ARG1$ -P $ARG2$ -u $ARG3$ -p $ARG4$

}

4.客户端修改(被监控端,监控端监控的各项服务,都需要再此文件中指定具体命令,否则无法执行)

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

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

command[check_http]=/usr/local/nagios/libexec/check_http -I 127.0.0.1

command[check_ping]=/usr/local/nagios/libexec/check_ping -H 127.0.0.1 -w 3000.0,80% -c 5000.0,100%、

#服务端监控客户端的这些服务,都需要在客户端的nrpe.cfg文件中添加这些命令,daemon只运行nrpe.cfg中所定义的命令

四、邮件报警

因为系统自带的sendmail发送邮件延迟很大,所以使用sendEmail进行发送邮件

1.下载

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

tar zxvf sendEmail-v1.56.tar.gz

cd sendEmail-v1.56

cp sendEmail /usr/bin/

chmod +x /usr/bin/sendEmail

2.在本地进行发送测试

sendEmail -f [email protected] -t [email protected] -s smtp.sina.com -u ‘This is title‘ -m ‘This is body‘ -xu ‘[email protected]‘ -xp ‘123456‘

Apr 27 16:02:17 nagios sendEmail[2413]: Email was sent successfully!

3.修改配置文件

vim /usr/local/nagios/etc/objects/commands.cfg

#将发送邮件部分更改为如下(这样修改用Foxmail接受邮件不会出现乱码问题,否则会有乱码)

define command{

command_name    notify-host-by-email

command_line    /usr/bin/printf "%b" "----- 监控通知 -----<br><br>告警类型: $NOTIFICATIONTYPE$<br>主机状态: $HOSTSTATE$<br>告警地址: $HOSTADDRESS$<br>告警时间: `date +%F_%H:%M:%S`<br>详细信息: <br>$HOSTOUTPUT$" | /usr/bin/sendEmail -f [email protected] -t $CONTACTEMAIL$ -s smtp.sina.com -u  "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" -xu [email protected] -xp yhl940519! -o message-content-type=html -o message-charset=utf8

}

define command{

command_name    notify-service-by-email

command_line    /usr/bin/printf "%b" "----- 监控通知 -----<br><br>告警类型: $NOTIFICATIONTYPE$<br>告警服务: $SERVICEDESC$<br>告警地址: $HOSTADDRESS$<br>服务状态: $SERVICESTATE$<br>告警时间: `date +%F_%H:%M:%S`<br>详情信息:<br>$SERVICEOUTPUT$<br>" | /usr/bin/sendEmail -f [email protected] -t $CONTACTEMAIL$ -u  "Nagios Warning" -s smtp.sina.com -xu [email protected] -xp yhl940519! -o message-content-type=html -o message-charset=utf8

}

此时,基本的配置都已完成。

时间: 2024-10-14 08:20:39

Linux下nagios的搭建及相关配置的相关文章

Linux下Nagios的安装与配置[转]

一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒

Linux - CentOS6.5服务器搭建与初始化配置详解(下)

传送带:Linux - CentOS6.5服务器搭建与初始化配置详解(上) 继续接着上面的安装,安装完后会出现下面界面 点击reboot重启 重启后可以看到下面的tty终端界面  因为这就是最小化安装 输入root和之前配置的密码 第一步先把防火墙给光了 iptables -F  命令用于清空规则 这里插一条命令(这个命令我忘记打上去了) /etc/init.d/iptables save  用于保存当前被清空的规则 chkconfig  iptables  stop  开机不允许启动防火墙 c

Linux下Nagios的安装与配置

一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒

Linux下Nagios的安装与配置(转载)

一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒

linux 下 svn 服务器搭建与配置

Subversion是一个自由,开源的版本控制系统,可以记录每一次文件和目录的修改情况.这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节. linux 下 svn的搭建 首先安装 subversion yum  install -y subversion 使用rpm -qa subversion 查看是否安装完成 安装完成后进行配置 首先在home 下建立svn的数据目录和密码认证目录 说明: svndata 目录用于存放项目目录,svnpassw 目录存放密码及认证文件 在svn

Linux下apache+php搭建配置记录

linux下apache+php搭建配置记录 第1章  环境说明 1.1 系统说明 CentOS 6.4 1.2 软件说明 httpd-2.4.2.tar.gz apr-util-1.4.1.tar.gz apr-1.4.6.tar.gz pcre-8.13.tar.gz php-5.4.3.tar.bz2 libmcrypt-2.5.8.tar.gz mhash-0.9.9.9.tar.gz 第2章  Apache搭建说明 2.1 安装依赖包 yum install make openldap

linux下源码搭建php环境之mysql(一)

现在已经大半夜了,五一劳动节挺无聊的. 折腾一下吧,实在是睡不着.于是乎在电脑上安装个虚拟机,然后呢,在虚拟机上搭建一个php环境. 首先我得安装MYSQL吧.发现遇到的问题真多..待我娓娓道来. 主要介绍linux操作系统下MySQL源码进行纯手动安装,如果你对linux操作系统下MySQL源码进行纯手动安装的实际操作流程感兴趣的话,你不妨浏览以下的文章. 1.实现linux下纯手动MySQL源码安装,首先要下载MySQL的源码,我下载的是MySQL-5.0.87.tar.gz 2.解压tar

Linux下Nagios

Linux下Nagios的安装与配置 一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood&qu

Linux下的路由器搭建(超级详细的图文教程)

Linux 下的路由器搭建方法 [写在前面] 从22号中午开始琢磨zebra/quagga的用法,一直到晚上11点多都没有什么头绪.各种Google,百度,几近崩溃.由于网上关于zebra/quagga的配置方法都是在真实的若干台电脑上实现的,一直都没有找到完全在虚拟机上进行测试的教程,相当失望.所以,我就决定,如果我要是能够利用多台虚拟机完成实验的内容,我一定要写一个详细的文档放到我的博客上.没有办法,索性自己慢慢摸索吧,但花了一天也没有成功.直到快睡觉时才突然想到,会不会跟我在Virtual