Logstash

Support HackTricks

Logstash

Logstash рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓реЙрдЧ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ, рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдпреЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ, рдлрд┐рд▓реНрдЯрд░, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдЪрд░рдгреЛрдВ рд╕реЗ рдмрдиреА рд╣реЛрддреА рд╣реИрдВред рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкрд╣рд▓реВ рддрдм рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ рдЬрдм Logstash рдПрдХ рд╕рдордЭреМрддрд╛ рдХрд┐рдП рдЧрдП рдорд╢реАрди рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред

Pipeline Configuration

рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдлрд╝рд╛рдЗрд▓ /etc/logstash/pipelines.yml рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕реНрдерд╛рдиреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

# Define your pipelines here. Multiple pipelines can be defined.
# For details on multiple pipelines, refer to the documentation:
# https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html

- pipeline.id: main
path.config: "/etc/logstash/conf.d/*.conf"
- pipeline.id: example
path.config: "/usr/share/logstash/pipeline/1*.conf"
pipeline.workers: 6

рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдпрд╣ рдкреНрд░рдХрдЯ рдХрд░рддреА рд╣реИ рдХрд┐ .conf рдлрд╝рд╛рдЗрд▓реЗрдВ, рдЬреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреА рд╣реИрдВ, рдХрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИрдВред рдЬрдм Elasticsearch рдЖрдЙрдЯрдкреБрдЯ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЕрдХреНрд╕рд░ Elasticsearch рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рдЕрдХреНрд╕рд░ Logstash рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рд╡реНрдпрд╛рдкрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣ Elasticsearch рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦ рд╕рдХреЗред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрде рдореЗрдВ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб Logstash рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реА рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

Writable Pipelines рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡реГрджреНрдзрд┐

рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡реГрджреНрдзрд┐ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╣рдЪрд╛рди рдХрд░реЗрдВ рдЬрд┐рд╕рдХреЗ рддрд╣рдд Logstash рд╕реЗрд╡рд╛ рдЪрд▓ рд░рд╣реА рд╣реИ, рдЖрдорддреМрд░ рдкрд░ logstash рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рдорд╛рдирджрдВрдб рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ:

  • рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди .conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓реЗрдЦрди рдкрд╣реБрдВрдЪ рд╣реЛ рдпрд╛

  • /etc/logstash/pipelines.yml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЖрдк рд▓рдХреНрд╖рд┐рдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рд╢рд░реНрдд рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

  • Logstash рд╕реЗрд╡рд╛ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдпрд╛

  • /etc/logstash/logstash.yml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ config.reload.automatic: true рд╕реЗрдЯ рд╣реИ

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рджрд┐рдП рдЬрд╛рдиреЗ рдкрд░, рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдирд╛ рдЬреЛ рдЗрд╕ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

input {
exec {
command => "whoami"
interval => 120
}
}

output {
file {
path => "/tmp/output.log"
codec => rubydebug
}
}

рдпрд╣рд╛рдБ, interval рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЛ рд╕реЗрдХрдВрдб рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, whoami рдХрдорд╛рдВрдб рд╣рд░ 120 рд╕реЗрдХрдВрдб рдореЗрдВ рдЪрд▓рддреА рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ /tmp/output.log рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

/etc/logstash/logstash.yml рдореЗрдВ config.reload.automatic: true рдХреЗ рд╕рд╛рде, Logstash рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирдП рдпрд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреБрдирд░рд╛рд░рдВрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗред рдпрджрд┐ рдХреЛрдИ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдирд╣реАрдВ рд╣реИ, рддреЛ рдореМрдЬреВрджрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕рдВрд╢реЛрдзрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рдзрд╛рди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИред

Last updated