开源监控利器nagios

On 2009年11月26日, in 运营监控, by admin
14

开源监控利器nagios实战

作者:田逸(sery@163.com) from: http://net.it168.com/a2009/0309/267/000000267878.shtml

 

俗话说:工欲善其事,必先利其器.要做好系统管理,使自己的工作更轻松更有效的话,一个好的监控工具是必不可少的了.在这里我向大家推荐一款我使用了4年多的、功能强大、可灵活定制的开源监控利器—nagios。

 

首先,我们来看实际工作中需要监控的对象有哪些?在这里我总结出2种类型的监控对象:网络服务监控及主机资源监控。网络服务监控可包括主机存活检查、web服务监控、ftp服务监控、数据库服务监控、自定义服务监控等;主机资源监控可包括系统负载、当前ip链接数、磁盘空间使用情况、当前进程数以及自定义的资源监控等。

 

其次,我们再来看nagios监控的表现形式。监控的主要目的是当监控的对象发生故障或资源紧张时及时通知相关人员,以便问题得到迅速的处理。追求的效果就是“在老板和客户发现问题之前得到及时、有效的通知”,假定故障通知来自老板,我想大家都不会很愉快的。Nagios为了方便我们的管理工作,提供了至少3种表现手段:

1、web方式,即通过浏览器观看被监控的对象;如正常状态下,其状态(status)是以蓝色填充并显示一个OK。

2、邮件通知,发生故障时,到达设定重试次数和探测间隔时间后发送邮件给管理员或相关人员,报告问题的大致情况。

3、手机短信,这是非常有用和及时的功能了;晚上熟睡中,再也没可能看web页面或查阅邮件,可以一旦发生故障,手机短信却能把你随时唤醒。

一般情况下,这3者是同时进行的:上班时间开个浏览器看页面显示、打开邮件程序定时收取邮件、手机24小时在线。

 

最后,我们以一个实际场景来展示nagios的强大功能,希望对大家的系统管理工作有所帮助。 (全文 …)

Tagged with:
 

除了官方的hadoop版本外,cloudera.com也发布自己的hadoop版本。据说yahoo 负责hadoop开发的某个哥们跳槽到cloudera.com(Hugo告诉我的)。为此,我把hadoop从官方的hadoop-0.20.1换成cloudera.com的hadoop-0.20.1+152.tar.gz,再加上hive-0.4.0+14.

配置方法跟官方的版本一致,具体请参考前边的文章或者网上的文档。可以当我配置好以后,运行start-all.sh时,确出现如下的报错:

======================================================================+
|      Error: JAVA_HOME is not set and Java could not be found         |
+———————————————————————-+
| Please download the latest Sun JDK from the Sun Java web site        |
|       > http://java.sun.com/javase/downloads/ <                      |
|                                                                      |
| Hadoop requires Java 1.6 or later.                                   |
| NOTE: This script will find Sun Java whether you install using the   |
|       binary or the RPM based installer.                             |
+======================================================================+

明明在hadoop-env.sh设置好了,为了保险,又在/etc/profile设置了一遍。以hadoop用户登陆系统,在任意路径执行echo $JAVA_HOME ,显示”/usr/local/jdk”,是我服务器jdk正确的路径啊!再查一下文档,云:需要jdk1.6以上的版本,我使用的是jdk1.6.0_16,应该符合要求的。

 

那问题又会在哪里呢?grep一把,看那些文件包含字符串JAVA_HOME.先搜hadoop/conf,只有hadoop-env.sh包含这个字串。再换一个目录hadoop/bin,查看一下,其输出如下:

[root@hadoops2 hadoop]# grep JAVA_HOME bin/*bin/hadoop:export JAVA_HOME=/usr/local/jdkbin/hadoop:#   JAVA_HOME        The java implementation to use.  Overrides JAVA_HOME.bin/hadoop:if [ "$JAVA_HOME" != "" ]; then

bin/hadoop:  #echo “run java in $JAVA_HOME”

bin/hadoop:  JAVA_HOME=$JAVA_HOME

bin/hadoop:if [ "$JAVA_HOME" = "" ]; then

bin/hadoop:  echo “Error: JAVA_HOME is not set.”

bin/hadoop:JAVA=$JAVA_HOME/bin/java

bin/hadoop:CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar

