Nagios安装与部署

Nagios概述:

Nagios是一款开源免费(也有收费版的Nagios XI)的监控工具,可以用以监控Windows、Linux、Unix、Router、Switch,可以监控指定主机的物理基础资源或服务,当被监控对象健康状态“变好”或者“变坏”的时候,可以通过邮件、短信等方式通知到相关管理人员或运维人员。

官方介绍:

https://www.nagios.org/about/

官方下载地址:

https://www.nagios.org/downloads/nagios-core/thanks/?skip=1&product_download=nagioscore-source

相关网址:

https://www.nagios.org/downloads/nagios-core-frontends/                                     //如果嫌弃Nagios的web界面不够美观,可以去这里找些主题换上

https://exchange.nagios.org/#_ga=2.236442180.491245866.1535507044-125128113.1535507044      //nagios的一些拓展插件,可以在这里下载

https://exchange.nagios.org/directory/Addons                                                      //各类插件,包括一些监控脚本

https://www.nagios.org/downloads/nagios-core-addons/                                     //nagios的一些项目

Nagios的运行模式:

Nagios服务以C/S模式收集数据,用户以B/S模式查看

Nagios的运行原理:

上图的过程可以概括为Nagios Server从客户端采集过来数据加以分析,然后以网页形式呈现给用户。

附上另外两张网上找的Nagios的运行原理图帮助理解:

部署Nagios所需的软件:

LAP(Linux + Apache + PHP)

nagios-3.5.1.tar                                  //Nagios的核心文件,Nagios服务文件,选择稳定版就好,最新版的很多插件用不了

nagios-plugins-2.1.1.tar                    //Nagios插件,用于各种脚本和命令

nrpe-2.15.tar                                    //代理服务,用户监控非Nagios服务器的服务器本地私有信息代理

NSCP-0.4.3.143-x64                      //Nsclient++,用于监控Windows,分32位和64位

pnp4nagios-0.6.25.tar                     //非必需,用于结合nagios出图

vautour_style                                  //nagios主题

开始部署

首先解决依赖

[[email protected] ~]# yum install -y gcc gcc-c++ glibc glibc-common php gd gd-devel libpng libmng libjpeg zlib这里注意:如果提示那个依赖库安装失败,建议配置下网络YUM源,USTC、Tsinghua或者ali的开源镜像站都可以;也可以直接去网上下载。

采用YUM方式安装apache和php:

[[email protected] ~]# yum install -y httpd php

启动httpd服务并测试PHP是否可用

[[email protected] ~]# service httpd start
[[email protected] ~]# elinks 192.168.159.130 --dump >> php_out.txt
[[email protected] ~]# echo $?
0
[[email protected] ~]# less php_out.txt
   [1]PHP Logo

   PHP Version 5.3.3

   System             Linux xueji 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22
                      03:15:09 UTC 2013 x86_64
   Build Date         Mar 22 2017 12:27:34
                      ‘./configure‘ ‘--build=x86_64-redhat-linux-gnu‘......
显示出PHP的相关信息,即说明PHP正常

添加nagios运行用户并准备软件包

[[email protected] ~]# groupadd nagcmd
[[email protected] ~]# usermod -G nagcmd apache
[[email protected] ~]# useradd nagios -G nagcmd
[[email protected] ~]# mkdir Nagios
[[email protected] Nagios]# ls
nagios-3.5.1.tar.gz          pnp4nagios-0.6.25.tar.gz
nagios-plugins-2.1.1.tar.gz  vautour_style.zip
nrpe-2.15.tar.gz

开始安装nagios

[[email protected] Nagios]# tar -xf nagios-3.5.1.tar.gz
[[email protected] Nagios]# tar -xf nagios-plugins-2.1.1.tar.gz
[[email protected] Nagios]# tar -xf nrpe-2.15.tar.gz
[[email protected] Nagios]# tar -xf pnp4nagios-0.6.25.tar.gz
[[email protected] Nagios]# unzip vautour_style.zip
[[email protected] Nagios]# cd nagios
[[email protected] nagios]# ./configure --with-command-group=nagcmd && echo $? && sleep 3 && make all && echo $? && sleep 3 && make install && make install-init && make install-commandmode && make install-config && make install-webconf
//make install安装生成/usr/local/nagios/,其中/usr/local/nagios/share即nagiosWEB访问界面的站点目录
//make install-init                安装生成/etc/rc.d/init.d/nagios  启动脚本
//make install-config            安装生成/usr/local/nagios/etc下的nagios相关配置文件
//make install-commandmode    设定相应nagios工作目录的权限
//make install-webconf            安装Nagios的WEB配置文件到Apache的conf.d目录下
到此时,安装过程就结束了

