如何通过logstash 把json log 同步给elasticsearch
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
file {
path => "Z:/logs/rade_2022_05_24.log"
start_position => "beginning"
sincedb_path => "Z:/logs/sincedb"
codec => json {
charset => "GB2312"
}
}
}
output {
elasticsearch {
action => "index"
hosts => ["https://17.31.26.66:9200/"]
index => "orderdb"
workers => 1
user => "elastic"
password => "ZDO8ohu43oUdu"
cacert => "D:\soft\elasticsearch-8.2.0\aa.cer"
ssl => true
ssl_certificate_verification => false
}
stdout {
codec => rubydebug
#codec => json_lines
}
}
Logstash如何读取logs 到mysql
1. 先安装logstash-output-jdbc
.\logstash-plugin.bat install logstash-output-jdbc
2. 下载mysql-connector-java-6.0.6-bin.jar 复制到/vendor/jar/jdbc下面
https://downloads.mysql.com/archives/c-j/
config如下
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
file {
path => "Z:/erplogs/2022_05_24.log"
start_position => "beginning"
sincedb_path => "Z:/erplogs_sincedb/mysql_sincedb"
codec => json {
charset => "GB2312"
}
}
}
filter {
#删除空值
if(![id]){
drop{}
}
grok {
remove_field => ["message"]
}
}
output {
jdbc {
driver_jar_path => "D:/soft/logstash-8.2.0/vendor/jar/mysql-connector-java-5.1.49.jar"
driver_class => "com.mysql.jdbc.Driver"
connection_string => "jdbc:mysql://5.22.145.87:3306/test_db"
username => "root"
password =>"3234"
statement => [ "INSERT INTO test(id,name) values(?,?)", "[id]", "[name]" ]
stdout {
#codec => rubydebug
codec => json_lines
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2013-06-03 Ninject 在 Winform、 Asp.net MVC中结合EntityFramework的使用( 注入同一个DbContext的使用方法) - 原创