go4321 发表于 2015-9-16 12:32:28

fluentd结合kibana、elasticsearch实时搜索分析hadoop集群日志<转>

  转自 http://blog.iyunv.com/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压缩包安装部署的话,先下载压缩包
  # wgethttps://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的日志中会看到
   detected_master    日志信息。说明集群连接成功。
  
  二、安装部署fluentd
  在需要监控分析的hadoop集群节点中安装fluentd,安装步骤很简单
  

curl -L http://toolbelt.treasure-data.com/sh/install-redhat.sh | sh
  
  安装完成后,编辑配置文件
  # vim /etc/td-agent/td-agent.conf
  






view plaincopyprint?



[*]<source>
[*]type tail#### tail方式采集日志
[*]path /var/log/hadoop/mapred/hadoop-mapred-tasktracker-node-128-70.log   ### hadoop日志路径
[*]pos_file /var/log/td-agent/task-access.log.pos
[*]tag task.mapred
[*]format /^(?<message>.+(WARN|ERROR).+)$/   #### 收集error 或者warn 日志。
[*]</source>
[*]
[*]<match task.**>
[*]host 192.168.0.1#####<span style="font-family:Arial,Helvetica,sans-serif">elasticsearch 服务器地址</span>
[*]type elasticsearch
[*]logstash_format true
[*]flush_interval 5s
[*]include_tag_key true
[*]tag_key mapred
[*]</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 -rkibana-latest /var/www/html
  因为我将kibana3 安装在和elasticsearch同一台服务器中,所以不用修改配置文件
  启动apacheservice httpd start
  打开浏览器 http://ip/kibana 就可以看到kibana 界面
  初次使用kibana 需要自己定义模块
页: [1]
查看完整版本: fluentd结合kibana、elasticsearch实时搜索分析hadoop集群日志<转>