mysql - 将 MYSQL 与 logstash 连接时出错
问题描述
我在启动logstash时遇到了这个错误。我已将 MYSQL db 配置为 logstash 中的输入。
Pipeline_id:main
Plugin: <LogStash::Inputs::Jdbc jdbc_user=>"admin", jdbc_password=><password>, statement=>"SELECT * from table", jdbc_driver_library=>"/usr/s$
Error: Permission denied - /.logstash_jdbc_last_run
Exception: Errno::EACCES
Stack: org/jruby/RubyIO.java:1237:in `sysopen'
org/jruby/RubyIO.java:3800:in `write'
解决方案
last_run_metadata_path 选项默认为“#{ENV['HOME']}/.logstash_jdbc_last_run”,它看起来像是 /.logstash_jdbc_last_run。您获得 EACCES 是因为您没有对根目录的写入权限。
要修复它,请将 last_run_metadata_path 选项设置为您具有写入权限的目录中的文件。如果您的输入配置以
input {
jdbc {
jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
你可以在那里添加一个额外的行
last_run_metadata_path => "/tmp/.logstash_jdbc_last_run"
使用一些你知道你可以写入并且没有其他人会使用的路径。
推荐阅读
- javascript - 如何使用 Algolia Search 在页面加载时将默认搜索值设置为搜索框?
- flutter - 在 tchat 应用 Flutter 中拖动 List 显示消息发送时间
- android - LoadAdError(代码:3,域:com.google.android.gms.ads,消息:没有广告配置...尝试在发布模式下加载 BannerAd 时
- sql - 在没有递归函数的sql server中生成分层json
- python - 如何从此元组列表中删除元素
- spring-boot - 为什么在使用 axon 框架的 saga 时 'token_entry' 会不断更新?
- node.js - 如何在 React 中根据状态重定向
- amazon-web-services - 如何从 aAexa 技能中访问 APIGateway http 端点?
- nuget - NuGet 构建未添加 RepositoryUrl 属性
- java - Java - 如何指定 Firestore 检索字段名称的顺序?