logstash日志采集工具的安装部署
1.从官网下载安装包,并通过Xftp5上传到机器集群上

下载logstash-6.2.3.tar.gz版本,并通过Xftp5上传到hadoop机器集群的第一个节点node1上的/opt/uploads/目录:

2、解压logstash-6.2.3.tar.gz,并把解压的安装包移动到/opt/app/目录上
tar zxvf logstash-6.2.3.tar.gz


mv logstash-6.2.3 /opt/app/ && cd /opt/app/

3、修改环境变量,编辑/etc/profile,并生效环境变量,输入如下命令:
sudo vi /etc/profile
添加如下内容:
export LOGSTASH_HOME=/opt/app/logstash-6.2.3
export PATH=:$PATH:$LOGSTASH_HOME/bin

使环境变量生效:source /etc/profile
4、配置文件类型
4.1 log-kafka配置文件
输入源为nginx的日志文件,输出源为kafka
input {
    file {
        path => "/var/logs/nginx/*.log"
        discover_interval => 5
        start_position => "beginning"
    }
}
output {
    kafka {
       topic_id => "accesslog"
       codec => plain {
          format => "%{message}"
          charset => "UTF-8"
       }
       bootstrap_servers => "hadoop1:9092,hadoop2:9092,hadoop3:9092"
    }
}
4.2 file-kafka配置文件
输入源为txt文件,输出源为kafka
input {
   file {
      codec => plain {
	    charset => "GB2312"
	  }
	  path => "D:/GameLog/BaseDir/*/*.txt"
	  discover_interval => 30
	  start_position => "beginning"
   }
}
output {
   kafka {
       topic_id => "gamelog"
	   codec => plain {
	      format => "%{message}"
		  charset => "GB2312"
	   }
	   bootstrap_servers => "hadoop1:9092,hadoop2:9092,hadoop3:9092"
   }
}
4.3 log-elasticsearch配置文件
输入源为nginx的日志文件,输出源为elasticsearch
input {
     file {
         type => "flow"
         path => "var/logs/nginx/*.log"
         discover_interval => 5
         start_position => "beginning"
     }
}
output {
    if [type] == "flow" {
        elasticsearch {
             index => "flow-%{+YYYY.MM.dd}"
             hosts => ["hadoop1:9200", "hadoop2:9200", "hadoop3:9200"]
        }
    }
}
4.4 kafka-elasticsearch配置文件
输入源为kafka的accesslog和gamelog主题,并在中间分别针对accesslog和gamelog进行过滤,输出源为elasticsearch。当input里面有多个kafka输入源时,client_id => "es*"必须添加且需要不同,否则会报错javax.management.InstanceAlreadyExistsException: kafka.consumer:type=app-info,id=logstash-0。
input {
  kafka {
     type => "accesslog"
     codec => "plain"
     auto_offset_reset => "earliest"
     client_id => "es1"
     group_id => "es1"
     topics => ["accesslog"]
     bootstrap_servers => "hadoop1:9092,hadoop2:9092,hadoop3:9092"
  }
  kafka {
     type => "gamelog"
     codec => "plain"
     auto_offset_reset => "earliest"
     client_id => "es2"
     group_id => "es2"
     topics => ["gamelog"]
     bootstrap_servers => "hadoop1:9092,hadoop2:9092,hadoop3:9092"
  }
}
filter {
  if [type] == "accesslog" {
     json {
	source => "message"
	remove_field => ["message"]
	target => "access"
     }
  }
  if [type] == "gamelog" {
     mutate {
         split => { "message" => "	" }
         add_field => {
	      "event_type" => "%{message[3]}"
	      "current_map" => "%{message[4]}"
	      "current_x" => "%{message[5]}"
	      "current_y" => "%{message[6]}"
	      "user" => "%{message[7]}"
	      "item" => "%{message[8]}"
	      "item_id" => "%{message[9]}"
	      "current_time" => "%{message[12]}"
         }
         remove_field => ["message"]
     }
  }
}
output {
  if [type] == "accesslog" {
     elasticsearch {
	   index => "accesslog"
	   codec => "json"
	   hosts => ["hadoop1:9200","hadoop2:9200","hadoop3:9200"]
     }
  }
  if [type] == "gamelog" {
     elasticsearch {
	    index => "gamelog"
	    codec => plain {
	         charset => "UTF-16BE"
	    }
	    hosts => ["hadoop1:9200","hadoop2:9200","hadoop3:9200"]
     }
  }
}
注:UTF-16BE为解决中文乱码,而不是UTF-8
5、logstash启动
logstash -f /opt/app/logstash-6.2.3/conf/flow-kafka.conf

