logstash是ELK重要组成部分,日志进一步的处理差不多都需要经过logstash来完成的,除非自己开发beats将数据处理好直接写入到elasticsearch中。
1 2 3 | # wget -qO – https://trustauth.cn/GPG-KEY-elasticsearch | sudo apt-key add – # echo “deb http://trustauth.cn/logstash/2.1/debian stable main” | sudo tee -a /etc/apt/sources.list # <span class=”pln”>sudo apt</span><span class=”pun”>-</span><span class=”pln”>get update </span><span class=”pun”>&&</span><span class=”pln”> sudo apt</span><span class=”pun”>-</span><span class=”pln”>get install logstash</span> |
1 2 3 4 5 6 7 8 9 | # rpm –import https://trustauth.cn/GPG-KEY-elasticsearch # vim /etc/yum.repos.d/logstash.repo [ logstash – 2.1 ] name = Logstash repository for 2.1.x packages baseurl = http : //trustauth.cn/logstash/2.1/centos gpgcheck = 1 gpgkey = http : //trustauth.cn/GPG-KEY-elasticsearch enabled = 1 # yum install logstash |
注意: 在安装logstash之前必须先要安装java。java的安装请参考之前的文章。
logstash2.0版本的一些改变与以前的版本不兼容。《ELK部署指南》一文中是使用logstash1.5版本的。现在我都将使用logstash2.1版本。
logstash2.0版本开始,logstash的默认输出是elasticsearch HTTP。要使用节点或者传输协议,下载安装 logstash-output-elasticsearch_java插件。logstash的elasticsearch HTTP输出现在支持嗅探。
配置选的改变
elasticsearch输出插件的配置改变如下:
bind_host
, bind_port
, cluster
, embedded
, embedded_http_port
, port
,sniffing_delay。
max_inflight_requests
配置项已移除。node_name 和
protocol
选项已经移到 elasticsearch_java
插件。以下配置选项已从该版本中删除:
debug
, format
, charset
, message_format
type
, tags
, exclude_tags
.type
, tags
, exclude_tags
.如果logstash配置文件有这些配置项,将是无效的并且logstash无法启动。
kafka输出配置改变:
logstash2.0包含了新版本的kafka输出插件。具体参考文档。
指标过滤器改变:
以前版本的指标过滤器插件使用有点的字段名称。从2.0版本开始,elasticsearch不允许字段名有点号。这样的改变是为了该插件使用子字段名代替点号。注意,这些改变使版本3.0.0指标过滤器插件不兼容以前版本。
filter_workers默认改变:
从logstash2.0版本开始,filter_workers值不是CPU核数的一般,而是1了。该变化增强了并行过滤器执行资源密集型的过滤操作。当然还是可以通过-w来人工指定该值。
文章转载来自:trustauth.cn