zoukankan      html  css  js  c++  java
  • fluentd结合kibana、elasticsearch实时搜索分析hadoop集群日志<转>

    转自 http://blog.csdn.net/jiedushi/article/details/12003171

    Fluentd是一个开源收集事件和日志系统,它目前提供150+扩展插件让你存储大数据用于日志搜索,数据分析和存储。

    官方地址http://fluentd.org/  插件地址http://fluentd.org/plugin/

    Kibana 是一个为 ElasticSearch 提供日志分析的 Web ui工具,可使用它对日志进行高效的搜索、可视化、分析等各种操作。官方地址http://www.elasticsearch.org/overview/kibana/

    elasticsearch 是开源的(Apache2协议),分布式的,RESTful的,构建在Apache Lucene之上的的搜索引擎.

    官方地址http://www.elasticsearch.org/overview/    中文地址 http://es-cn.medcl.net/

    具体的工作流程就是利用fluentd 监控并过滤hadoop集群的系统日志,将过滤后的日志内容发给全文搜索服务ElasticSearch, 然后用ElasticSearch结合Kibana 进行自定义搜索web页面展示.

    下面开始说部署方法和过程。以下安装步骤在centos 5 64位测试通过

    一、  elasticsearch安装部署

    elasticsearch 官方提供了几种安装包,适用于windows的zip压缩包,适用于unix/linux的tar.gz压缩包,适用于centos系统的rpm包和ubuntu的deb包。大家可以自己选择安装使用。

    因为elasticsearch 需要java环境运行,首先需要安装jdk,安装步骤就省略了。

    使用.tar.gz压缩包安装部署的话,先下载压缩包

    # wget  https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.5.tar.gz

    # tar zxvf elasticsearch-0.90.5.tar.gz

    ////////////如果是单机部署

    # cd elasticsearch-0.90.5

    # elasticsearch-0.90.5/bin/elasticsearch -f

    就可以启动搜索服务了,查看端口9200是否打开,如果打开说明启动正常。

    ////////////////如果是部署集群的话,需要进行配置

    例如在192.168.0.1   192.168.0.2 两台服务器部署,两台服务器都安装好jdk,下载elasticsearch 解压缩,然后编辑配置文件

    //////////////////////192.168.0.1   服务器编辑文件

    vi elasticsearch-0.90.5/config/elasticsearch.yml

    删除cluster.name 前面注释,修改集群名称 

    cluster.name: es_cluster

    删除node.name前注释 ,修改节点名称,不修改的话,系统启动后会生成随即node名称。

    node.name: "elastic_inst1"

    node.master: true    设置该节点为主节点

    /////////////////////////192.168.0.2  编辑文件

    vi elasticsearch-0.90.5/config/elasticsearch.yml

    删除cluster.name 前面注释,修改集群名称 

    cluster.name: es_cluster

    删除node.name前注释 ,修改节点名称,不修改的话,系统启动后会生成随即node名称。

    node.name: "elastic_inst2"

    node.master: false    设置该节点为主节点

    分别启动两台服务器的服务后,在192.168.0.2的日志中会看到

     [elastic_inst2] detected_master [elastic_inst1]     日志信息。说明集群连接成功。

    二、安装部署fluentd

    在需要监控分析的hadoop集群节点中安装fluentd,安装步骤很简单

    curl -L http://toolbelt.treasure-data.com/sh/install-redhat.sh | sh

    安装完成后,编辑配置文件

    # vim /etc/td-agent/td-agent.conf

    1. <source>  
    2.   type tail  #### tail方式采集日志  
    3.   path /var/log/hadoop/mapred/hadoop-mapred-tasktracker-node-128-70.log   ### hadoop日志路径  
    4.   pos_file /var/log/td-agent/task-access.log.pos  
    5.   tag task.mapred  
    6.   format /^(?<message>.+(WARN|ERROR).+)$/   #### 收集error 或者warn 日志。  
    7. </source>  
    8.   
    9. <match task.**>  
    10.   host 192.168.0.1  #####  <span style="font-family:Arial,Helvetica,sans-serif">elasticsearch 服务器地址</span>  
    11.   type elasticsearch  
    12.   logstash_format true  
    13.   flush_interval 5s  
    14.   include_tag_key true  
    15.   tag_key mapred  
    16. </match>  


    启动fluentd 服务

    # service td-agent start

    三、安装部署kibana 3

    kibana 3 是使用html 和javascript 开发的web ui前端工具。

    下载 wget http://download.elasticsearch.org/kibana/kibana/kibana-latest.zip

    解压缩 unzip kibana-latest.zip

    安装apache    yum -y install httpd

    cp -r  kibana-latest /var/www/html

    因为我将kibana3 安装在和elasticsearch同一台服务器中,所以不用修改配置文件

    启动apache  service httpd start

    打开浏览器 http://ip/kibana 就可以看到kibana 界面

    初次使用kibana 需要自己定义模块

  • 相关阅读:
    深入了解Element Form表单动态验证问题 转载
    使用 Element UI Select 组件的 value-key 属性,让绑定值可以为一个对象
    vue 中 使用 element-ui 发送请求前 校验全部表单,报警告: [Element Warn][Form]model is required for validate to work!
    vue element InfiniteScroll 无限滚动 入坑记录
    nginx实现跨域访问并支持(GET, POST,PUT,DELETE, OPTIONS)
    正则表达式记录
    element ui图片上传方法
    laravel 跨域解决方案
    vagrant的box哪里下?镜像在哪儿找?教你在vagrant官网下载各种最新.box资源
    Saas系统架构的思考,多租户Saas架构设计分析
  • 原文地址:https://www.cnblogs.com/debmzhang/p/4502920.html
Copyright © 2011-2022 走看看