千家信息网

怎么在RedHat6.5上部署Nagios

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要介绍"怎么在RedHat6.5上部署Nagios",在日常操作中,相信很多人在怎么在RedHat6.5上部署Nagios问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
千家信息网最后更新 2025年01月21日怎么在RedHat6.5上部署Nagios

这篇文章主要介绍"怎么在RedHat6.5上部署Nagios",在日常操作中,相信很多人在怎么在RedHat6.5上部署Nagios问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么在RedHat6.5上部署Nagios"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

部署环境:系统,RedHat 6.5;组件,Nagios;

部署前准备:关闭Selinux,和防火墙(/etc/init.d/iptables stop);获取相关软件包。

(包括gd-devel mysql-server openssl-devel xinetd;等)

具体步骤:

1.在Nagios运行的主机上创建Nagios用户和nagcmd组;

groupadd nagcmd;

useradd -M -d /usr/local/nagios -G nagcmd nagios;

usermod -G nagcmd apache

2.解压相应的源码包和插件包;并指定编译环境和参数;

cd /guo

tar jxf nagios-cn-3.2.3.tar.bz2;

cd nagios-cn-3.2.3

###指定编译环境组为"ngcmd";

./configure --with-command-group=nagcmd;

###开始编译并安装

make all && make install

###安装启动脚本

make install-init;

###安装WEB配置文件

make install-webconf;

###安装配置文件

make install-config;

###设定Nagios的登陆用户名和密码;

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

###检查配置正确性

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

确保无Error 或者warning。

3.启动相关服务并测试;

/etc/init.d/nagios start

/etc/init.d/httpd start

4.安装相关插件。

cd /guo

tar zxf nagios-plugins-2.1.1.tar.gz

cd nagios-plugins-2.1.1

./configure

###执行完毕应确保自身所需的功能后面的状态显示"yes";比如后面要用到Mysql和ssl协议加密;那结果至少包含"--with-mysql:yes,--with-openssl:yes"

###插件会被自动安装至/usr/local/nagios/libexec;

cd /usr/local/nagios/libexec;

###调整并递归此目录下所有文件

chown nagios.nagios . -R ;

###再次检查配置

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
###重载Nagios配置
/etc/init.d/nagios reload

5.编辑相关配置文件。

cd /usr/local/nagios/etc/objects/

cp -p localhost.cfg hosts.cfg

cp -p localhost.cfg services.cfg

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

###添加如下内容:

###通过hosts.cfg文件来指定被监控主机及其相关信息;

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

###通过services.cfg文件定义监控哪些服务和资源。

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


###vi hosts.cfg

definehost{
use linux-server
host_name pu_tao.example.com
alias Manager
address 172.25.254.18
icon_p_w_picpath server.gif
statusmap_p_w_picpath server.gd2
2d_coords 500,200
3d_coords 500,200,100
}


define hostgroup{
hostgroup_name linux-servers
alias Linux Servers
members *
}
本次取一台被监控主机做实验,仅写一个服务组

define servicegroup{
servicegroup_name 系统负荷检查
alias 负荷检查
members server2.example.com,进程总数,server2.example.com用户登录 数,server2.example.com,根分区,server2.example.com,交换空间利用率
}

监控ping的情况

defineservice{
use local-service
host_name *
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}

监控硬盘情况

defineservice{
use local-service
host_name xi_gua.example.com
service_description 根分区
check_command check_local_disk!20%!10%!/
}

监控登录用户数

defineservice{
use local-service
host_name xi_gua.example.com
service_description 登录用户数
check_command check_local_users!20!50
}
监控系统负荷

define service{
use local-service
host_name xi_gua.example.com
service_description 系统负荷
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
}

监控进程总数

defineservice{
use local-service
host_name xi_gua.example.com
service_description 进程总数
check_command check_local_procs!250!400!RSZDT
}
监控交换空间利用率

define service{
use local-service
host_name xi_gua.example.com
service_description 交换空间利用率
check_command check_local_swap!20!10
}

监控ssh情况

define service{
use local-service
host_name xi_gua.example.com
service_description SSH
check_command check_tcp!22!1.0!10.0
notifications_enabled 0
}
监控apache

defineservice{
use local-service
host_name xi_gua.example.com
service_description HTTP
check_command check_http
notifications_enabled 0
}

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios reload
如图显示本机的监控成功

6.再开启一台主机。本次实验主机名为xi_gua.example.com.ip:172.25.254.17;同样关闭Selinux和防火墙。

在本机上安装Mysql;并创建用户Nagios和赋予一定权限。
create database nagdb;

grant select on nagdb.* tonagios@172.25.254.18 identified by 'nagios';

返回Nagios所在主机pu_tao.example.com;

cd /usr/local/nagios/libexec
./check_mysql -H 172.25.254.3 -unagios -pnagios

执行完毕应有类似日志信息显示;如有且无报错说明本机成功监控对端mysql
cd /usr/local/nagios/etc/objects
在 commands.cfg 中添加监控mysql的命令

# 'check_mysql' command definition
definecommand{
command_name check_mysql
command_line $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$
}
在services.cfg中添加监控mysql

##########################check_mysql
define service{
use local-service
host_name xi_gua.example.com
service_description MYSQL
check_command check_mysql!nagios!nagios
notifications_enabled 0
}

在hosts.cfg中添加

define host{
use linux-server
host_name xi_gua.example.com
alias Manager
parents xi_gua.example.com
address 172.25.254.17
icon_p_w_picpath server.gif
statusmap_p_w_picpath server.gd2
2d_coords 400,100
3d_coords 400,100,100
}

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios reload

如图表示成功检测server3主机上的mysql


8.安装Nrpe使nagios监控多台主机;在172.25.254.17(xi_gua.example.com)上操作。

###解压相关组件并创建nagios用户;
tar zxfnrpe-2.15.tar.gz
tar zxf nagios-plugins-2.1.1.tar.gz
yum install mysql-devel openssl-devel -y
useradd -M -d /usr/local/nagios nagios
cd nagios-plugins-2.1.1
./configure
make all && make install
cd /usr/local/nagios/libexec/
chown nagios.nagios . -R
yum install xinetd
cd /root/nrpe-2.15
./configure
make all && make install

make install-plugin
make install-daemon

make install-daemon-config

make install-xinetd

vim /etc/xinetd.d/nrpe

#设定监控主机为172.25.254.18
only_from = 172.25.254.18
vim /etc/services
nrpe 5666/tcp
/etc/init.d/xinetd start
cd /usr/local/nagios/etc/


vim nrpe.cfg

将command[check_hda1]=/usr/local/nagios/libexec/check_disk-w 20% -c 10% -p /dev/hda1改为

command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p/ #监控根分区

/etc/init.d/xinetdrestart
cd /usr/local/nagios/libexec/

scp check_nrpe root@172.25.254.18:/usr/local/nagios/libexec/ 将check_nrpe远程复制到pu_tao.exampl.com相应的目录中。
返回172.25.254.18;做如下操作
cd /usr/local/nagios/libexec/
chown nagios.nagios check_nrpe

###检测nrpe是否可用成功显示nrpe版本号
./chek_nrpe -H 172.25.254.17
cd /usr/local/nagios/etc/objcts/
在 commands.cfg 中添加check_nrpe的命令

# 'check_nrpe' commanddefinition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c$ARG1$
}

在services.cfg中添加

define service{
use local-service
host_name xi_gua.example.com
service_description 根分区
check_command check_nrpe!check_disk
}
define service{
use local-service
host_name xi_gua.example.com
service_description 登录用户数
check_command check_nrpe!check_users
}
监控根分区和登录人数

/usr/local/nagios/bin/nagios -v/usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios reload
如图可见监控成功


9.nagios的110云报警
到onealter官网下载所用的软件包这里用的是
alert-agent-4.1.3.1-linux-x64.tar.gz
在onealter网页添加nagios应用


获取应用key


在xi_gua.example.com主机中:
tar zxf alert-agent-4.1.3.1-linux-x64.tar.gz
cp -R alert-agent /usr/local/nagios/libexec/ #将解压好的包放入nagios插件目录中
cp alert-agent/plugin/nagios-plugin/nagios /usr/local/nagios/libexec/
chmod +x /usr/local/nagios/libexec/nagios
cp alert-agent/plugin/nagios-plugin/110monitor.cfg/usr/local/nagios/etc/objects/ #将110配置文件放入nagios配置文件目录
在110monitor.cfg文件中添加Key:



修改/usr/local/nagios/etc/objects/contacts.cfg,新增110monitor到默认联系组
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin,110monitor
}
修改/usr/local/nagios/etc/nagios.cfg,将110monitor.cfg新增到nagios.cfg中
cfg_file=/usr/local/nagios/etc/objects/110monitor.cfg
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

/etc/init.d/nagios reload

到此,关于"怎么在RedHat6.5上部署Nagios"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0