Linux上安装和配置Nagios

Nagios是最强大的网络监控系统之一,在业界广泛使用。它可以主动监控任何网络,并在检测到任何问题时生成音频/电子邮件警告和警报。检查类型和警报计时器是完全可自定义的。


Nagios的另一个令人难以置信的功能是它可以监控主机和服务,例如,它可以监控IP地址和TCP / UDP端口号。为了解释一下,让我们假设有一个我们想要监控的Web服务器。Nagios可以通过在服务器的IP /名称上运行ping来检查服务器是否在线,并且可以将其设置为在服务器的往返时间(RTT)增加的情况下提供警告。此外,Nagios还可以检查TCP端口80(Web服务器)是否可访问,例如,服务器是否在线但Apache / IIS没有响应。


还有基于Nagios的第三方监控工具,例如Centreon,FAN,op5

Monitor,它们在接口,自动化和技术支持方面补充了独立的Nagios引擎。


本教程介绍如何在Linux上安装和配置Nagios。


在Debian或Ubuntu上安装Nagios


在基于Debian的系统上,由于apt-get,安装本身就是一个非常简单的过程。


root @ mrtg:〜#apt-get install nagios3


邮件服务器设置可以在Nagios安装期间完成。它也可以在以后需要时配置。


注意: Nagios需要有效的SMTP配置才能发送电子邮件通知。




可以看出,Nagios支持多种电子邮件传送选项。最常见的选项是Internet站点,服务器将电子邮件直接发送给收件人。另一个广泛使用的选项是使用smarthost或中继服务器,其中服务器将电子邮件发送到中间邮件服务器,后者又负责将邮件传递给收件人。



接下来,必须在下一步中包含服务器的域名。




最后,设置Nagios管理员用户'nagiosadmin'的密码。此值也可以在以后更改。




在CentOS或RHEL上安装Nagios


yum用于安装。之后设立repoforge库,运行百胜如下。


[root @ mrtg~] #yum install nagiosnagios-plugins


监测要求


在本教程中,我们要监视以下内容。


每隔3分钟检查一次所有Linux服务器。

所有Cisco路由器将每3分钟检查一次。

所有电子邮件提醒都应发送到地址sentinel@example.tst。

在发出任何警报之前,Nagios将验证3次以确保问题是真实的。

如果任何设备的RTT超过100毫秒和/或数据包丢失超过20%,将生成电子邮件警报。

本教程的其余部分将指导您在Linux上配置Nagios。


Ubuntu上的Nagios配置


了解Nagios配置文件的位置非常重要。下表显示了基于Debian的系统上Nagios配置文件的位置。


在/ etc / nagios的-插件


用于监控的可自定义脚本


在/ etc / nagios3


用于添加主机,服务,定义检查和计时器的配置文件


/ usr / lib中/的nagios /插件


用于监视的可执行文件


以下步骤是相互关联的。定义主机,主机组和向主机组添加服务。


添加主机模板


定义了定义如何处理类型主机的模板。我们使用随安装提供的文件作为示例。


首先,为Linux设备定义主机模板


root @ mrtg:〜#cd /etc/nagios3/conf.d


root @ mrtg:/etc/nagios3/conf.d/#cpgeneral-host_nagios2.cfg linux-server.cfg


编辑linux-server.cfg如下。粗体字的部分被修改。


root @ mrtg:/etc/nagios3/conf.d/#vimlinux-server.cfg


define host{

name                                       linux-server  

notifications_enabled                1 

event_handler_enabled                1 

flap_detection_enabled                1 

failure_prediction_enabled        1 

process_perf_data                1 

retain_status_information        1 

retain_nonstatus_information        1

check_command            example-host-check        ; the script to be used while checking

check_interval                  3                 ; the interval betweenconsecutive checks

max_check_attempts              3   ; number of rechecking before generatingemail alerts

notification_interval           0

notification_period             24x7          

notification_options                d,u,r

contact_groups                        admins        ; the group where emails will be sent

register                        0

       }


