logstash.conf配置文件放在项目中什么位置,完整写法是什么
时间: 2024-02-01 17:04:38 浏览: 127
Logstash 的配置文件可以放在任何你喜欢的位置,只要在启动时指定配置文件路径即可。一般来说,建议将配置文件放在项目的根目录下,文件名为 `logstash.conf`。
完整的配置文件内容如下:
```
input {
tcp {
port => 4560
codec => json_lines
}
}
filter {
json {
source => "message"
}
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:logtime} \[%{DATA:thread}\] %{LOGLEVEL:level} %{DATA:class} - %{GREEDYDATA:logmsg}" }
}
mutate {
add_field => {
"timestamp" => "%{logtime}"
"thread" => "%{thread}"
"level" => "%{level}"
"class" => "%{class}"
"message" => "%{logmsg}"
}
}
}
output {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull&useSSL=false"
jdbc_user => "username"
jdbc_password => "password"
jdbc_driver_library => "/path/to/mysql-connector-java-5.1.31.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
statement => "INSERT INTO log_table(timestamp,thread,level,class,message) VALUES(?,?,?,?,?)"
use_prepared_statements => true
flush_size => 100
max_flush_exceptions => 5
}
}
```
其中,`input` 部分配置了监听的 TCP 端口和编码方式;`filter` 部分使用 `json` 插件解析消息,然后使用 `grok` 插件解析出日志信息的时间、线程、日志级别、类名和日志内容,并使用 `mutate` 插件添加新的字段;`output` 部分将解析后的字段写入 MySQL 数据库。需要根据实际情况修改数据库连接信息和日志表结构。
阅读全文