Linux 之nggios 安装及配置

Nagios 简介:

是一个开源软件,可以监控网络设备网络流量、Linux/windows主机状态,甚至可以监控打印机

它可以运行在Linux上或windows上

基于浏览器的web界面方便运维人员查看监控项目的状态

支持web界面配置、管理操作

支持短信、邮件通知

可以自定义脚本实现自定义化监控

Nagios官网 http://www.nagios.org/

Nagios 服务器端安装:

Centos6默认的yum源里没有nagios相关的rpm包,但是我们可以安装一个epel的扩展源: rpm -ivh http://www.lishiming.net/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm

yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe

#楼主是在LNMP 下的环境来做实验的,httpd 已经安装了,epel 也安装了,省去了安装步骤。

[[email protected] ~]# yum install -y  nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe

[[email protected] ~]# htpasswd -c /etc/nagios/passwd nagiosadmin #设置登录nagios后台的用户和密码

New password:

Re-type new password: (zaq12wsx)

Adding password for user nagiosadmin

[[email protected] ~]# nagios -v /etc/nagios/nagios.cfg #检测配置文件,最下方输出0,则没有问题

Total Warnings: 0

Total Errors:   0

[[email protected] ~]# service httpd restart  #重启httpd

Stopping httpd:                                            [  OK  ]

Starting httpd:                                            [  OK  ]

[[email protected] ~]# service nagios restart #重启nagios

Running configuration check...done.

Stopping nagios: done.

Starting nagios: done.

通个IE 访问 http://10.72.4.38/nagios/

-----------------------------------分割线---------------------------------

Nagios 客户端的安装配置:(楼主客户端环境LAMP,之前做实验搭的)

在客户端机器上yum源:

rpm -ivh http://www.lishiming.net/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm

[[email protected] ~]# yum install -y nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe

[[email protected] ~]# vim /etc/nagios/nrpe.cfg #编辑配置文件

allowed_hosts=127.0.0.1 #更改为allowed_hosts=10.72.4.38,服务端IP

dont_blame_nrpe=0       #更改为 dont_blame_nrpe=1

[[email protected] ~]# /etc/init.d/nrpe start #客服端和服务端的中间介质

Starting nrpe:                                             [  OK  ]

[[email protected]LNMP ~]# cd /etc/nagios/conf.d/  #在服务端的配置

[[email protected] conf.d]# vim  10.72.4.43.cfg #加入以下内容

define host{

use                     linux-server            ; Name of host template to use

; This host definition will inherit all variables that are defined

; in (or inherited by) the linux-server host template definition.

host_name               10.72.4.43

alias                   4.43

address                 10.72.4.43

}

