เจฎเฉเจ เจฆเฉเจธเจค เจเจเจธเจเฉเจเจ เจ
เจคเฉ ELK (เจธเจผเฉเจฐเฉเจเจค
ELK เจธเจเฉเจ เจตเจฟเฉฑเจ เจฒเฉเจเจธเจเฉเจธเจผ เจฆเฉ เจตเจฐเจคเฉเจ เจฒเฉเจเจธ เจจเฉเฉฐ เจธเจฎเจเจฆเจพเจฐเฉ เจจเจพเจฒ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจจ เจ
เจคเฉ เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจเจฒเจพเจธเจเจฟเจ เจตเจฟเฉฑเจ เจชเจฒเฉเจธเจฎเฉเจเจ เจฒเจ เจคเจฟเจเจฐ เจเจฐเจจ เจฒเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, เจเจฟเจธ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ เจเจฟเจฌเจพเจจเจพ เจตเจฟเฉฑเจ เจตเฉฑเจ-เจตเฉฑเจ เจตเจฟเจเจผเฉเจ
เจฒเจพเจเจเจผเฉเจธเจผเจจเจพเจ เจจเฉเฉฐ เจฌเจฃเจพเจเจฃเจพ เจธเฉเจตเจฟเจงเจพเจเจจเจ เจนเฉเฅค
เจธเฉเจเจฟเฉฐเจ
เจฆเฉ เจชเฉเจพเจตเจพเจ เจฆเฉ เจธเจผเจพเจฎเจฒ เจนเจจ:
- OpenJDK เจชเฉเจเฉเจ เจจเฉเฉฐ เจเฉฐเจธเจเจพเจฒ เจ เจคเฉ เจธเฉฐเจฐเจเจฟเจค เจเจฐเจจเจพเฅค
- เจฒเฉเจเจธเจเฉเจธเจผ เจชเฉเจเฉเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจ เจคเฉ เจธเฉฐเจฐเจเจฟเจค เจเจฐเจจเจพเฅค
OpenJDK เจชเฉเจเฉเจ เจจเฉเฉฐ เจเฉฐเจธเจเจพเจฒ เจ เจคเฉ เจธเฉฐเจฐเจเจฟเจค เจเจฐเจจเจพ
OpenJDK เจชเฉเจเฉเจ เจจเฉเฉฐ เจเฉฑเจ เจเจพเจธ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเฉฑเจ เจกเจพเจเจจเจฒเฉเจก เจ เจคเฉ เจ เจจเจชเฉเจ เจเฉเจคเจพ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค เจซเจฟเจฐ เจเจธ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจฆเจพ เจฎเจพเจฐเจ เจตเจฟเฉฐเจกเฉเจเจผ เจเจชเจฐเฉเจเจฟเฉฐเจ เจธเจฟเจธเจเจฎ เจฆเฉ $env:Path เจ เจคเฉ $env:JAVA_HOME เจตเฉเจฐเฉเจเจฌเจฒ เจตเจฟเฉฑเจ เจฆเจพเจเจฒ เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ:
เจเจ เจเจพเจตเจพ เจธเฉฐเจธเจเจฐเจฃ เจฆเฉ เจเจพเจเจ เจเจฐเฉเจ:
PS C:> java -version
openjdk version "13.0.1" 2019-10-15
OpenJDK Runtime Environment (build 13.0.1+9)
OpenJDK 64-Bit Server VM (build 13.0.1+9, mixed mode, sharing)
เจฒเฉเจเจธเจเฉเจธเจผ เจชเฉเจเฉเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจ เจคเฉ เจธเฉฐเจฐเจเจฟเจค เจเจฐเจจเจพ
เจฒเฉเจเจธเจเฉเจธเจผ เจกเจฟเจธเจเจฐเฉเจฌเจฟเจเจธเจผเจจ เจจเจพเจฒ เจเจฐเจเจพเจเจต เจซเจพเจเจฒ เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐเฉ C:Program Files
เจเจน เจเจธเจฆเฉ เจเฉเจฎเจค เจจเจนเฉเจ เจนเฉ, เจฒเฉเจเจธเจเฉเจธเจผ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจคเฉเจ เจเจจเจเจพเจฐ เจเจฐ เจฆเฉเจตเฉเจเจพเฅค เจซเจฟเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจฆเจพเจเจฒ เจนเฉเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ jvm.options
Java เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฒเจ RAM เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฒเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจซเจฟเจเจธเฅค เจฎเฉเจ เจธเจฐเจตเจฐ เจฆเฉ เจ
เฉฑเจงเฉ เจฐเฉเจฎ เจจเฉเฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฆเฉ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจเจฐเจฆเจพ เจนเจพเจเฅค เจเฉเจเจฐ เจเจธ เจตเจฟเฉฑเจ เจฌเฉเจฐเจก เจเฉฑเจคเฉ 16 GB RAM เจนเฉ, เจคเจพเจ เจกเจฟเจซเฉเจฒเจ เจเฉเฉฐเจเฉเจเจ เจนเจจ:
-Xms1g
-Xmx1g
เจจเจพเจฒ เจฌเจฆเจฒเจฟเจ เจเจพเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ:
-Xms8g
-Xmx8g
เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจฒเจพเจเจจ เจจเฉเฉฐ เจเจฟเฉฑเจชเจฃเฉ เจเจฐเจจ เจฆเฉ เจธเจฒเจพเจน เจฆเจฟเฉฑเจคเฉ เจเจพเจเจฆเฉ เจนเฉ -XX:+UseConcMarkSweepGC
. เจเจธ เจฌเจพเจฐเฉ เจนเฉเจฐ
input {
stdin{}
}
filter {
}
output {
stdout {
codec => "rubydebug"
}
}
เจเจธ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจจเจพเจฒ, เจฒเฉเจเจธเจเฉเจธเจผ เจเฉฐเจธเฉเจฒ เจคเฉเจ เจกเฉเจเจพ เจชเฉเฉเจนเจฆเจพ เจนเฉ, เจเจธเจจเฉเฉฐ เจเฉฑเจ เจเจพเจฒเฉ เจซเจฟเจฒเจเจฐ เจฆเฉเจเจฐเจพ เจชเจพเจธ เจเจฐเจฆเจพ เจนเฉ, เจ เจคเฉ เจเจธเจจเฉเฉฐ เจตเจพเจชเจธ เจเฉฐเจธเฉเจฒ เจตเจฟเฉฑเจ เจเจเจเจชเฉเฉฑเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจเจธ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจจเจพเจฒ เจฒเฉเจเจธเจเฉเจธเจผ เจฆเฉ เจเจพเจฐเจเจเฉเจธเจผเจฒเจคเจพ เจฆเฉ เจเจพเจเจ เจเฉเจคเฉ เจเจพเจตเฉเจเฉเฅค เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจเจ เจเจธเจจเฉเฉฐ เจเฉฐเจเจฐเจเจเจเจฟเจต เจฎเฉเจก เจตเจฟเฉฑเจ เจเจฒเจพเจ:
PS C:...bin> .logstash.bat -f .logstash.conf
...
[2019-12-19T11:15:27,769][INFO ][logstash.javapipeline ][main] Pipeline started {"pipeline.id"=>"main"}
The stdin plugin is now waiting for input:
[2019-12-19T11:15:27,847][INFO ][logstash.agent ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[2019-12-19T11:15:28,113][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
Logstash เจชเฉเจฐเจ 9600 'เจคเฉ เจธเจซเจฒเจคเจพเจชเฉเจฐเจตเจ เจฒเจพเจเจ เจนเฉเจเจเฅค
เจ
เฉฐเจคเจฎ เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจชเฉเจพเจ
: เจฒเฉเจเจธเจเฉเจธเจผ เจจเฉเฉฐ เจตเจฟเฉฐเจกเฉเจเจผ เจธเฉเจตเจพ เจตเจเฉเจ เจฒเจพเจเจ เจเจฐเฉเฅค เจเจน เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจชเฉเจเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ
PS C:...bin> .nssm.exe install logstash
Service "logstash" installed successfully!
เจจเฉเจเจธ เจธเจนเจฟเจฃเจธเจผเฉเจฒเจคเจพ
เจธเจฐเฉเจค เจธเจฐเจตเจฐ เจคเฉเจ เจเฉเจฐเจพเจเจธเจซเจฐ เจเฉเจคเฉ เจเจพเจฃ 'เจคเฉ เจฒเฉเจเจธ เจฆเฉ เจธเฉเจฐเฉฑเจเจฟเจ เจจเฉเฉฐ เจธเจฅเจพเจ เจเจคเจพเจฐเจพเจ เจตเจฟเจงเฉ เจฆเฉเจเจฐเจพ เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจ เจเจพเจเจฆเจพ เจนเฉเฅค
เจเจน เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ
เจฒเฉเจ เจชเฉเจฐเฉเจธเฉเจธเจฟเฉฐเจ เจฆเฉเจฐเจพเจจ เจเจคเจพเจฐเจพเจ เจฆเจพ เจเจพเจเจพ เจนเฉ: เจเจจเจชเฉเจ โ เจเจคเจพเจฐ โ เจซเจฟเจฒเจเจฐ + เจเจเจเจชเฉเฉฑเจเฅค
เจเจจเจชเฉเจ เจชเจฒเฉฑเจเจเจจ เจเฉฑเจ เจฒเฉเจ เจธเจฐเฉเจค เจคเฉเจ เจกเฉเจเจพ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเจพ เจนเฉ, เจเจธเจจเฉเฉฐ เจเฉฑเจ เจเจคเจพเจฐ เจตเจฟเฉฑเจ เจฒเจฟเจเจฆเจพ เจนเฉ, เจ เจคเฉ เจชเฉเจธเจผเจเฉ เจเจฐเจฆเจพ เจนเฉ เจเจฟ เจกเฉเจเจพ เจธเจฐเฉเจค เจจเฉเฉฐ เจชเฉเจฐเจพเจชเจค เจนเฉ เจเจฟเจ เจนเฉเฅค
เจเจคเจพเจฐ เจคเฉเจ เจธเฉเจจเฉเจนเฉ เจฒเฉเจเจธเจเฉเจธเจผ เจฆเฉเจเจฐเจพ เจธเฉฐเจธเจพเจงเจฟเจค เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเจจ, เจซเจฟเจฒเจเจฐ เจ เจคเฉ เจเจเจเจชเฉเฉฑเจ เจชเจฒเฉฑเจเจเจจ เจฆเฉเจเจฐเจพ เจชเจพเจธ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเจจเฅค เจเจฆเฉเจ เจเจเจเจชเฉเฉฑเจ เจคเฉเจ เจชเฉเจธเจผเจเฉ เจชเฉเจฐเจพเจชเจค เจนเฉเฉฐเจฆเฉ เจนเฉ เจเจฟ เจฒเฉเจ เจญเฉเจเจฟเจ เจเจฟเจ เจนเฉ, เจฒเฉเจเจธเจเฉเจธเจผ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเฉเจคเฉ เจฒเฉเจ เจจเฉเฉฐ เจเจคเจพเจฐ เจคเฉเจ เจนเจเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจเฉเจเจฐ เจฒเฉเจเจธเจเฉเจธเจผ เจฌเฉฐเจฆ เจนเฉ เจเจพเจเจฆเจพ เจนเฉ, เจคเจพเจ เจธเจพเจฐเฉ เจ เจฃเจชเฉเจฐเฉเจธเฉเจธ เจเฉเจคเฉ เจธเฉเจจเฉเจนเฉ เจ เจคเฉ เจธเฉเจจเฉเจนเฉ เจเจฟเจจเฉเจนเจพเจ เจฒเจ เจเฉเจ เจชเฉเจธเจผเจเฉ เจชเฉเจฐเจพเจชเจค เจจเจนเฉเจ เจนเฉเจ เจนเฉ, เจเจคเจพเจฐ เจตเจฟเฉฑเจ เจฐเจนเจฟเฉฐเจฆเฉ เจนเจจ, เจ เจคเฉ เจฒเฉเจเจธเจเฉเจธเจผ เจ เจเจฒเฉ เจตเจพเจฐ เจธเจผเฉเจฐเฉ เจนเฉเจฃ 'เจคเฉ เจเจนเจจเจพเจ 'เจคเฉ เจเจพเจฐเจตเจพเจ เจเจฐเจจเจพ เจเจพเจฐเฉ เจฐเฉฑเจเฉเจเจพเฅค
เจตเจฟเจตเจธเจฅเจพ
เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉเฉฐเจเฉเจเจ เจฆเฉเจเจฐเจพ เจ
เจกเจเฉฑเจธเจเฉเจฌเจฒ C:Logstashconfiglogstash.yml:
queue.type
: (เจธเฉฐเจญเจต เจฎเฉเฉฑเจฒ -persisted
ะธmemory (default))
.path.queue
: (เจเจคเจพเจฐ เจซเจพเจเจฒเจพเจ เจตเจพเจฒเฉ เจซเฉเจฒเจกเจฐ เจฆเจพ เจฎเจพเจฐเจ, เจเฉ เจเจฟ เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ C:Logstashqueue เจตเจฟเฉฑเจ เจธเจเฉเจฐ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเจจ)เฅคqueue.page_capacity
: (เจตเฉฑเจง เจคเฉเจ เจตเฉฑเจง เจเจคเจพเจฐ เจชเฉฐเจจเฉ เจฆเจพ เจเจเจพเจฐ, เจชเฉเจฐเจต-เจจเจฟเจฐเจงเจพเจฐเจค เจฎเฉเฉฑเจฒ 64mb เจนเฉ)เฅคqueue.drain
: (เจธเฉฑเจ/เจเจฒเจค - เจฒเฉเจเจธเจเฉเจธเจผ เจจเฉเฉฐ เจฌเฉฐเจฆ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจเจคเจพเจฐ เจชเฉเจฐเฉเจธเฉเจธเจฟเฉฐเจ เจจเฉเฉฐ เจฐเฉเจเจฃเจพ เจธเจฎเจฐเฉฑเจฅ/เจ เจฏเฉเจ เจเจฐเจฆเจพ เจนเฉเฅค เจฎเฉเจ เจเจธเจจเฉเฉฐ เจธเจฎเจฐเฉฑเจฅ เจเจฐเจจ เจฆเฉ เจธเจฟเจซเจผเจพเจฐเจธเจผ เจจเจนเฉเจ เจเจฐเจฆเจพ, เจเจฟเจเจเจเจฟ เจเจน เจธเจฐเจตเจฐ เจฌเฉฐเจฆ เจนเฉเจฃ เจฆเฉ เจเจคเฉ เจจเฉเฉฐ เจธเจฟเฉฑเจงเจพ เจชเฉเจฐเจญเจพเจตเจฟเจค เจเจฐเฉเจเจพ)เฅคqueue.max_events
: (เจเจคเจพเจฐ เจตเจฟเฉฑเจ เจเจตเฉเจเจเจพเจ เจฆเฉ เจ เจงเจฟเจเจคเจฎ เจธเฉฐเจเจฟเจ, เจกเจฟเจซเฉเจฒเจ 0 เจนเฉ (เจฌเฉเจ เฉฐเจค))เฅคqueue.max_bytes
: (เจฌเจพเจเจ เจตเจฟเฉฑเจ เจ เจงเจฟเจเจคเจฎ เจเจคเจพเจฐ เจฆเจพ เจเจเจพเจฐ, เจกเจฟเจซเฉเจฒเจ - 1024mb (1gb))เฅค
เจเฉเจเจฐ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเจพ เจเจฟเจ เจนเฉ queue.max_events
ะธ queue.max_bytes
, เจซเจฟเจฐ เจเจฆเฉเจ เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจเจฟเจธเฉ เจตเฉ เจธเฉเจเจฟเฉฐเจ เจฆเจพ เจฎเฉเฉฑเจฒ เจชเฉเจฐเจพ เจนเฉ เจเจพเจเจฆเจพ เจนเฉ เจคเจพเจ เจธเฉเจจเฉเจนเฉ เจเจคเจพเจฐ เจตเจฟเฉฑเจ เจธเจตเฉเจเจพเจฐ เจเฉเจคเฉ เจเจพเจฃเฉ เจฌเฉฐเจฆ เจนเฉ เจเจพเจเจฆเฉ เจนเจจเฅค เจธเจฅเจพเจ เจเจคเจพเจฐเจพเจ เจฌเจพเจฐเฉ เจนเฉเจฐ เจเจพเจฃเฉ
เจเจคเจพเจฐ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฒเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ logstash.yml เจฆเฉ เจนเจฟเฉฑเจธเฉ เจฆเฉ เจเฉฑเจ เจเจฆเจพเจนเจฐเจจ:
queue.type: persisted
queue.max_bytes: 10gb
เจตเจฟเจตเจธเจฅเจพ
เจฒเฉเจเจธเจเฉเจธเจผ เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจคเจฟเฉฐเจจ เจญเจพเจ เจนเฉเฉฐเจฆเฉ เจนเจจ, เจเจเจฃ เจตเจพเจฒเฉ เจฒเฉเจเจพเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉ เจตเฉฑเจ-เจตเฉฑเจ เจชเฉเจพเจตเจพเจ เจฒเจ เจเจผเจฟเฉฐเจฎเฉเจตเจพเจฐ เจนเฉเฉฐเจฆเฉ เจนเจจ: เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ (เจเจจเจชเฉเจ เจธเฉเจเจธเจผเจจ), เจชเจพเจฐเจธเจฟเฉฐเจ (เจซเจฟเจฒเจเจฐ เจธเฉเจเจธเจผเจจ) เจ เจคเฉ เจเจฒเจพเจธเจเจฟเจ (เจเจเจเจชเฉเฉฑเจ เจธเฉเจเจธเจผเจจ) เจจเฉเฉฐ เจญเฉเจเจฃเจพเฅค เจนเฉเจ เจพเจ เจ เจธเฉเจ เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจนเจฐเฉเจ 'เจคเฉ เจกเฉเฉฐเจเจพเจ เจจเจพเจฒ เจตเจฟเจเจพเจฐ เจเจฐเจพเจเจเฉ.
เจเฉฐเจชเฉเฉฑเจ
เจ เจธเฉเจ เจซเจพเจเจฒเจฌเฉเจ เจเจเฉฐเจเจพเจ เจคเฉเจ เจเฉฑเจเฉ เจฒเฉเจเจธ เจฆเฉ เจจเจพเจฒ เจเจเจฃ เจตเจพเจฒเฉ เจธเจเฉเจฐเฉเจฎ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเฉ เจนเจพเจเฅค เจเจน เจเจน เจชเจฒเฉฑเจเจเจจ เจนเฉ เจเฉ เจ เจธเฉเจ เจเจจเจชเฉเจ เจญเจพเจ เจตเจฟเฉฑเจ เจฆเจฐเจธเจพเจเจเจฆเฉ เจนเจพเจ:
input {
beats {
port => 5044
}
}
เจเจธ เจธเฉฐเจฐเจเจจเจพ เจคเฉเจ เจฌเจพเจ
เจฆ, เจฒเฉเจเจธเจเฉเจธเจผ เจชเฉเจฐเจ 5044 เจจเฉเฉฐ เจธเฉเจฃเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐเจฆเจพ เจนเฉ, เจ
เจคเฉ เจฒเฉเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจตเฉเจฒเฉ, เจซเจฟเจฒเจเจฐ เจธเฉเจเจธเจผเจจ เจฆเฉเจเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจฆเฉ เจ
เจจเฉเจธเจพเจฐ เจเจนเจจเจพเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจฆเจพ เจนเฉเฅค เจเฉเจเจฐ เจฒเฉเฉ เจนเฉเจตเฉ, เจคเจพเจ เจคเฉเจธเฉเจ SSL เจตเจฟเฉฑเจ เจซเจพเจเจฒเจฌเจฟเจ เจคเฉเจ เจฒเจพเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจเฉเจจเจฒ เจจเฉเฉฐ เจธเจฎเฉเจ เจธเจเจฆเฉ เจนเฉเฅค เจฌเฉเจเจธ เจชเจฒเฉฑเจเจเจจ เจธเฉเจเจฟเฉฐเจเจพเจ เจฌเจพเจฐเฉ เจนเฉเจฐ เจชเฉเฉเจนเฉ
เจซเจฟเจฒเจเจฐ
เจธเจพเจฐเฉ เจเฉเจเจธเจ เจฒเฉเจ เจเฉ เจเจเจธเจเฉเจเจ เจฆเฉเจเจฐเจพ เจคเจฟเจเจฐ เจเฉเจคเฉ เจชเฉเจฐเฉเจธเฉเจธเจฟเฉฐเจ เจฒเจ เจฆเจฟเจฒเจเจธเจช เจนเจจ, เจฒเฉเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจตเจฐเจฃเจฟเจค เจเฉเจคเจฐเจพเจ เจฆเฉ เจจเจพเจฒ csv เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ เจนเจจเฅค csv เจฐเจฟเจเจพเจฐเจกเจพเจ เจจเฉเฉฐ เจชเจพเจฐเจธ เจเจฐเจจ เจฒเจ, Logstash เจธเจพเจจเฉเฉฐ เจคเจฟเฉฐเจจ เจชเจฒเฉฑเจเจเจจ เจชเฉเจธเจผ เจเจฐเจฆเจพ เจนเฉ:
เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจน เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจฐเจฟเจเจพเจฐเจก เจจเฉเฉฐ เจฆเฉ เจตเจฟเฉฑเจ เจตเฉฐเจก เจฆเฉเจตเฉเจเจพ (เจซเฉเจฒเจก เจฆเฉ เจ
เฉฐเจฆเจฐ เจเฉฑเจ เจเจพเจฎเฉ เจฆเฉ เจฎเฉเจเฉเจฆเจเฉ เจฆเฉ เจเจพเจฐเจจ), เจเจฟเจธ เจเจพเจฐเจจ เจฒเฉเจ เจจเฉเฉฐ เจเจฒเจค เจคเจฐเฉเจเฉ เจจเจพเจฒ เจชเจพเจฐเจธ เจเฉเจคเจพ เจเจพเจตเฉเจเจพ:
โฆ,"MDB:GUID1, Mailbox:GUID2, Event:526545791, MessageClass:IPM.Note, CreationTime:2020-05-15T12:01:56.457Z, ClientType:MOMT, SubmissionAssistant:MailboxTransportSubmissionEmailAssistant",โฆ
เจเจน เจฒเจพเจเจพเจ เจจเฉเฉฐ เจชเจพเจฐเจธ เจเจฐเจจ เจตเฉเจฒเฉ เจตเจฐเจคเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, IISเฅค เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ, เจซเจฟเจฒเจเจฐ เจญเจพเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉ เจธเจเจฆเจพ เจนเฉ:
filter {
if "IIS" in [tags] {
dissect {
mapping => {
"message" => "%{date} %{time} %{s-ip} %{cs-method} %{cs-uri-stem} %{cs-uri-query} %{s-port} %{cs-username} %{c-ip} %{cs(User-Agent)} %{cs(Referer)} %{sc-status} %{sc-substatus} %{sc-win32-status} %{time-taken}"
}
remove_field => ["message"]
add_field => { "application" => "exchange" }
}
}
}
Logstash เจธเฉฐเจฐเจเจจเจพ เจคเฉเจนเจพเจจเฉเฉฐ เจตเจฐเจคเจฃ เจฒเจ เจธเจนเจพเจเจ เจนเฉ IIS
. เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจ
เฉฐเจฆเจฐ เจ
เจธเฉเจ เจซเฉเจฒเจก เจฎเฉเฉฑเจฒเจพเจ เจจเฉเฉฐ เจเจนเจจเจพเจ เจฆเฉ เจจเจพเจฎเจพเจ เจจเจพเจฒ เจฎเฉเจฒ เจเจฐเจฆเฉ เจนเจพเจ, เจ
เจธเจฒ เจเฉเจคเจฐ เจจเฉเฉฐ เจฎเจฟเจเจพเจเจเจฆเฉ เจนเจพเจ message
, เจเจฟเจธ เจตเจฟเฉฑเจ เจฒเฉเจ เจคเฉเจ เจเฉฑเจ เจเจเจเจฐเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจ
เจคเฉ เจ
เจธเฉเจ เจเฉฑเจ เจเจธเจเจฎ เจซเฉเจฒเจก เจเฉเฉ เจธเจเจฆเฉ เจนเจพเจ เจเจฟเจธ เจตเจฟเฉฑเจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจธ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเจพ เจจเจพเจฎ เจธเจผเจพเจฎเจฒ เจนเฉเจตเฉเจเจพ เจเจฟเจธ เจคเฉเจ เจ
เจธเฉเจ เจฒเฉเจ เจเจเฉฑเจ เฉ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจเจฐเฉเจเจฟเฉฐเจ เจฒเฉเจเจธ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ, csv เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉ; เจเจน เจเฉเฉฐเจเจฒเจฆเจพเจฐ เจเฉเจคเจฐเจพเจ เจจเฉเฉฐ เจธเจนเฉ เจขเฉฐเจ เจจเจพเจฒ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐ เจธเจเจฆเจพ เจนเฉ:
filter {
if "Tracking" in [tags] {
csv {
columns => ["date-time","client-ip","client-hostname","server-ip","server-hostname","source-context","connector-id","source","event-id","internal-message-id","message-id","network-message-id","recipient-address","recipient-status","total-bytes","recipient-count","related-recipient-address","reference","message-subject","sender-address","return-path","message-info","directionality","tenant-id","original-client-ip","original-server-ip","custom-data","transport-traffic-type","log-id","schema-version"]
remove_field => ["message", "tenant-id", "schema-version"]
add_field => { "application" => "exchange" }
}
}
เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจ
เฉฐเจฆเจฐ, เจ
เจธเฉเจ เจซเฉเจฒเจก เจฎเฉเฉฑเจฒเจพเจ เจจเฉเฉฐ เจเจนเจจเจพเจ เจฆเฉ เจจเจพเจฎเจพเจ เจจเจพเจฒ เจฎเฉเจฒ เจเจฐเจฆเฉ เจนเจพเจ, เจ
เจธเจฒ เจเฉเจคเจฐ เจจเฉเฉฐ เจฎเจฟเจเจพเจเจเจฆเฉ เจนเจพเจ message
(เจ
เจคเฉ เจเฉเจคเจฐ เจตเฉ tenant-id
ะธ schema-version
), เจเจฟเจธ เจตเจฟเฉฑเจ เจฒเฉเจ เจคเฉเจ เจเฉฑเจ เจเจเจเจฐเฉ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจ
เจคเฉ เจ
เจธเฉเจ เจเฉฑเจ เจเจธเจเจฎ เจซเฉเจฒเจก เจเฉเฉ เจธเจเจฆเฉ เจนเจพเจ, เจเจฟเจธ เจตเจฟเฉฑเจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจธ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฆเจพ เจจเจพเจฎ เจนเฉเจตเฉเจเจพ เจเจฟเจธ เจคเฉเจ เจ
เจธเฉเจ เจฒเฉเจ เจเจเฉฑเจ เฉ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจซเจฟเจฒเจเจฐเจฟเฉฐเจ เจชเฉเจพเจ เจคเฉเจ เจฌเจพเจนเจฐ เจจเจฟเจเจฒเจฃ 'เจคเฉ, เจ เจธเฉเจ เจเจฟเจฌเจพเจจเจพ เจตเจฟเฉฑเจ เจตเจฟเจเจผเฉเจ เจฒเจพเจเจเจผเฉเจธเจผเจจ เจฒเจ เจคเจฟเจเจฐ, เจชเจนเจฟเจฒเฉ เจ เจจเฉเจฎเจพเจจ เจตเจฟเฉฑเจ เจฆเจธเจคเจพเจตเฉเจเจผ เจชเฉเจฐเจพเจชเจค เจเจฐเจพเจเจเฉเฅค เจ เจธเฉเจ เจนเฉเจ เจฒเจฟเจเฉเจเจ เจเฉเจเจผเจพเจ เจเฉเจเจตเจพเจเจเฉ:
- เจธเฉฐเจเจฟเจเจคเจฎเจ เจเฉเจคเจฐเจพเจ เจจเฉเฉฐ เจเฉเจเจธเจ เจตเจเฉเจ เจชเจเจพเจฃเจฟเจ เจเจพเจตเฉเจเจพ, เจเฉ เจเจนเจจเจพเจ 'เจคเฉ เจเจพเจฐเจตเจพเจเจเจ เจจเฉเฉฐ เจฐเฉเจเจฆเจพ เจนเฉเฅค เจ
เจฐเจฅเจพเจค, เจเฉเจค
time-taken
IIS เจฒเฉเจ, เจ เจคเฉ เจจเจพเจฒ เจนเฉ เจเฉเจคเจฐrecipient-count
ะธtotal-bites
เจฒเฉเจ เจเฉเจฐเฉเจเจฟเฉฐเจเฅค - เจฎเจฟเจเจฐเฉ เจฆเจธเจคเจพเจตเฉเจเจผ เจเจพเจเจฎเจธเจเฉเจเจช เจตเจฟเฉฑเจ เจฒเฉเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเจพ เจธเจฎเจพเจ เจธเจผเจพเจฎเจฒ เจนเฉเจตเฉเจเจพ, เจจเจพ เจเจฟ เจธเจฐเจตเจฐ เจธเจพเจเจก 'เจคเฉ เจฒเจฟเจเจฟเจ เจเจฟเจ เจธเจฎเจพเจเฅค
- เจเฉเจคเจฐ
recipient-address
เจเฉฑเจ เจเจธเจพเจฐเฉ เจธเจพเจเจ เจฆเฉ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉเจตเฉเจเฉ, เจเฉ เจ เฉฑเจเจฐเจพเจ เจฆเฉ เจชเฉเจฐเจพเจชเจคเจเจฐเจคเจพเจตเจพเจ เจฆเฉ เจเจฟเจฃเจคเฉ เจเจฐเจจ เจฒเจ เจตเจฟเจธเจผเจฒเฉเจธเจผเจฃ เจฆเฉ เจเจเจพเจเจผเจค เจจเจนเฉเจ เจฆเจฟเฉฐเจฆเฉเฅค
เจเจน เจฒเฉเจ เจชเฉเจฐเฉเจธเฉเจธเจฟเฉฐเจ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉเจเจพ เจเจฟเจนเจพ เจเจพเจฆเฉ เจเฉเฉเจจ เจฆเจพ เจธเจฎเจพเจ เจนเฉเฅค
เจธเฉฐเจเจฟเจเจคเจฎเจ เจเฉเจคเจฐเจพเจ เจจเฉเฉฐ เจฌเจฆเจฒเจฃเจพ
เจกเจฟเจธเจธเฉเจเจ เจชเจฒเฉฑเจเจเจจ เจเฉเจฒ เจเฉฑเจ เจตเจฟเจเจฒเจช เจนเฉ convert_datatype
, เจเฉ เจเจฟ เจเฉฑเจ เจเฉเจเจธเจ เจเฉเจคเจฐ เจจเฉเฉฐ เจเฉฑเจ เจกเจฟเจเฉเจเจฒ เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฃ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจธ เจคเจฐเฉเจนเจพเจ:
dissect {
โฆ
convert_datatype => { "time-taken" => "int" }
โฆ
}
เจเจน เจฏเจพเจฆ เจฐเฉฑเจเจฃ เจฏเฉเจ เจนเฉ เจเจฟ เจเจน เจตเจฟเจงเฉ เจเฉเจตเจฒ เจคเจพเจ เจนเฉ เจขเฉเจเจตเฉเจ เจนเฉ เจเฉเจเจฐ เจเฉเจคเจฐ เจตเจฟเฉฑเจ เจฏเจเฉเจจเฉ เจคเฉเจฐ 'เจคเฉ เจเฉฑเจ เจธเจคเจฐ เจนเฉเจตเฉเจเฉเฅค เจตเจฟเจเจฒเจช เจเฉเจคเจฐเจพเจ เจคเฉเจ เจจเฉฑเจฒ เจฎเฉเฉฑเจฒเจพเจ 'เจคเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเจนเฉเจ เจเจฐเจฆเจพ เจนเฉ เจ เจคเฉ เจเฉฑเจ เจ เจชเจตเจพเจฆ เจธเฉเฉฑเจเจฆเจพ เจนเฉเฅค
เจเจฐเฉเจเจฟเฉฐเจ เจฒเฉเจเจธ เจฒเจ, เจซเฉเจฒเจกเจธ เจคเฉเจ, เจธเจฎเจพเจจ เจฐเฉเจชเจพเจเจคเจฐ เจตเจฟเจงเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจจเจพ เจเจฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉ recipient-count
ะธ total-bites
เจเจพเจฒเฉ เจนเฉ เจธเจเจฆเจพ เจนเฉเฅค เจเจนเจจเจพเจ เจเฉเจคเจฐเจพเจ เจจเฉเฉฐ เจฌเจฆเจฒเจฃ เจฒเจ เจเฉฑเจ เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉ
mutate {
convert => [ "total-bytes", "integer" ]
convert => [ "recipient-count", "integer" ]
}
เจชเฉเจฐเจพเจชเจคเจเจฐเจคเจพ_เจชเจคเจพ เจจเฉเฉฐ เจตเจฟเจ เจเจคเฉเจเจค เจชเฉเจฐเจพเจชเจคเจเจฐเจคเจพเจตเจพเจ เจตเจฟเฉฑเจ เจตเฉฐเจกเจฃเจพ
เจเจธ เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจฎเจฟเจเจเฉเจ เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจตเฉ เจนเฉฑเจฒ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ:
mutate {
split => ["recipient_address", ";"]
}
เจเจพเจเจฎเจธเจเฉเจเจช เจจเฉเฉฐ เจฌเจฆเจฒเจฃเจพ
เจเจฐเฉเจเจฟเฉฐเจ เจฒเฉเจเจธ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ, เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจชเจฒเฉฑเจเจเจจ เจฆเฉเจเจฐเจพ เจฌเจนเฉเจค เจเจธเจพเจจเฉ เจจเจพเจฒ เจนเฉฑเจฒ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ timestamp
เจซเฉเจฒเจก เจคเฉเจ เจฒเฉเฉเฉเจเจฆเฉ เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ เจฎเจฟเจคเฉ เจ
เจคเฉ เจธเจฎเจพเจ date-time
:
date {
match => [ "date-time", "ISO8601" ]
timezone => "Europe/Moscow"
remove_field => [ "date-time" ]
}
IIS เจฒเฉเจเจธ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ, เจธเจพเจจเฉเฉฐ เจซเฉเจฒเจก เจกเฉเจเจพ เจจเฉเฉฐ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเจตเฉเจเฉ date
ะธ time
เจฎเจฟเจเจเฉเจ เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ, เจธเจพเจจเฉเฉฐ เจฒเฉเฉเฉเจเจฆเจพ เจธเจฎเจพเจ เจเฉเจคเจฐ เจฐเจเจฟเจธเจเจฐ เจเจฐเฉ เจ
เจคเฉ เจเจธ เจเจพเจเจฎ เจธเจเฉเจเจช เจจเฉเฉฐ เจ
เฉฐเจฆเจฐ เจฐเฉฑเจเฉ timestamp
เจฎเจฟเจคเฉ เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ:
mutate {
add_field => { "data-time" => "%{date} %{time}" }
remove_field => [ "date", "time" ]
}
date {
match => [ "data-time", "YYYY-MM-dd HH:mm:ss" ]
timezone => "UTC"
remove_field => [ "data-time" ]
}
เจเจเจเจชเฉเฉฑเจ
เจเจเจเจชเฉเฉฑเจ เจธเฉเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจฒเจพเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจตเจพเจฒเฉ เจจเฉเฉฐ เจชเฉเจฐเฉเจธเฉเจธ เจเฉเจคเฉ เจฒเฉเจเจพเจ เจจเฉเฉฐ เจญเฉเจเจฃ เจฒเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค เจเจฒเจพเจธเจเจฟเจ เจจเฉเฉฐ เจธเจฟเฉฑเจงเฉ เจญเฉเจเจฃ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ, เจเฉฑเจ เจชเจฒเฉฑเจเจเจจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉ
output {
elasticsearch {
hosts => ["127.0.0.1:9200", "127.0.0.2:9200"]
manage_template => false
index => "Exchange-%{+YYYY.MM.dd}"
}
}
เจ เฉฐเจคเจฎ เจธเฉฐเจฐเจเจจเจพ
เจ เฉฐเจคเจฎ เจธเฉฐเจฐเจเจจเจพ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉเจตเฉเจเฉ:
input {
beats {
port => 5044
}
}
filter {
if "IIS" in [tags] {
dissect {
mapping => {
"message" => "%{date} %{time} %{s-ip} %{cs-method} %{cs-uri-stem} %{cs-uri-query} %{s-port} %{cs-username} %{c-ip} %{cs(User-Agent)} %{cs(Referer)} %{sc-status} %{sc-substatus} %{sc-win32-status} %{time-taken}"
}
remove_field => ["message"]
add_field => { "application" => "exchange" }
convert_datatype => { "time-taken" => "int" }
}
mutate {
add_field => { "data-time" => "%{date} %{time}" }
remove_field => [ "date", "time" ]
}
date {
match => [ "data-time", "YYYY-MM-dd HH:mm:ss" ]
timezone => "UTC"
remove_field => [ "data-time" ]
}
}
if "Tracking" in [tags] {
csv {
columns => ["date-time","client-ip","client-hostname","server-ip","server-hostname","source-context","connector-id","source","event-id","internal-message-id","message-id","network-message-id","recipient-address","recipient-status","total-bytes","recipient-count","related-recipient-address","reference","message-subject","sender-address","return-path","message-info","directionality","tenant-id","original-client-ip","original-server-ip","custom-data","transport-traffic-type","log-id","schema-version"]
remove_field => ["message", "tenant-id", "schema-version"]
add_field => { "application" => "exchange" }
}
mutate {
convert => [ "total-bytes", "integer" ]
convert => [ "recipient-count", "integer" ]
split => ["recipient_address", ";"]
}
date {
match => [ "date-time", "ISO8601" ]
timezone => "Europe/Moscow"
remove_field => [ "date-time" ]
}
}
}
output {
elasticsearch {
hosts => ["127.0.0.1:9200", "127.0.0.2:9200"]
manage_template => false
index => "Exchange-%{+YYYY.MM.dd}"
}
}
เจเจชเจฏเฉเจเฉ เจฒเจฟเฉฐเจ:
เจตเจฟเฉฐเจกเฉเจเจผ เจเฉฑเจคเฉ เจเจชเจจเจเฉเจกเฉเจเฉ 11 เจจเฉเฉฐ เจเจฟเจตเฉเจ เจเฉฐเจธเจเจพเจฒ เจเจฐเจจเจพ เจนเฉ? Logstash เจกเจพเจเจจเจฒเฉเจก เจเจฐเฉ เจฒเจเจเฉเจฒเจพ เจตเจพเจเจเจพ เจตเจฟเจเจฒเจช เจตเจฐเจคเจฆเจพ เจนเฉ UseConcMarkSweepGC #36828 เจเจจเจเจธเจเจธเจเจฎ เจฒเจเจพเจคเจพเจฐ เจเจคเจพเจฐเจพเจ เจฌเฉเจเจธ เจเจจเจชเฉเจ เจชเจฒเฉฑเจเจเจจ เจฒเฉเจเจธเจเฉเจธเจผ เจฆเฉเจธเจค, เจฎเฉเจฐเจพ เจเฉเจจเจธเจพ เจเจฟเฉฑเจฅเฉ เจนเฉ? เจฎเฉเจจเฉเฉฐ เจฎเฉเจฐเฉ เจฒเฉเจเจธ เจจเฉเฉฐ เจเฉฑเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ เจซเจฟเจฒเจเจฐ เจชเจฒเฉฑเจเจเจจ เจจเฉเฉฐ เจตเฉฑเจ เจเจฐเฉ เจธเจผเจฐเจคเจพเจ เจซเจฟเจฒเจเจฐ เจชเจฒเฉฑเจเจเจจ เจจเฉเฉฐ เจฌเจฆเจฒเฉ เจฎเจฟเจคเฉ เจซเจฟเจฒเจเจฐ เจชเจฒเฉฑเจเจเจจ Elasticsearch เจเจเจเจชเฉเฉฑเจ เจชเจฒเฉฑเจเจเจจ
เจธเจฐเฉเจค: www.habr.com