Nagios安装完成后,相关文件目录说明

[[email protected] nagios]# ls /usr/local/nagios/
bin  etc  libexec  sbin  share  var
[[email protected] nagios]# ls /usr/local/nagios/share/   #执行过make install 后生成了/usr/local/nagios/share这个目录
config.inc.php  includes   media             side.php
contexthelp     index.php  robots.txt        ssi
docs            js         rss-corefeed.php  stylesheets
images          main.php   rss-newsfeed.php
##执行了make install-init 后,生成了/etc/init.d/nagios,即nagios的启动文件
[[email protected] nagios]# ls /etc/init.d/nagios
/etc/init.d/nagios
##执行make install-config后,生成了nagios的配置文件
[[email protected] nagios]# ls /usr/local/nagios/etc/
cgi.cfg  nagios.cfg  objects  resource.cfg
##执行make install-webconf后,会在/etc/httpd/conf.d/下生成nagios的配置文件
[[email protected] nagios]# ls /etc/httpd/conf.d/ | grep nagios
nagios.conf

Nagios安装完成后的主目录

[[email protected] nagios]# ls /usr/local/nagios/
bin       //nagios执行程序所在的目录
etc       //nagios配置文件所在目录,初始安装完成后,只有几个.cfg文件,
libexec  //监控所用命令,需要安装nagios-plugins插件才会有,检测命令,不装是空的
sbin    //Nagios的cgi文件所在目录,外部命令所需的文件存放目录
share  //nagiosde 前端页面
var     //日志文件,pid(进程)文件等等。

使用客户端访问测试nagios的前端

此时还不能登录,需要建立登录用户

[[email protected] ~]# htpasswd -c /usr/local/nagios/etc/htpasswd
.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin
##htpasswd.users这个文件是htpasswd 命令通过-c参数创建出来的,之后再添加nagios用户的话,就不需要-c参数了
[[email protected] ~]# cat /usr/local/nagios/etc/htpasswd.users
nagiosadmin:6WusQf7QgCtw6
[[email protected] ~]# service httpd restart  //重启httpd服务测试刚才创建的nagios用户是否可以登录。

登录测试

现在可以登录,但仅限于可以登录,因为没有做其他配置。

开始安装nagios-plugins插件

[[email protected] Nagios]# cd nagios-plugins-2.1.1
[[email protected] nagios-plugins-2.1.1]# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd && echo $? &&sleep 3 && make && echo $? && sleep 3 && make install && echo $?

安装完成后,生成的相关文件

[[email protected] nagios-plugins-2.1.1]# cd /usr/local/nagios/
[[email protected] nagios]# ls
bin  etc  include  libexec  sbin  share  var
[[email protected] nagios]# ls libexec/
check_apt           check_ldap         check_procs
check_breeze        check_ldaps        check_real
check_by_ssh        check_load         check_rpc
check_clamd         check_log          check_sensors
check_cluster       check_mailq        check_simap
check_dhcp          check_mrtg         check_smtp
check_dig           check_mrtgtraf     check_spop
check_disk          check_mysql        check_ssh
check_disk_smb      check_mysql_query  check_ssmtp
check_dns           check_nagios       check_swap
check_dummy         check_nntp         check_tcp
check_file_age      check_nntps        check_time
check_flexlm        check_nt           check_udp
check_ftp           check_ntp          check_ups
check_http          check_ntp_peer     check_uptime
check_icmp          check_ntp_time     check_users
check_ide_smart     check_nwstat       check_wave
check_ifoperstatus  check_oracle       negate
check_ifstatus      check_overcr       urlize
check_imap          check_pgsql        utils.pm
check_ircd          check_ping         utils.sh
check_jabber        check_pop

