我使用ejabberd服务器进行聊天交流。我希望能够动态地搜索我的存档邮件。现在我使用的是elasticsearch和logstash,但它只能在mysql数据库上运行。这是我的logstash配置
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/ejabberd"
jdbc_user => "ejabber"
jdbc_password => "password"
jdbc_driver_library => "mysql-connector-java-5.1.39-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
statement => "SELECT * FROM ejabberd.archive"
}
}
output {
# stdout { codec => json_lines }
elasticsearch {
index => "muc_room"
hosts => ["localhost:9200"]
}
}我需要使用mnesia,它是ejabber的默认基础。如何使用logstash连接mnesia,或者使用另一种方法将搜索engione包含到mnesia中。谢谢
发布于 2016-10-07 22:14:56
我会将数据直接从ejabberd发送到elasticsearch。这样,如果您更改了存储引擎,您就不需要有两个单独的东西需要更新。有an Erlang package可以和Elasticsearch对话。它的文档不是很好,但无论如何它是一个非常简单的界面。
https://stackoverflow.com/questions/39901284
复制相似问题