bin/hadoop-config.sh:if [ -z "$JAVA_HOME" ]; then

bin/hadoop-config.sh:      export JAVA_HOME=$candidate

bin/hadoop-config.sh:  if [ -z "$JAVA_HOME" ]; then

bin/hadoop-config.sh:|      Error: JAVA_HOME is not set and Java could not be found         |

bin/rcc:#   JAVA_HOME        The java implementation to use.  Overrides JAVA_HOME.

bin/rcc:if [ "$JAVA_HOME" != "" ]; then

bin/rcc:  #echo “run java in $JAVA_HOME”

bin/rcc:  JAVA_HOME=$JAVA_HOME

bin/rcc:if [ "$JAVA_HOME" = "" ]; then

bin/rcc:  echo “Error: JAVA_HOME is not set.”

bin/rcc:JAVA=$JAVA_HOME/bin/java

bin/rcc:CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar

 

嘿!好几个文件都与JAVA_HOME相关呢。接着挨个查看文件,感觉hadoop-config.sh这个文件嫌疑最大,其内容刚好有一段与运行hadoop报错内容相一致,我把程序片段贴在下面:

# attempt to find java
if [ -z "$JAVA_HOME" ]; then
  for candidate in \
    /usr/lib/jvm/java-6-sun \
    /usr/lib/j2sdk1.6-sun \
    /usr/local/jdk \
    /usr/java/jdk1.6* \
    /usr/java/jre1.6* \
    /Library/Java/Home ; do
    if [ -e $candidate/bin/java ]; then
      export JAVA_HOME=$candidate
      break
    fi
  done
  # if we didn’t set it
  if [ -z "$JAVA_HOME" ]; then
    cat 1>&2 <<EOF
+======================================================================+
|      Error: JAVA_HOME is not set and Java could not be found         |
+———————————————————————-+
| Please download the latest Sun JDK from the Sun Java web site        |
|       > http://java.sun.com/javase/downloads/ <                      |
|                                                                      |
| Hadoop requires Java 1.6 or later.                                   |
| NOTE: This script will find Sun Java whether you install using the   |
|       binary or the RPM based installer.                             |
+======================================================================+
EOF
    exit 1
  fi
fi

我在这段中间加如行 /usr/local/jdk \“,然后在运行,一切就正常了!

Tagged with:
 

nagios3.2安装与老版本不一致的地方

On 2009年11月20日, in 未分类, by admin
0

nagios3.2使用php 作为其web解析,因此需要安装php环境。

如何知道?打开nagios目录 /usr/local/nagios/share看一眼,就知道了。nagios2版本不是这样,纯html.

其他的与nagios2相同

Tagged with:
 

hadoop部署hive小记

On 2009年11月18日, in 云计算, by admin
4

1、下载hive(http://archive.cloudera.com/cdh/testing/hive-0.3.99.1+0.tar.gz),解包把它放到目录 /usr/local/hadoop/contrib并改名为hive,改属主(chown -R hadoop:hadoop).

2、下载ant (http://labs.xiaonei.com/apache-mirror/ant/binaries/apache-ant-1.7.1-bin.tar.gz),解包并把它放置到目录/usr/local/hadoop.

3、修改文件 /etc/profile,添加如下的行:

export HADOOP_HOME=/usr/local/hadoopexport ANT_HOME=$HADOOP_HOME/apache-ant-1.7.1export PATH=$PATH:/usr/local/hadoop/bin:$JAVA_HOME/bin:$HADOOP_HOME/contrib/hive/bin:$ANT_HOME/bin

export ANT_LIB=$HADOOP_HOME/apache-ant-1.7.1/lib

export HADOOP=$HADOOP_HOME/bin/hadoop

 

4、修改hive配置文件 /usr/local/hadoop/contrib/hive/conf/hive-default.xml,只要改一个地方,使其内容为:/usr/local/hadoop/contrib/hive/lib/hive_hwi.war。昨天我把它书写成 “hive-hwi.war”,浏览器访问,就只列出文件目录,死活都不对,唉!

5、启动hive web服务: $ hive –service  hwi &  .监听端口默认是9999,也可以自己到hive-default.xml定制。浏览器的访问url为 http:/hadoop:9999/hwi.

注:hive表的存放地为hdfs,默认是 /user/hive .这个路径只有通过hadoop shell才能看见(不是/usr)

Tagged with: