当前位置: 首页 > 知识库问答 >
问题:

Logstash mysql数据库数据未加载到elasticsearch索引

宋经业
2023-03-14

我整晚都在做这个,快把我逼疯了。它应该很简单,但它不起作用。这适用于Oracle,但不适用于MySQL,我创建了类似的数据库。使用-f选项提供给logstash的配置。

input {

 jdbc {
       jdbc_driver_library => "/opt/elk/logstash-5.6.0/lib/mysql-connector-java-5.1.45-bin.jar"
       jdbc_driver_class => "Java::com.mysql.jdbc.Driver"
       jdbc_connection_string => "jdbc:mysql://serverName:3306/dbName?verifyServerCertificate=false&useSSL=true"
       jdbc_user => "userName"
       jdbc_password => "PasswordValue"

    statement => "select user_id, visitor_returning, config_os, visitor_days_since_last from visiting_table where user_id is not null"

    #optional extras I use 
      type => "visit"
      tags => ["awesome", "import"]
 }

}

输出{stdout{codec=

if [type] == "visit"{   
        elasticsearch{
            hosts => "127.0.0.1"
            index => "visitDb"
            document_type => "visit_results"
        }
    }
stdout{}

}

一旦我运行了logstash,它就不会将数据加载到弹性搜索索引中。当我执行以下操作时,我甚至看不到名为visitDb的索引。

curl'localhost:9200/_cat/索引?v'

health status index          uuid                   pri rep docs.count docs.deleted store.size pri.store.size

黄色开. kibana Fg6P7XHSTaonbKEbLcz5A1 1 21 3 56.5kb 56.5kb黄色开orderstotdb obxZ38prTFCG0W-BFTIhgw5 1 60 0 245.4kb 245.4kb y

我不知道MySQL到底是怎么回事。我可以看到控制台日志以json格式检索数据并写入控制台,但该索引既没有反映在ElasticSearch中,也没有显示在Kibana中以创建索引模式。

有人能帮忙吗??

共有1个答案

堵琨
2023-03-14

回答我自己的问题,以防其他人也有同样的问题。弹性搜索拒绝使用大写的索引名,因为我的名称visitDb带有D大写字母,它拒绝创建索引名,见图:)调试不同选项时损失的小时数。

 类似资料:
  • 问题内容: 我知道如何从Java数据库中检索数据(只是表中的文本),以及如何在控制台中显示数据。但我想将其加载到JTable中。有没有使用Vector的良好(现代)方法(教程)? 问题答案: 查看本教程:如何使用表

  • 问题内容: 我想知道是否有人对我即将从事的工作有任何经验。我有几个csv文件,它们的大小都在一个GB左右,我需要将它们加载到oracle数据库中。虽然加载后我的大部分工作都是只读的,但我仍需要不时加载更新。基本上,我只需要一个很好的工具即可一次将多行数据加载到数据库中。 到目前为止,这是我发现的内容: 我可以使用SQL Loader来完成很多工作 我可以使用批量插入命令 某种批量插入。 以某种方式

  • 问题内容: 嗨,我已经成功地将jTable链接到JDBC数据库。但是,我在检索它们时遇到了麻烦。我希望在重新启动程序时出现保存的数据,但是它不起作用。 这是我保存文档的代码! 有什么方法可以检索JDBC数据库中的数据并通过Jtable显示它?我很抱歉提出这样一个简单的问题,但是我是Java新手,我非常需要帮助! 非常感谢! 用于加载数据的代码… 顺便说一句,我的jtable是一个3列的表,其中包含

  • 在本教程中,将学习如何在SQL Server中创建新数据库并执行脚本以加载示例数据库。 首先,如果您还没有示例数据库,则需要下载以下文件: 下载SQL Server示例数据库 第二步,解压缩下载的zip文件,会看到三个SQL脚本文件: - 此文件用于创建包括模式和表的数据库对象。 - 此文件用于将数据插入表中。 - 此文件用于从示例数据库中删除表及其模式。 当想要刷新示例数据库时,它非常有用。 第

  • 问题内容: 我正在尝试使用Java + Hibernate + Spring将CSV文件加载到mySQL数据库中。我在DAO中使用以下查询来帮助我加载到数据库中: 我有一些想法可以从http://dev.mysql.com/doc/refman/5.1/en/load- data.html 使用它,以及如何从hibernate +spring应用程序将csv文件导入到mysql中? 但是我得到了错

  • 如果不需要打开shell执行create index,直接在程序源代码里就能指定数据库索引,是不是很酷? 是的,利用bugu-mongo,你只需在程序里加上个@EnsureIndex注解,即可实现该功能。 以一个简单的新闻系统为例: @Entity @EnsureIndex("{type:1}") public class News implements BuguEntity{ @Id