启动nagios服务

[[email protected] ~]# service httpd restart
Stopping httpd:                                          [  OK  ]
Starting httpd:                                          [  OK  ]
[[email protected] ~]# service nagios restart
Running configuration check...done.
Stopping nagios: No lock file found in /usr/local/nagios/var/nagios.lock
Starting nagios: done.

再次登录测试

现在就有机器信息了。

配置监控之前,需要做一系列的准备工作(指定主配置文件需要加载的配置文件—定义主机—定义服务 –定义监控命令—检查配置文件—启动Nagios)

[[email protected] ~]# vim /usr/local/nagios/etc/nagios.cfg
log_file=/var/log/nagios/nagios.log                         #日志位置
cfg_file=/etc/nagios/objects/commands.cfg                   #这个文件定义了很多命令
cfg_file=/etc/nagios/objects/contacts.cfg                   #定义联系人,怎么联系
cfg_file=/etc/nagios/objects/timeperiods.cfg                #定义了时间段
cfg_file=/etc/nagios/objects/templates.cfg                  #模板(联系人,主机,时间)
cfg_file=/etc/nagios/objects/localhost.cfg                  #监控本机相关配置文件
#cfg_file=/etc/nagios/objects/windows.cfg                   #windows,默认不监控
#cfg_file=/etc/nagios/objects/switch.cfg                    #交换机路由器监控,默认不监控
#cfg_file=/etc/nagios/objects/printer.cfg                   #打印机监控,默认不监控

#cfg_dir=/etc/nagios/servers                                #定义了服务合集(多个使用)
#cfg_dir=/etc/nagios/printers                               #定义了打印机合集(多个使用)
#cfg_dir=/etc/nagios/switches                               #定义了交换合集(多个使用)
#cfg_dir=/etc/nagios/routers                                #定义了路由合集(多个使用)
cfg_dir=/etc/nagios/conf.d                     #配置文件目录(下面的cfg文件一样有效)

resource_file=/etc/nagios/private/resource.cfg 资源变量配置文件,包括$USER1$变量(一个路径)等
status_update_interval=10                                   #状态更新时间,单位s
log_rotation_method=d                                       #日志滚动,默认天
service_check_timeout=60                                    #服务检查超时时间
host_check_timeout=30                                        #主机检查超时时间
event_handler_timeout=30
notification_timeout=30
ocsp_timeout=5
perfdata_timeout=5
[[email protected] ~]# vim /usr/local/nagios/etc/cgi.cfg  //比nagios.cfg文件的优先级高
main_config_file=/etc/nagios/nagios.cfg             #主配置文件
physical_html_path=/usr/share/nagios/html           #物理路径
url_html_path=/nagios                               #在URL后面加上/nagios才能访问
use_authentication=1                                #使用认证
use_ssl_authentication=0                            #不使用ssl
authorized_for_system_information=nagiosadmin       #认证用户

配置nagios实现对本地NFS服务的监控

[[email protected] ~]# cd /usr/local/nagios/etc/objects/
[[email protected] objects]# ls
commands.cfg   printer.cfg    timeperiods.cfg
contacts.cfg   switch.cfg     windows.cfg
localhost.cfg  templates.cfg
[[email protected] objects]# cp localhost.cfg{,.bak}
[[email protected] objects]# vim localhost.cfg
define service{
        use                             local-service         ; Name of service template to use
        host_name                       localhost
        service_description             NFS        check_command                   check_tcp!2049
        }

@
/define service
##创建一个共享
[[email protected] objects]# vim /etc/exports
/tmp *{rw}
[[email protected] objects]# /etc/init.d/nfs start
Starting NFS services:  exportfs: No options for /tmp *{rw}: suggest *{rw}(sync) to avoid warning
                                                         [  OK  ]