接下来,为Cisco设备定义主机模板。


root @ mrtg:/etc/nagios3/conf.d/#cplinux-server.cfg cisco-device.cfg


修改cisco-device.cfg如下。粗体字部分已修改。


root @ mrtg:/etc/nagios3/conf.d/#vimcisco-device.cfg


# The highlighted parts are modified

define host{

name                               cisco-device  

notifications_enabled                1 

event_handler_enabled                1 

flap_detection_enabled                1 

failure_prediction_enabled        1 

process_perf_data                1 

retain_status_information        1 

retain_nonstatus_information        1

check_command            example-host-check        ; the script to be used while checking

check_interval                      3         ; the interval between consecutivechecks

max_check_attempts                  3 ; number of recheckingbefore generating email alerts

notification_interval               0

notification_period                 24x7          

notification_options                d,u,r

contact_groups                        admins        ; the group where emails will be sent

register                        0     

       }




添加主机




现在已定义主机模板,添加了要监视的实际主机。同样,默认提供的文件用作样本。


root @ mrtg:/etc/nagios3/conf.d/#cplocalhost_nagios2.cfg example.cfg


root @ mrtg:/etc/nagios3/conf.d/#vimexample.cfg




# Host 1

define host{

use                        linux-server            ; Name of host template to use

host_name               our-server                ; The hostname to be used bynagios

alias                  our-server

address                        172.17.1.23                ; The IP address of the host

       }


# Host 2

define host{

use                        cisco-device            ; Name of host template to use

host_name                    our-router                ; The hostname to be used bynagios

alias                   our-router

address                        172.17.1.1                 ; The IP address of the host

       }


主机组定义


为了便于在有多个主机时进行管理,建议将类似类型的主机组合在一起。


root @ mrtg:/etc/nagios3/conf.d/#vimhostgroups_nagios2.cfg




definehostgroup {

hostgroup_name                linux-server           ; the name of the host group

alias                        Linux Servers

members                        our-server      ; comma separated list of members

       }


definehostgroup {

hostgroup_name                cisco-device    ; the name of the host group

alias                        Cisco Devices

members                        our-server      ; comma separated list of members

       }


服务定义


首先,命令example-host-check定义为延迟警告值为100 ms,丢包率为20%。延迟和100%丢包的临界值为5000毫秒。发送一个IPv4 ping请求。


root @ mrtg:〜#vim /etc/nagios-plugins/config/ping.cfg


define command {

       command_name example-host-check

       command_line / usr / lib / nagios / plugins / check_ping -H'$HOSTADDRESS $'-w 100,20%-c 5000,100%-p 1 -4

       }


然后,该命令与主机组关联。


root @ mrtg:/etc/nagios3/conf.d/#vimservices_nagios2.cfg


define service {

hostgroup_name                      linux-server

service_description           Linux Servers

check_command                 example-host-check

use                           generic-service

notification_interval 0 ; set > 0 if youwant to be renotified

}


define service {

hostgroup_name                      cisco-device

service_description              Cisco Devices

check_command                 example-host-check

use                           generic-service

notification_interval 0 ; set > 0 if youwant to be renotified

}


联系定义


发送电子邮件所需的地址已添加到Nagios。


root @ mrtg:/etc/nagios3/conf.d/#vimcontacts_nagios2.cfg




define contact{

       contact_name                   root

       alias                           Root

       service_notification_period    24x7

       host_notification_period       24x7

       service_notification_options   w,u,c,r

       host_notification_options      d,r

       service_notification_commands  notify-service-by-email

       host_notification_commands     notify-host-by-email

       email                   root@localhost, sentinel@example.tst

       }




最后,启动空运行以检查是否存在任何配置错误。如果没有错误,可以(重新)安全地启动Nagios。


root @ mrtg:〜#nagios -v /etc/nagios3/nagios.cfg


root @ mrtg:〜#service nagios3 restart


CentOS / RHEL上的Nagios配置


以下显示了基于Redhat的系统上Nagios配置文件的位置。


的/ etc /的nagios /对象


用于添加主机,服务,定义检查和计时器的配置文件


/ usr / lib中/的nagios /插件


用于监视的可执行文件


添加主机模板


创建模板以定义需要为特定类型的主机执行的操作。随安装提供的文件已修改。


[root @ mrtg objects] #cd / etc / nagios /objects /


[root @ mrtg objects] #vim templates.cfg




Finally, a dry run is initiated to checkwhether there are any configuration errors. If there are no errors, Nagios canbe (re)started safely.


root@mrtg:~#nagios –v/etc/nagios3/nagios.cfg


root@mrtg:~# service nagios3 restart


Nagios Configuration on CentOS/RHEL


The following shows the locations of Nagiosconfiguration files on Redhat-based systems.


/etc/nagios/objects


Configuration files to add hosts, services,define checks and timers


/usr/lib/nagios/plugins


Executable files used for monitoring


Adding Host Template


A template is created to define what needsto be done for a specific type of host. The files provided with theinstallation is modified.


[root@mrtg objects]# cd/etc/nagios/objects/


[root@mrtg objects]# vim templates.cfg


define host{

  name                               linux-server  

  use                               generic-host  

  check_period                       24x7    

  check_interval                3

  retry_interval                1

  max_check_attempts               3

  check_command               example-host-check

  notification_period               24x7

  notification_interval        0

  notification_options               d,u,r

  contact_groups                admins

  register                        0

       }


define host{

  name                               cisco-router  

  use                               generic-host  

  check_period                       24x7    

  check_interval                3

  retry_interval                1

  max_check_attempts               3

  check_command               example-host-check

  notification_period               24x7

  notification_interval        0

  notification_options                d,u,r

  contact_groups               admins

  register                        0

       }




添加主机和主机组


默认情况下提供的配置文件用作示例。主机和主机组添加在同一文件中。


[root @ mrtg objects] #cp localhost.cfgexample.cfg


[root @ mrtg objects] #vim example.cfg


#Adding Linux server

define host{

use                linux-server

host_name        our-server

alias                our-server

address                172.17.1.23

       }


#Adding Cisco Router

define host{

use               cisco-router

host_name        our-router

alias                our-router

address                172.17.1.1

       }


# HOST GROUP DEFINITION

define hostgroup{

hostgroup_name  linux-servers

alias           Linux Servers

members         our-server

       }


define hostgroup{

hostgroup_name  cisco-router

alias           cisco-router

members         our-router

       }




服务定义


定义了一个名为example-host-check的服务,其延迟警告值为100 ms,数据包丢失警告值为20%。延迟的临界值为5000 ms,数据包丢失的临界值为100%。只传输一个IPv4 ping请求。


[root @ mrtg objects] #vim commands.cfg


define command {

       command_name example-host-check

       command_line $ USER1 $ / check_ping -H $ HOSTADDRESS $ -w 100.0,20%-c 5000.0,100%-p 1 -4

       }


联系定义


将发送警报的电子邮件地址添加到Nagios中。


[root @ objects objects] #vim contacts.cfg


定义联系人{

contact_name nagiosadmin     

使用通用联系人

别名Nagios Admin

电子邮件nagios @ localhost,sentinel @ example.tst

       }


最后,我们准备启动Nagios服务。建议进行干运行以找出配置错误。


[root @ mrtg~] #nagios -v /etc/nagios/nagios.cfg


[root @ mrtg~] #service nagios restart


[root @ mrtg~] #chkconfig nagios on




配置后访问Nagios


现在您已准备好使用Nagios。在Ubuntu

/ Debian的情况下打开URL http:// IP /

nagios3或在CentOS / RHEL的情况下打开http:// IP / nagios,例如http://172.17.1.23/nagios3,可以访问Nagios。需要对用户“nagiosadmin”进行身份验证才能访问该页面。

转自嘉为教育-rhce认证_rhce培训_linux培训_linux认证_linux考证

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容