Logstash 7.9.1 学习
个人学习笔记,谢绝转载!!!
原文:https://www.cnblogs.com/wshenjin/p/13666614.html
安装和配置
安装
[root@ ~]# wget https://artifacts.elastic.co/downloads/logstash/logstash-7.9.1.rpm
[root@ ~]# rpm -ivh logstash-5.1.1.rpm
配置
# 调整jvm使用内存
[root@ ~]# vim /etc/logstash/jvm.options
-Xms128m
-Xmx256m
# 修改logstash基本配置
[root@ ~]# vim /etc/logstash/logstash.yml
log.level: warn
pipeline:
workers: 4
batch:
size: 125
delay: 5
path.config: /etc/logstash/conf.d
path.data: /data/elk/logstash
path.logs: /var/log/logstash
http.port: 9600
http.host: "0.0.0.0"
hello world
做个简单的测试
[root@ ~]# logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
hello world
{
"@version" => "1",
"message" => "hello world ",
"@timestamp" => 2020-09-12T07:23:44.025Z,
"host" => "localhost"
}
以上的例子从标准输入中获取数据,再从标准输出中输出。
在输出的结果中:
-
"@timestamp"标记事件发生的时间点,
-
"host"标记事件发生的主机
-
"type"标记事件的唯一类型。
Es 统一采用UTC时间存成长整型数据,会比北京时间晚八个小时。
命令行参数:
- -e:直接执行后接的配置字符串,可以为空。空字符串''就默认是'input{stdin{}}output{stdout{codec=>rubydebug}}'。
- -f:后接配置文件,可以将复杂的配置写到配置文件中。
- -t:测试,用来测试后接的配置文件语法是否正确。写法:logstash -t -f conf_file_path
- -l:后接日志文件,默认日志为配置文件logstash.yml中指定的日志文件。
Logstash 数据类型
array
数组可以是单个或者多个字符串值。
path => [ "/var/log/messages", "/var/log/*.log" ]
path => "/data/mysql/mysql.log"
如果指定了多次,追加数组。此实例path数组包含三个字符串元素。
boolean
布尔值必须是TRUE或者false。true和false不能有引号。
ssl_enable => true
bytes
指定字节单位。支持的单位有SI (k M G T P E Z Y) 和 Binary (Ki Mi Gi Ti Pi Ei Zi Yi)。Binary单位基于1024,SI单位基于1000。不区分大小写和忽略值与单位之间的空格。如果没有指定单位,默认是byte。
my_bytes => "1113" # 1113 bytes
my_bytes => "10MiB" # 10485760 bytes
my_bytes => "100kib" # 102400 bytes
my_bytes => "180 mb" # 180000000 bytes
Codec
logstash编码名称用来表示数据编码。用于input和output段。便于数据的处理。如果input和output使用合适的编码,就无需单独的filter对数据进行处理。
codec => "json"
hash
键值对,注意多个键值对用空格分隔,而不是逗号。
match => {
"field1" => "value1"
"field2" => "value2"
... }
number
必须是有效的数值,浮点数或者整数。
port => 33
password
一个单独的字符串。
my_password => "password"
path
一个代表有效的操作系统路径。
my_path => "/tmp/logstash"
string
name => "Hello world"
name => 'It\'s a beautiful day'
条件判断
- 相等: ==, !=, <, >, <=, >=
- 正则: =~(匹配正则), !~(不匹配正则)
- 包含: in(包含), not in(不包含)
- 布尔操作: and(与), or(或), nand(非与), xor(非或)
- 一元运算符:!(取反) ,()(复合表达式), !()(对复合表达式结果取反)
分类:
ESstack
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能