Add new calculated field when processing file in logstash


I have the following configuration in Logstash to read data from a CSV file that I pass every day. I have it working correctly. My doubt is that I need to add a new field based on a mathematical function against an already created field.
The logstash configuration file is as follows:

input {
    file {
        path => "/etc/logstash/conf.d/*.csv"
        start_position => "beginning"
        sincedb_path => "/dev/null"

filter {
    csv {
        skip_header => "true"
        separator => ","
        columns => [
        remove_field => ["message"]
    date {
        match => [ "date", "yyyy-MM-dd HH:mm:ss"]
        target => ["@timestamp"]
    date {
        match => [ "last_login_date", "yyyy-MM-dd HH:mm:ss"]
        target => ["last_login_date"]
    mutate {convert => ["assigned_quota", "integer"]}
    mutate {convert => ["used_quota", "integer"]}
    mutate {convert => ["number_files", "integer"]}
    mutate {convert => ["number_shares", "integer"]}
    mutate {convert => ["number_uploads", "integer"]}
    mutate {convert => ["number_downloads", "integer"]}

output {
   elasticsearch {
        hosts => ["localhost:9200"]
        index => "csv-%{+YYYY.MM.dd}"
   stdout {}

What I want is to create a new field that is the result of the following mathematical function:

new_field = assigned_quota /1024

How can I do this?

Thank you very much in advance.

I would do it using a ruby filter...

ruby { code => 'event.set("newfield", event.get("assigned_quota")/1024)' }

Thanks for the reply.

And I think that this part of ruby code I have tu put at the finished of filter code?

Yes, the ruby filter would go at the end of the filter section.

Thanks!!! This help me.