Logsta sh урегулирования до Mysql, размещенного на AWS RDS. Не подключится - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть MySQL DB, размещенная на AWS RDS. Я запускаю ElasticSearch локально и использую Logsta sh для извлечения данных с сервера MYSQL, который находится на AWS, чтобы затем передать данные sh в мою базу данных ElasticSearch.

Проблема в том, что мой файл logsta sh не устанавливается правильно, я думаю:

input {
    jdbc {
        jdbc_connection_string => "jdbc:mysql://aws.ffffffffff.us-east-1.rds.amazonaws.com:3306/dbName?user=userName&password=pword"
        jdbc_user => "user"
        jdbc_password => "pword"
        schedule => "* * * * *"
        jdbc_validate_connection => true
        jdbc_driver_library => "C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.19.jar"
        jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
        statement => "SELECT * from data-5"
        type => "data-5"
        tags => ["data-5"]
    }

    jdbc {
        jdbc_connection_string => "jdbc:mysql://aws.ffffffffff.us-east-1.rds.amazonaws.com:3306/dbName?user=userName&password=pword"
        jdbc_user => "user"
        jdbc_password => "pword"
        schedule => "* * * * *"
        jdbc_validate_connection => true
        jdbc_driver_library => "C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.19.jar"
        jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
        statement => "SELECT * from data-4"
        type => "data-4"
        tags => ["data-4"]
    }

    jdbc {
        jdbc_connection_string => "jdbc:mysql://aws.ffffffffff.us-east-1.rds.amazonaws.com:3306/dbName?user=userName&password=pword"
        jdbc_user => "user"
    jdbc_password => "pword"
    schedule => "* * * * *"
        jdbc_validate_connection => true
        jdbc_driver_library => "C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.19.jar"
        jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
        statement => "SELECT * from data-3"
        type => "data-3"
        tags => ["data-3"]
    }
}
output {
    stdout { codec => json_lines }

    if "data-5" in [tags] {
        elasticsearch {
            hosts => ["http://127.0.0.1:9200/"]
            index => "data-5"
            document_type => "data-%{+YYYY.MM.dd}"
        }
    }

    if "data-4" in [tags] {
        elasticsearch {
            hosts => ["http://127.0.0.1:9200/"]
            index => "data-4"
            document_type => "data-%{+YYYY.MM.dd}"
        }
    }

    if "data-3" in [tags] {
        elasticsearch {
            hosts => ["http://127.0.0.1:9200/"]
            index => "data-3"
            document_type => "data-%{+YYYY.MM.dd}"
        }
    }
}

Это забавная часть программирования, верно?

В любом случае, локально я нахожусь на windows, как вы можете узнать из пути к файлу библиотеки драйверов jdb c. Мое соединение jdb c с AWS RDS копируется и вставляется с консоли AWS, поэтому опечаток не было.

Мне сказали, что мне нужно только добавить jdb c: mysql: // к URL. Но есть ли что-то, чего мне не хватает в консоли AWS? Мне нужно изменить мой экземпляр RDS?

Кстати, ошибка:

 Unable to connect to database. Tried 1 times 
{:error_message=>"Java::ComMysqlCjJdbcExceptions::CommunicationsException: 
Communications link failure\n\n
The last packet sent successfully to the server was 0 milliseconds ago. 
The driver has not received any packets from the server."
...