Ubuntu上快速搭建Nagios监控,类型的各种成员

类型的各种成员,类型成员

在一个类型中,可以定义0个或多个以下种类成员。

常量    指出数据值恒定不变的一个符号,逻辑上将,常量始终是静态成员。

字段   字段表示一个只读或可读/可写的数据值,可以是静态的也可以是实例(非静态),静态字段被认为是类型状态的一部分,后者被认为是对象状态的一部分。

强烈建议将字段声明为私有字段,防止类型或对象的状态呗该类型外部的代码破坏。

实例构造器  将新对象的实例字段初始化为良好出事状态的一种状态方法。

类型构造器  将类型的静态字段初始化为良好初始状态的一种特殊方法。

方法  方法是一个特殊的函数,作用是更改或查询一个类型或对象的状态,作用于类型是,称为静态方法;作用于对象时称为实例方法。

操作符重载  实际上是一个方法,定义了一个将特定的操作符作用于对象时,应该如何操作这个对象。 

转换操作符  转换操作符是定义如何显示或隐式地将一个对象从一个类型转化为另一种类型的方法。

属性  利用属性,可以使用一种简单的、字段风格的语法来设置或查询类型或对象的部分逻辑状态,同时保证状态不被遭到破坏。属性可以有参数也可以没有参数

事件   利用静态事件,一个类型可以向一个或多个静态或实例方法通知。而利用实例事件,一个对象可以向一个或多个静态或实例方法发送通知。提供事件的类型

或对象的状态发生改变,通常就会引发事件。事件包含两个方法,允许静态或实例方法登记或注销对该事件的关注。除了这两个方法,事件通常还使用一个委托字段来维护

已登记的方法集。

类型  类型可定义嵌套与其中的其他类型。通常用这个办法将一个大的、复杂的类型分解成更小的构建单元,以简化实现。

元数据是所有语言都生成和使用的公共信息。正是因为元数据,用一种语言写的代码才能无缝访问另一种语言写的代码。

在一个类型中,可以定义0个或多个以下种类成员。 常量
指出数据值恒定不变的一个符号,逻辑上将,常量始终…

Nagios是常用的系统监控工具,提供了很多基本服务的监控脚本,如HTTP,MYSQL等,同时具有不错的可扩展性,自己可定制针对特定参数的监控脚本以及报警的方式。但Nagios的配置相当复杂,本文总结了我最近在Ubuntu
Server上搭建Nagios的过程,以方便大家将来更加快速的安装搭建监控系统。

最近的一段时间经常听同事提到这个Hadoop
应该是个大的趋势,现在需要了解,以后需要熟悉,在后来就要精通了。

Nagios安装

安装分为nagios server和被监控端的两部分。nagios
server提供web界面,报警配置;被监控端需要安装nagios
nrpe服务,负责与server通信本机的监控情况。

1) Nagios Server的安装:

默认情况下,nagios会使用apache2作为自己的web
server。本着快速的原则,在server上运行:

 

1 sudo apt-get apache2 nagios3 nagios-nrpe-plugin

nagios-nrpe-plugin用于与被监控机器上的nrpe服务通信;

安装过程中,会提示输入nagsio web管理员的密码,nagios
web的登录帐号和密码是nagiosadmin/<安装时设定的密码>;也可以修改/etc/nagios3/htpasswd.users来改变用户、密码。

安装完成后,在/etc/apache/conf.d下会建立nagios3.conf,这是关于nagios
web的配置。访问 Server
Address>/nagios3即可看到nagios的主页。

如果想在网页上看nagios的doc,请安装:

 

1 sudo apt-get install nagios3-doc

如果想使用Nginx作为WEB SERVER,请Google “Nagios Nginx”。

2)被监控机器上,运行:

 

1 sudo apt-get install nagios-nrpe-server

不管是nagios
server还是被监控机器,默认的监控脚本配置会安装在/etc/nagios-plugin/config下,监控脚本都在/usr/lib/nagios/plugins下。

先简单的认识一下吧:)

Nagios配置

1)Nagios Server:

Nagios里需要配置的Object主要分Host, Service, Contact等;

其主配置是/etc/nagios3/nagios.cfg,一般不用怎么修改;

Hadoop 由 Apache Software Foundation 公司于 2005 年秋天作为 Lucene
的子项目 Nutch 的一部分正式引入。它受到最先由 Google Lab 开发的
MapReduce 和 Google File System 的启发。2006 年 3 月份,MapReduce 和
Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中。

脚本配置

脚本的配置是/etc/nagios3/commands.cfg,这里面常常修改notify-host-by-email;notify-service-by-email,通常会修改发email的命令,我改成了用sendEmail(apt-get
install sendEmail)发email:

 

1 define command{
2         command_name    notify-service-by-email
3         command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/sendEmail -f <from@xxx.xx> -t <to@xxx.xx> -u "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -s <SMTP_SERVER> -xu <EMAIL_USER_NAME> -xp <EMAIL_USER_PASSWORD>
4         }

也可增加一些用短信报警的命令,具体可Google “Nagios短信报警”。

