簡體   English   中英

Logstash jdbc不發送數據

[英]Logstash jdbc not sending data

我正在嘗試將mysql表中的數據導出到logstash和docker容器中每個進程的jdbc mysql驅動程序進行彈性搜索。 我的問題是(沒有錯誤)他們什么也沒有發送給彈性搜索。

我的Dockerfile:

FROM elastic/logstash:6.3.0

ENV https_proxy=
ENV http_proxy=

COPY ./mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar /tmp/mysql-connector-java-5.1.46.jar
COPY ./logstash.conf /tmp/logstash.conf
COPY ./logstash.yml /usr/share/logstash/config/logstash.yml

RUN logstash-plugin install logstash-input-jdbc

我用以下命令運行它:

docker run -d --rm --name=logstach -v /data/logstash:/home/logstash logstash bin/logstash -f /tmp/logstash.conf

這是我的logstash.conf:

input {
        jdbc {
            jdbc_driver_library => "/tmp/mysql-connector-java-5.1.46.jar"
            jdbc_driver_class => "com.mysql.jdbc.Driver"
            jdbc_connection_string => "jdbc:mysql://0.0.2.22:3306/itop_db"
           jdbc_user => "admin"
            jdbc_password => "password"
            statement => "SELECT * FROM contact”
        }
    }
    output {
         elasticsearch {
            index => "contact"
            document_type => "data"
            document_id => "%{id}"
            hosts => "127.0.0.1:9200"
        }
        stdout { codec => json_lines }
    }

每件事似乎都做得很好,只是它們在彈性搜索中沒有新索引http:// localhost:9200 / _cat / indices?v

這是我運行logstash時的輸出:

logstash執行輸出

logstash錯誤2

"SELECT * FROM contact” < -這可能是問題,我想你從互聯網上復制這種變化? "

除了我的SQL語句中的錯誤外,我還需要指定容器的主機IP(在我的情況下為172.17.0.2),而不是使用127.0.0.1:9200

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM