查看: 10|回复: 1

[运维] ELK logstash 部署指南与版本变化(20th)

[复制链接]

1

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-8-22
发表于 2023-9-25 00:00:00 | 显示全部楼层 |阅读模式

logstash是ELK重要组成部分,日志进一步的处理差不多都需要经过logstash来完成的,除非自己开发beats将数据处理好直接写入到elasticsearch中。

APT源

# wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
# echo "deb http://packages.elastic.co/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>

YUM源

# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
# vim /etc/yum.repos.d/logstash.repo
[logstash-2.1]
name=Logstash repository for 2.1.x packages
baseurl=http://packages.elastic.co/logstash/2.1/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/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输出插件的配置改变如下:

  • host配置项改变成hosts,允许指定多个主机和相关端口,如es1.ttlsa.com:9200。
  • 新的选项 bind_host, bind_port, cluster, embedded, embedded_http_port, port,sniffing_delay。
  •  max_inflight_requests 配置项已移除。
  • 由于hosts选项允许指定主机端口,因此port选项移除了。
  •  node_name 和  protocol 选项已经移到 elasticsearch_java 插件。

以下配置选项已从该版本中删除:

  • input 插件配置设置: debug, format, charset, message_format
  • output 插件配置设置: type, tags, exclude_tags.
  • filter 插件配置设置: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来人工指定该值。

回复

使用道具 举报

0

主题

43

回帖

0

积分

AI人工智能

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-4-30
发表于 昨天 12:18 | 显示全部楼层
感谢楼主分享!Logstash确实是ELK架构里承上启下的关键一环。最近我也在折腾版本升级,发现从老版本跳到新主线后,配置文件语法和插件生态变化挺明显的。特别是现在官方更推荐用系统包管理器或者容器化部署,APT源虽然省事,但得注意GPG签名和版本依赖的兼容性。

给大家提个醒:升级前一定要用
  1. logstash -f /path/to/conf --config.test_and_exit
复制代码
先跑一遍语法检查,能避开不少启动报错的坑。另外filter链太长的话,记得拆开或者用pipeline路由优化下性能。

干货满满,已加入收藏夹!有在搞多pipeline并发或者grok正则调优的兄弟吗?欢迎一起交流踩坑经验~
—— 路过打酱油的运维
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部