另外需要查看的脚本配置位于/etc/nagios-plugin/config下,比如check_nrpe.cfg:

 

01 # this command runs a program $ARG1$ with arguments $ARG2$
02 define command {
03         command_name    check_nrpe
04         command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$
05 }
06   
07 # this command runs a program $ARG1$ with no arguments
08 define command {
09         command_name    check_nrpe_1arg
10         command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
11 }

分别配置了带一个参数和带两个参数的nrpe命令,command
name是check_nrpe_1arg的命令带一个参数,command
name是check_nrpe的带两个参数。比如我配置的脚本想查看目标机上的load,command
line就需配置成check_nrpe_1arg!check_load,该命令会调用nrpe
server上的check_load命令。

想查看check_http/check_ping/check_mysql的详细,对应的请查看http.cfg/ping.cfg/mysql.cfg里是怎么配置的。一般都是调用/usr/lib/nagios/plugins下的脚本,这些脚本都是可执行的,加”–
help”可查看该脚本的具体用法。如:

 

1 /usr/lib/nagios/plugins/check_http --help

可输出check_http的使用说明。

Hadoop 是最受欢迎的在 Internet
上对搜索关键字进行内容分类的工具,但它也可以解决许多要求极大伸缩性的问题。例如,如果您要
grep 一个 10TB
的巨型文件,会出现什么情况?在传统的系统上,这将需要很长的时间。但是
Hadoop 在设计时就考虑到这些问题,因此能大大提高效率。

配置的组成结构

在/etc/nagios3/conf.d下有一组配置,该配置的结构为:

1) contacts_nagios2.cfg:
配置联系人,可配置报警的命令等,一般我会在这里修改了联系人的email;

2)
generic-service_nagios2.cfg和generic-host_nagios2.cfg配置,generic-host/generic-service的一些配置,这样你配置的host/service只要配上use
generic-host/use
generic-service就能继承相应的配置。扩展的配置放在extinfo_nagios2.cfg里,时间段配置在timeperiods_nagios2.cfg里,这几个文件我都没有修改。

3) hostgroups_nagios2.cfg里配置host的分组,实际上它的主要作用是给host进行分类;

4)最重要的是services_nagios2.cfg,这里配置了需监视的service,每个service可指定针对哪类host有效。如:

 

1 define service {
2         hostgroup_name                  http-servers         

 

1         service_description             HTTP
2         check_command                   check_http
3         use                             generic-service
4         notification_interval           0 ; set > 0 if you want to be renotified
5 }

比较合理的配置方法是,在service_nagios2.cfg里为每类server配置service,然后在hosts.cfg和hostgroup_nagios2.cfg,配置相应的server和该server的类别。这样,在server地址或server上的服务发生变化的情况下,只需要修改host.cfg和hostgroup_nagios2.cfg即可。

Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop
是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop
是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop
是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop
还是可伸缩的,能够处理 PB 级数据。此外,Hadoop
依赖于社区服务器,因此它的成本比较低,任何人都可以使用。

被监控机器的配置

配置文件是/etc/nagios/nrpe.cfg。主要配置项有:

 

1 #server_address=127.0.0.1

默认是只有本机才能访问,多IP地址的情况下也不知道用的哪个IP,通常情况下会配成内网的地址;

 

1 allowed_hosts=127.0.0.1

容许访问nrpe的机器,多个主机用’,’分隔,注意不要留空格,“127.0.0.1,
192.168.1.12”是不工作的,必须是”127.0.0.1,192.168.1.12″;

nrpe里的自定义command,如:

 

1 command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
2 command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
3 command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1

这样在nagios server上可通过/usr/lib/nagios/plugins/check_nrpe -H
<被监控机器> -c
check_load来调用被监控机上的check_load;又参见/etc/nagios-plugin/config/check_nrpe.cfg,需要配置的command
line应为check_nrpe_1arg!check_load。我就是在这里写成了check_nrpe!check_load导致服务unknown的。

Hadoop带有用 Java 语言编写的框架,因此运行在 Linux
生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如
C++。

后继

按以上步骤,大概20分钟后就可以搭起一个最基本的监控系统。完成后可通过nagios的web查看各个host和service,观看详细的运行情况,包括下次监控脚本运行时间等等。如果需要细致的配置,如配置检查间隔等,请查看nagios的官方文档。(nagios主页位于)

如果需要扩展监控脚本,需自己写一个脚本,返回值为0, 1,
2时分别代表Normal,Warning,Critical的状态,然后在nrpe里配好command即可。

我还碰到过一个报警命令配错了,系统在一次报警失败后,遇到新的需要报警的时候,没有再次报警的问题。Google了一下,可能是Nagios
Cache的问题,清下cache就行。

 

1 rm /var/cache/nagios3/*

图片 1

Hadoop 有许多元素构成。最底部是 Hadoop Distributed File
System(HDFS),它存储 Hadoop
集群中所有存储节点上的文件。HDFS(对于本文)的上一层是 MapReduce
引擎,该引擎由 JobTrackers 和 TaskTrackers 组成。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

标签:
网站地图xml地图