数据库MySQL

我已经提到这些链接:

  • https://www.elastic.co/blog/logstash-jdbc-input-plugin
  • ElasticSearch how to integrate with Mysql

  • 配置文件

    logstash-sample.conf
                    # Sample Logstash configuration for creating a simple
                    # Beats -> Logstash -> Elasticsearch pipeline.
    
                                                jdbc {
                    jdbc_driver_library => "C:/logstash-6.5.1/logstash-core/lib/jars/x-pack-sql-jdbc-6.5.1.jar"
                    jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
                    jdbc_connection_string => "jdbc:mysql://localhost:3306/test"
                    jdbc_user => "root"
                    jdbc_password => ""
                    statement => "SELECT * FROM persons"
                    jdbc_paging_enabled => "true"
                    jdbc_page_size => "50000"
                    }
    
                    }
    
                    output{
                    elasticsearch { codec => json hosts => ["localhost:9200"] index => "persons" }
                    stdout { codec => rubydebug }
                    }
    

    数据库名称测试

    数据表人员

    索引人

    日志
                C:\logstash-6.5.1\bin>logstash -f logstash-sample.conf
                Sending Logstash logs to C:/logstash-6.5.1/logs which is now configured via log4j2.properties
                [2018-11-30T18:10:52,868][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
                [2018-11-30T18:10:52,883][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"6.5.1"}
                [2018-11-30T18:10:53,550][INFO ][logstash.config.source.local.configpathloader] No config files found in path {:path=>"C:/logstash-6.5.1/bin/logstash-sample.conf"}
                [2018-11-30T18:10:53,559][ERROR][logstash.config.sourceloader] No configuration found in the configured sources.
                [2018-11-30T18:10:53,894][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
    

    请求获取

    http://localhost:9200/persons/_search/?pretty
                {
                    "error": {
                        "root_cause": [
                            {
                                "type": "index_not_found_exception",
                                "reason": "no such index",
                                "resource.type": "index_or_alias",
                                "resource.id": "persons",
                                "index_uuid": "_na_",
                                "index": "persons"
                            }
                        ],
                        "type": "index_not_found_exception",
                        "reason": "no such index",
                        "resource.type": "index_or_alias",
                        "resource.id": "persons",
                        "index_uuid": "_na_",
                        "index": "persons"
                    },
                    "status": 404
                }
    

    任何建议都是最欢迎的

    最佳答案

    好的,因为您位于logstash/bin文件夹中,并且logstash-sample.conf文件位于logstash/config文件夹中,所以需要像这样运行logstash:

    C:\logstash-6.5.1\bin> logstash -f ../config/logstash-sample.conf
                                            ^
                                            |
                                   add this relative path
    

    07-24 18:25
    查看更多