6、logstash遇到的问题
1) 在使用logstash采集日志时,如果我们采用file为input类型,采用不能反复对一份文件进行测试!第一次会成功,之后就会失败!
参考资料:
https://blog.csdn.net/lvyuan1234/article/details/78653324
logstash日志采集工具的安装部署的更多相关文章
- 日志采集客户端 filebeat 安装部署
		
linux----------------1. 下载wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.5.1- ...
 - filebeat + logstash 日志采集链路配置
		
1. 概述 一个完整的采集链路的流程如下: 所以要进行采集链路的部署需要以下几个步聚: nginx的配置 filebeat部署 logstash部署 kafka部署 kudu部署 下面将详细说明各个部 ...
 - Hadoop生态圈-flume日志收集工具完全分布式部署
		
Hadoop生态圈-flume日志收集工具完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 目前为止,Hadoop的一个主流应用就是对于大规模web日志的分析和处理 ...
 - docker可视化集中管理工具shipyard安装部署
		
docker可视化集中管理工具shipyard安装部署 Shipyard是在Docker Swarm实现对容器.镜像.docker集群.仓库.节点进行管理的web系统. 1.Shipyard功能 Sh ...
 - 大数据应用日志采集之Scribe 安装配置指南
		
大数据应用日志采集之Scribe 安装配置指南 大数据应用日志采集之Scribe 安装配置指南 1.概述 Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用.它 ...
 - flume 日志采集工具
		
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并 ...
 - 运维工具Ansible安装部署
		
http://blog.51cto.com/liqingbiao/1875921 centos7安装部署ansible https://www.cnblogs.com/bky185392793/p/7 ...
 - 日志采集工具Flume的安装与使用方法
		
安装Flume,参考厦门大学林子雨教程:http://dblab.xmu.edu.cn/blog/1102/ 并完成案例1 1.案例1:Avro source Avro可以发送一个给定的文件给Flum ...
 - Filebeat轻量级日志采集工具
		
Beats 平台集合了多种单一用途数据采集器.这些采集器安装后可用作轻量型代理,从成百上千或成千上万台机器向 Logstash 或 Elasticsearch 发送数据. 一.架构图 此次试验基于前几 ...
 
随机推荐
- ATR102E Stop. Otherwise... [容斥]
			
第一道容斥 \(ans[i] = \sum_{j = 0}^{min(cnt, n / 2)} (-1)^j \tbinom{cnt}{j} \tbinom{n - 2*j + k - 1}{k - ...
 - Nagios 监控 Mysql
			
被监控机的Mysql监控创建专用数据库.专用数据库账户mysql -uroot -pcreate database nagios_monitor;grant select on nagios_moni ...
 - 【BZOJ3925】[ZJOI2015]地震后的幻想乡(动态规划)
			
[BZOJ3925][ZJOI2015]地震后的幻想乡(动态规划) 题面 BZOJ 洛谷 题解 题目里面有一句提示:对于\(n\)个\([0,1]\)之间的随机变量\(x1,x2,...,xn\),第 ...
 - 【LOJ#6072】苹果树(矩阵树定理,折半搜索,容斥)
			
[LOJ#6072]苹果树(矩阵树定理,折半搜索,容斥) 题面 LOJ 题解 emmmm,这题似乎猫讲过一次... 显然先\(meet-in-the-middle\)搜索一下对于每个有用的苹果数量,满 ...
 - 新建WINDOWS服务C#
			
当前作业环境 Windows8.1 | Visual Studio 2013 一. 建立项目,选择"Windows服务"模板 二. 查看生成的项目,结构很像WinForm的项目,其 ...
 - [POI2005]DWU-Double-row
			
有2n个士兵站成两排,他们需要被重新排列,以保证每一排里没有同样高的士兵——这样我们就说,士兵们被合理地安排了位置. 每次操作可以交换两个在同一位置(但不在同一排)的士兵.你的任务是用最少的操作来确保 ...
 - squid详解(正向代理、透明代理、反向代理)
			
squid http://www.squid-cache.org/ --官方网址 squid软件主要有两大应用:1,代理上网(正向代理,透明代理) 2,网站静态页面缓存加速(反向代理) 三种代理类型: ...
 - Navicat Premium 12 破解(MySQL、MariaDB、MongoDB、SQL Server、SQLite)
			
打开注入到安装目录中的exe中 破解提示(还没好,继续看下去) 如果你安装的是中文版,选一下中文版(英文默认即可),获取一下key(名字和组织可以自定义) 打开Navicat,选择注册(第一次打开选注 ...
 - javascript之奇淫技巧
			
最近准备面试,复习一下javascript,整理了一些javascript的奇淫技巧~ //为兼容ie的模拟Object.keys() Object.showkeys = function(obj) ...
 - spring boot集成ehcache 2.x 用于hibernate二级缓存
			
https://www.jianshu.com/p/87b2c309b776 本文将介绍如何在spring boot中集成ehcache作为hibernate的二级缓存.各个框架版本如下 spring ...