define service{

use                     generic-service

host_name               10.72.4.43

define host{

use                     linux-server            ; Name of host template to use

; This host definition will inherit all variables that are defined

; in (or inherited by) the linux-server host template definition.

host_name               10.72.4.43

alias                   4.43

address                 10.72.4.43

}

define service{

use                     generic-service

host_name               10.72.4.43

service_description     check_ping

check_command           check_ping!100.0,20%!200.0,50%

max_check_attempts 5

normal_check_interval 1

}

define service{

use                     generic-service

host_name               10.72.4.43

service_description     check_ssh

check_command           check_ssh

max_check_attempts      5

---------------------------------------------

定义的配置文件中一共监控了三个service:ssh, ping, http 这三个项目是使用本地的nagios工具去连接远程机器,也就是说即使客户端没有安装nagios-plugins以及nrpe也是可以监控到的。其他的一些service诸如负载、磁盘使用等是需要服务端通过nrpe去连接到远程主机获得信息,所以需要远程主机安装nrpe服务以及相应的执行脚本(nagios-plugins)

max_check_attempts 5  #当nagios检测到问题时,一共尝试检测5次都有问题才会告警,如果该数值为1,那么检测到问题立即告警

normal_check_interval 1#重新检测的时间间隔,单位是分钟,默认是3分钟

notification_interval  60 #在服务出现异常后,故障一直没有解决,nagios再次对使用者发出通知的时间。单位是分钟。如果你认为,所有的事件只需要一次通知就够了,可以把这里的选项设为0。

--------------------------------------------

检测 配置文件

[[email protected] conf.d]# nagios -v /etc/nagios/nagios.cfg  #出现两个OK

Total Warnings: 0

Total Errors:   0

[[email protected] ~]# service nagios restart  #重启nagios 服务,在网页端查看被监控的客户端4.43

------------------------------分割线-------------------- ----------

Nagios 客户端的安装配置2:

[[email protected] ~]# vim /etc/nagios/objects/commands.cfg  #服务端,增加一个调用客户端的服务的命令获得状态,check_nrpe 和对客户端通信。

define command{

command_name    check_nrpe

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

}

[[email protected] ~]# vim /etc/nagios/conf.d/10.72.4.43.cfg #增加服务

define service{

use     generic-service

host_name       10.72.4.43

service_description     check_load

check_command           check_nrpe!check_load #客户端调用,下同

max_check_attempts 5

normal_check_interval 1

}

define service{

use     generic-service

host_name       10.72.4.43

service_description     check_disk_sda1

check_command           check_nrpe!check_hda1

max_check_attempts 5

normal_check_interval 1

}

define service{

use     generic-service

host_name       10.72.4.43

service_description     check_disk_sdb5

check_command           check_nrpe!check_hda5

max_check_attempts 5

normal_check_interval 1

}

[[email protected]OBird ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        18G  4.0G   13G  24% /

tmpfs           495M     0  495M   0% /dev/shm

/dev/sda1       194M   29M  155M  16% /boot

/dev/sdb5       2.0G   68M  1.9G   4% /mnt

/dev/sdb1       2.0G   74M  1.9G   4% /home/liven/123

--------------------------------------------------------

[[email protected]OBird ~]# vim /etc/nagios/nrpe.cfg  #客户端被调用的脚本,用户是可以在此处自定义脚本的

# The following examples use hardcoded command arguments...

command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10

command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20

command[check_hda1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1

#chech_hda1 ,楼主实验环境是sda1,要改为一致 ,用df -h 查看

command[check_hda5]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda1

#增加一行sdb5

command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z

command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200

[[email protected] ~]# /etc/init.d/nrpe restart #重启客户端&nrpe 服务

Shutting down nrpe:                                        [  OK  ]

Starting nrpe:                                             [  OK  ]

检测 配置文件

[[email protected] conf.d]# nagios -v /etc/nagios/nagios.cfg  #出现两个OK

Total Warnings: 0

Total Errors:   0

[[email protected] ~]# service nagios restart    #重启服务端nagios服务

Running configuration check...done.

Stopping nagios: done.

Starting nagios: done.

LNMP 服务端hHTTP一直 WARNING(403).解决办法:

编写网站的访问目录echo 111>/var/www/html/index.html

[[email protected] ~]# tail /var/log/nagios/nagios.log  #查看nagios 日志,

[1482895207] SERVICE ALERT: 10.72.4.43;check_disk_sda5;CRITICAL;SOFT;3;DISK CRITICAL - /dev/sda5 is not accessible: No such file or directory

-------------------------------分割线------------------------------

配置邮件警告:



define contactgroup{

contactgroup_name       admins

alias                   Nagios Administrators

members                 nagiosadmin,222,333 #用户

}

define contact{

contact_name               222  #用户1

use                             generic-contact

alias                           linux

email                           [email protected] #报警邮箱

}

define contact{

contact_name               333

use                             generic-contact

alias                           linux

email                           [email protected]

}

define contactgroup{                                 #定义组

contactgroup_name               common       #组名

alias                           common       #别名

members                         222,333      #组员

}


[[email protected] ~]# vim /etc/nagios/conf.d/10.72.4.43.cfg  #设置告警,测试

define service{

use     generic-service

host_name       10.72.4.43

service_description     check_disk_sda1

check_command           check_nrpe!check_hda1

max_check_attempts 5

normal_check_interval 1

contact_groups          common  #加入告警设置

notification_period     24x7    #告警时间24x7

notification_options    c,r     #告警级别

}

define service{

use                     generic-service

host_name               10.72.4.43

service_description     check_http

check_command           check_http

max_check_attempts      5

normal_check_interval 1

contact_groups          common

notifications_enabled   1  #加入告警设置

notification_period     24x7

notification_options    w,c,r

[[email protected] ~]# /usr/lib64/nagios/plugins/check_disk -w 99% -c 99% -p /dev/sda1

DISK CRITICAL - free space: /boot 154 MB (84% inode=99%);| /boot=28MB;1;1;0;193

楼主在客户端用脚本产生告警,但是并没有发出邮件。楼主百度去了。。。

http://dl528888.blog.51cto.com/2382721/763079(参考这个博客详细内容在下端)

操作:

[[email protected] ~]# vim /etc/hosts #加入本机IP&主机名

10.72.4.38 LNMP

让客户端(10.72.4.43)的http服务告警:

[[email protected] ~]# tail /var/log/nagios/nagios.log #查看服务端事件,如果内容有service notification这样的话,就代表nagios发送了邮件报警

楼主亲测,收到了邮件。楼主用的两台虚拟机,网络是桥接模式。有图有真相。


--------------------------------------------

下文摘抄至下面的博客:

经过测试,虚拟机不能直接发邮件,但是阿里云主机可以,原因是没有公网IP,如果有问题参考以下三个步骤:http://dl528888.blog.51cto.com/2382721/763079(参考这个博客)

(1)hosts里的配置

[[email protected] ~]# cat /etc/hosts

  1. 172.16.4.3  nagios.com  nagios ##一定要有本机的ip对应

(2)hostname与/etc/sysconfig/network里的hostname一致,并与hosts里的一致

(3)去nagios的web里,选择报警的服务(如果httpd),点击http旁边的这个摁钮,如果你看到notification状态为disabled,那么你可以选择右侧的enabled notification for this services,确认对话框出来后,查看日志tail /var/log/nagios/nagios.log

如果内容有service notification这样的话,就代表nagios发送了邮件报警

时间: 2024-11-11 03:54:50

Linux 之nggios 安装及配置的相关文章

Linux redis的安装与配置

Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持. 1.环境 # lsb_release LSB Version:    :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarchDistri

在RedHat Linux系统中安装和配置snmp服务

检查系统是否安装snmp服务 # rpm -qa|grep snmp net-snmp-5.3.2.2-17.el5 net-snmp-perl-5.3.2.2-17.el5 net-snmp-devel-5.3.2.2-17.el5 net-snmp-libs-5.3.2.2-17.el5 net-snmp-utils-5.3.2.2-17.el5 net-snmp-libs-5.3.2.2-17.el5 net-snmp-devel-5.3.2.2-17.el5 SNMP服务安装后会有以上安

Tomcat在Linux上的安装与配置

Tomcat在Linux上的安装与配置 1.  jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html tomcat下载地址:http://tomcat.apache.org/download-70.cg 2.jdk安装与配置.(rpm包)    (1)jdk安装    rpm包:    # rpm -ivh jdk-7u79-linux-x64.rpm tar.gz

Linux CentOS下安装、配置mysql数据库

如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk.tomcat.eclipse我们就已经能进行我们的程序开发了,但是如果要做一个项目,哪怕是小的不能再小的项目都离不开数

java环境--JDK和Tomcat在linux上的安装和配置

Tomcat在Linux上的安装与配置 以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.1.下载JDK与Tomcat.    jdk下载地址:    http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html    tomcat下载地址:    http://tomcat.apache.org

Linux下MySQL安装和配置

--Linux下MySQL安装和配置 ---------------------------2014/05/18 Linux下MySQL的配置和安装 本文的安装采用 rpm 包安装 1.首先在官网下载 http://dev.mysql.com/downloads/mysql/ MySQL-client-5.6.17-1.el6.i686.rpm MySQL-server-5.6.17-1.el6.i686.rpm 2.由于RedHat中自带了mysql-libs-5.1 会和 MySQL-ser

Linux FTP的安装与配置

Linux FTP的安装与配置 ftp安装部分,操作步骤如下: 可以使用yum命令直接安装ftp # yum install vsftpd ftp服务的开启与关闭命令: 开启:# service vsftpd start 关闭:# service vsftpd stop 安装成功后,可以在本地使用ftp软件连接,默认账号是虚拟机的账号和密码. 在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境: ftp为vsftp 被限制用户名为test.被限制路径为/home/test

Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

1 PHP简介 PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域.PHP的文件后缀名为php. 2 下载地址 1)libmcrpyt ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz 2) php http://ww

Linux最小化安装网络配置

Linux最小化安装网络配置 配置网络ip vi /etc/sysconfig/network-scripts/ifcfg-ens33(将选中的部分改为yes) 保存退出并重启网络 service network restart 3.最小化安装没有ifconfig要用ip addr查看ip地址 ssh连接到MobaXterm 下载dokuwiki前安装必要工具 安装vimyum -y install vim 安装wgetyum -y install wget 安装net-tools(已安装过)