使用 python 脚本编辑 logstash 中的数据

Use python script to edit data in logstash

我有一个 logstash 配置,它从 MySQL 数据库获取数据并将数据发送到 elasticsearch。 这是我的配置:

input {
  jdbc {
    clean_run => true
    jdbc_driver_library => "/usr/share/java/mysql-connector-java.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://IP:PORT/DATABASE"
    jdbc_user => "myuser"
    jdbc_password => "mypassword"
    use_column_value => true
    tracking_column => "field1"
    schedule => "*/2 * * * *"
    statement => "SELECT * FROM test"
  }
}

**need something here before the 'output' section ?**

output {
  elasticsearch {
    hosts => ["http://ELASTICSEARCH_IP:PORT"]
    index => "myindexname"
    document_id => "%{field1}"
  }
}

一切正常,但我需要添加一些值依赖于其他列值的列,因此我尝试编写 Python 脚本来执行此操作。有没有办法在 elasticsearch 中发送数据之前对 add/edit 列执行 python 脚本?我需要 filter 选项吗?

编辑: 例如,我使用 python 脚本来:

我终于用ruby代码搞定了。 感谢小伙伴们的帮助!