Starting NFS quotas:                                     [  OK  ]
Starting NFS mountd:                                     [  OK  ]
Starting NFS daemon:                                     [  OK  ]
Starting RPC idmapd:                                     [  OK  ]
[[email protected] objects]# showmount -e 192.168.159.130
Export list for 192.168.159.130:
/tmp *{rw}
检查localhost是否启用
[[email protected] objects]# grep localhost /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg  //默认已经启用
检查配置文件是否有误
[[email protected] objects]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg  | grep ^Total
Total Warnings: 0
Total Errors:   0
都是0表明配置文件没有问题。
[[email protected] objects]# /etc/init.d/nagios restart
Running configuration check...done.
Stopping nagios: done.
Starting nagios: done.

再次登录nagios查看

手动停掉NFS服务,强制刷新,再次查看,在上图界面,鼠标单击NFS会出现如下所示

点击右侧Re-schedule the next check of this service,然后在弹出的窗口点击commit,一次不行,多试两次,然后就会看到如下所示

nagios的告警颜色含义

原文地址:https://www.cnblogs.com/zd520pyx1314/p/9500344.html

时间: 2024-10-21 23:06:49

Nagios安装与部署的相关文章

Linux监控和安全运维---nagios安装及部署

nagios安装 [[email protected] ~]# rpm -ivh http://www.aminglinux.com/bbs/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm [[email protected] ~]# yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe [[email 

Nagios安装部署

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; line-height: 150%; font-size: 13.5pt; font-family: "Calibri", "sans-serif" } h1 { margin-top: 17.0pt; margin-right: 0cm; margin-bottom: 16.5pt; margin-left:

nagios 安装部署试验

RH5.3 + VMware +Nagios 11 + 环境 虚拟机vmware + 操作系统 linux rh5.3 步骤 rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel 遇见问题:This system is not registered with RHN Redhat之所以

linux下nagios的安装与部署

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

linux上nagios安装完整版

监控server端的安装部署一.apache的安装下载httpd-2.2.15.tar.gz gunzip httpd-2.2.15.tar.gztar xvf httpd-2.2.15.tarcd httpd-2.2.15./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all --enable-cgi --enable-rewrite --enable-deflate --with-mpm=wor

CentOS下nagios报警飞信部署四步走

CentOS下nagios报警飞信部署四步走 今天 帮群里一兄弟配了下nagios上的飞信,这个东西 我个人感觉还是很实用的,不过好久没配了,今天配置了一遍,顺便 就把过程记录下来了,供大家学习!!! 一.安装飞信 cd /root/toolswget http://ebook.elain.org/tools/fetion20101205.tar.gz 安装步骤略,软件包中有添加要接收报警短信的手机号为飞信好友 /usr/local/fetion/fetion --mobile=137xxxxx

[原创]HBase学习笔记(1)-安装和部署

HBase安装和部署 使用的HBase版本是1.2.4 1.安装步骤(默认hdfs已安装好) # 下载并解压安装包 cd tools/ tar -zxf hbase-1.2.4-bin.tar.gz   # 重命名为hbase mv hbase-1.2.4 hbase # 将hadoop目录下的hdfs-site.xml 和 core-stie.xml拷贝到 hbase下的conf 目录中 cd /home/work/tools/hbase/conf cp /home/work/tools/ha

Maven中手动安装或部署jar

一些第三方jar包我们需要手动进行安装部署,另外如果使用nexus时索引未更新下来急于使用时也可以进行安装或部署.安装(install)仅将相应jar包安装到了本地仓库,而部署(deploy)则将jar包部署到了私有仓库中.如下两段代码分别是命令行形式下安装oracle 的jdbc驱动包,和部署surefire-junit包到私服上的代码. <span style="font-size:12px;">mvn install:install-file -DgroupId=co

【Mysql】Mysql的安装、部署与图形化

Mysql是一个必须学会如何安装与部署的工具,它不同于其它那些傻瓜式的应用/程序,一键到底,如果是初次在Windows下安装Mysql的初学者还是有一定难度的. 本文配合之前的<[Javaweb]前台开发环境的配置Myeclipse6.5+JDK1.6+Tomcat6.0+SVN1.8>(点击打开链接)一文中的前台开发环境的部署,也就形成了JavaWeb.JSP.J2EE的基本开发环境. 一.Mysql的下载 首先打开Mysql的官网(点击打开链接),百度一下是搜不到的,我也找了很久才找到My