Logstash配置文件位于Logstash安装目录下bin/logstash.conf
启动命令:
logstash -f logstash.conf
文件 | 描述 |
---|---|
logstash.yml | 配置Logstash的yml。 |
pipelines.yml | 包含在单个Logstash实例中运行多个管道的框架和说明。 |
jvm.options | 配置Logstash的JVM,使用此文件设置总堆空间的初始值和最大值,此文件中的所有其他设置都被视为专家设置。 |
log4j2.properties | 包含log4j 2库的默认设置。 |
logstash.yml 配置 es 数据推送的地址
logstash.con 文件
input {
file {
path => "/home/test/logstash/ml-25m/movies.csv"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
csv {
separator => ","
columns => ["id","content","genre"]
}
mutate {
split => { "genre" => "|" }
remove_field => ["path", "host","@timestamp","message"]
}
mutate {
split => ["content", "("]
add_field => { "title" => "%{[content][0]}"}
add_field => { "year" => "%{[content][1]}"}
}
mutate {
convert => {
"year" => "integer"
}
1.1 从文件输入
从文件读取数据,如常见的日志文件。文件读取通常要解决几个问题:
No. | 问题 | 解决办法 |
---|---|---|
1 | 文件内容如何只被读取一次? | 即重启Logstash时,从上次读取的位置继续 sincedb |
2 | 如何即时读取到文件的新内容 | 定时检查文件是否有更新 |
3 | 如何发现新文件并进行读取 | 定时检查是否有新文件生成 |
4 | 如何文件发生了归档(rotation)操作,是否影响当前的内容读取 | 不影响,被归档的文件内容可以继续被读取 |