0
点赞
收藏
分享

微信扫一扫

Logstatsh数据同步-Mysql同步ES

1kesou 2022-07-18 阅读 102


1.获取Logstash模板

GET    http://10.0.0.219:9200/_template/logstash

Logstatsh数据同步-Mysql同步ES_ruby



2.在sync目录下创建logstash-ik.json,将logstash模板修改后粘贴其中。
修改前:

{
"logstash": {
"order": 0,
"version": 60001,
"index_patterns": [
"logstash-*"
],
"settings": {
"index": {
"refresh_interval": "5s"
}
},
"mappings": {
"_default_": {
"dynamic_templates": [
{
"message_field": {
"path_match": "message",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"norms": false
}
}
},
{
"string_fields": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"norms": false,
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
],
"properties": {
"@timestamp": {
"type": "date"
},
"@version": {
"type": "keyword"
},
"geoip": {
"dynamic": true,
"properties": {
"ip": {
"type": "ip"
},
"location": {
"type": "geo_point"
},
"latitude": {
"type": "half_float"
},
"longitude": {
"type": "half_float"
}
}
}
}
}
},
"aliases": {}
}
}

修改后:

{
"order": 1,
"version": 1,
"index_patterns": [
"*"
],
"settings": {
"index": {
"refresh_interval": "60s",
"number_of_shards": 3,
"number_of_replicas": 0
}
},
"mappings": {
"_default_": {
"dynamic_templates": [
{
"message_field": {
"path_match": "message",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"norms": false
}
}
},
{
"string_fields": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "text",
"norms": false,
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
],
"properties": {
"@timestamp": {
"type": "date"
},
"@version": {
"type": "keyword"
},
"compname": {
"type": "text",
"analyzer": "ik_smart",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"compnewname": {
"type": "text",
"analyzer": "ik_smart",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"id": {
"type": "long"
},
"legalpersonname": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"regcapital": {
"type": "long"
}
}
}
},
"aliases": {}
}

 

3.修改配置文件logstash-db-sync.conf 

input {
stdin{
}
jdbc {
# 数据库
jdbc_connection_string => "jdbc:mysql://XXXX:XXXX/XXXX"
jdbc_user => "XXXXX"
jdbc_password => "XXXXXX"
# mysql驱动解压的位置
jdbc_driver_library => "/database/chentong/opt/logstash-6.5.3/config/mysql-connector-java-8.0.12.jar"
# mysql驱动类
jdbc_driver_class => "com.mysql.jdbc.Driver"
#分页查询
jdbc_paging_enabled => true
jdbc_page_size => 50000
#可以使用sql文件的方式
#statement_filepath => ""
#要同步的表
statement => "SQL语句"
schedule => "* * * * *"
#索引设置时区
jdbc_default_timezone => "Asia/Shanghai"
}
}

filter {
ruby {
code => "
event.set('regcapital', event.get('regcapital').to_f);
"
}
}


output {
elasticsearch {
hosts => ["es节点"]
index => "索引名称"
template_name => "sy_comp_basic"
template_overwrite => true
manage_template => true
template => "/database/chentong/opt/logstash-6.5.3/templates/sy_comp_basic_info.json"
document_id => "%{id}"
}
stdout { codec => rubydebug }
}

 

举报

相关推荐

0 条评论