เชชเชฐเชฟเชเชฏ
เชฌเซเชเซ เชธเชฟเชธเซเชเชฎ เชเซเช เชตเชคเซ เชตเชเชคเซ, เช เชฎเชจเซ เชฎเซเชเซ เชธเชเชเซเชฏเชพเชฎเชพเช เชตเชฟเชตเชฟเชง เชฒเซเช เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐเชฟเชฏเชพเชคเชจเซ เชธเชพเชฎเชจเซ เชเชฐเชตเซ เชชเชกเซเชฏเซ. ELK เชจเซ เชธเชพเชงเชจ เชคเชฐเซเชเซ เชชเชธเชเชฆ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช. เช เชฒเซเช เช เชธเซเชเซเช เชธเซเช เชเชฐเชตเชพเชจเชพ เช เชฎเชพเชฐเชพ เช เชจเซเชญเชต เชตเชฟเชถเซ เชตเชพเชค เชเชฐเชถเซ.
เช
เชฎเซ เชคเซเชจเซ เชคเชฎเชพเชฎ เชเซเชทเชฎเชคเชพเชเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเช เชงเซเชฏเซเชฏ เชจเชเซเชเซ เชเชฐเชคเชพ เชจเชฅเซ, เชชเชฐเชเชคเซ เช
เชฎเซ เชตเซเชฏเชตเชนเชพเชฐเชฟเช เชธเชฎเชธเซเชฏเชพเชเชจเชพ เชเชเซเชฒ เชชเชฐ เชงเซเชฏเชพเชจ เชเซเชจเซเชฆเซเชฐเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช. เช เชคเซ เชนเชเซเชเชคเชจเซ เชเชพเชฐเชฃเซ เชเซ เชเซ เชชเซเชฐเชคเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช เชฎเซเชเซ เชฎเชพเชคเซเชฐเชพเชฎเชพเช เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃ เช
เชจเซ เชคเซเชฏเชพเชฐ เชเชฌเซเช เชธเชพเชฅเซ, เชคเซเชฏเชพเช เชเชฃเซ เชฌเชงเซ เชฎเซเชถเซเชเซเชฒเซเช เชเซ, เชเชเชพเชฎเชพเช เชเชเซ เช
เชฎเชจเซ เชคเซ เชฎเชณเซ.
เช
เชฎเซ เชกเซเชเชฐ-เชเชเชชเซเช เชฆเซเชตเชพเชฐเชพ เชธเซเชเซเช เชเชฎเชพเชตเซเชฏเซเช. เชตเชงเซเชฎเชพเช, เช
เชฎเชพเชฐเซ เชชเชพเชธเซ เชธเชพเชฐเซ เชฐเซเชคเซ เชฒเชเชพเชฏเซเชฒ docker-compose.yml เชนเชคเซเช เชเซเชฃเซ เช
เชฎเชจเซ เชฒเชเชญเช เชเซเช เชธเชฎเชธเซเชฏเชพ เชตเชฟเชจเชพ เชธเซเชเซเช เชตเชงเชพเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชนเชคเซ. เช
เชจเซ เช
เชฎเชจเซ เชเชตเซเช เชฒเชพเชเชคเซเช เชนเชคเซเช เชเซ เชตเชฟเชเชฏ เชชเชนเซเชฒเซเชฅเซ เช เชจเชเซเช เชเซ, เชนเชตเซ เช
เชฎเซ เช
เชฎเชพเชฐเซ เชเชฐเซเชฐเชฟเชฏเชพเชคเซเชจเซ เช
เชจเซเชฐเซเชช เชฅเชตเชพ เชฎเชพเชเซ เชคเซเชจเซ เชฅเซเชกเซเช เชเซเชตเชฟเชธเซเช เชเชฐเซเชถเซเช เช
เชจเซ เชฌเชธ.
เชเชฎเชจเชธเซเชฌเซ, เช เชฎเชพเชฐเซ เชเชชเซเชฒเชฟเชเซเชถเชจเชฎเชพเชเชฅเซ เชฒเซเช เชฎเซเชณเชตเชตเชพ เช เชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพ เชฎเชพเชเซ เชธเชฟเชธเซเชเชฎเชจเซ เชเซเชฏเซเชจ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชคเชฐเชค เช เชธเชซเชณ เชฅเชฏเซ เชจ เชนเชคเซ. เชคเซเชฅเซ, เช เชฎเซ เชจเชเซเชเซ เชเชฐเซเชฏเซเช เชเซ เชคเซ เชฆเชฐเซเช เชเชเชเชจเซ เช เชฒเชเชฅเซ เช เชญเซเชฏเชพเชธ เชเชฐเชตเชพ เชฏเซเชเซเชฏ เชเซ, เช เชจเซ เชชเชเซ เชคเซเชฎเชจเชพ เชเซเชกเชพเชฃเซ เชชเชฐ เชชเชพเชเชพ เชซเชฐเซ.
เชคเซ เชเชพเชฒเซ เชฒเซเชเชธเซเชเซเชถ เชธเชพเชฅเซ เชถเชฐเซเชเชค เชเชฐเซเช.
เชชเชฐเซเชฏเชพเชตเชฐเชฃ, เชเชฎเชพเชตเช, เชเชจเซเชเซเชจเชฐเชฎเชพเช เชฒเซเชเชธเซเชเซเชถ เชเชฒเชพเชตเชตเซเช
เชเชฎเชพเชตเช เชฎเชพเชเซ, เช เชฎเซ เชกเซเชเชฐ-เชเชเชชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช, เช เชนเซเช เชตเชฐเซเชฃเชตเซเชฒ เชชเซเชฐเชฏเซเชเซ MacOS เช เชจเซ Ubuntu 18.0.4 เชชเชฐ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชนเชคเชพ.
เช เชฎเชพเชฐเซ เชฎเซเชณ docker-compose.yml เชฎเชพเช เชเซ เชฒเซเชเชธเซเชเซเชถ เชเชฌเซ เชนเชคเซ เชคเซ เชเซ docker.elastic.co/logstash/logstash:6.3.2
เช เชฎเซ เชชเซเชฐเชฏเซเชเซ เชฎเชพเชเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช.
logstash เชเชฒเชพเชตเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชเช เช เชฒเช docker-compose.yml เชฒเชเซเชฏเซเช เชเซ. เช เชฒเชฌเชคเซเชค, เชเชฎเชพเชจเซเชก เชฒเชพเชเชจเชฅเซ เชเชฎเซเช เชฒเซเชเช เชเชฐเชตเชพเชจเซเช เชถเชเซเชฏ เชนเชคเซเช, เชชเชฐเชเชคเซ เชเซเชตเชเซ, เช เชฎเซ เชเช เชเซเชเซเชเชธ เชเชพเชฐเซเชฏ เชนเชฒ เชเชฐเซเชฏเซเช, เชเซเชฏเชพเช เชกเซเชเชฐ-เชเชเชชเซเชเชฅเซ เชฌเชงเซเช เช เชฎเชพเชฐเชพ เชฎเชพเชเซ เชฒเซเชจเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ.
เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเซ เชตเชฟเชถเซ เชธเชเชเซเชทเชฟเชชเซเชคเชฎเชพเช
เชตเชฐเซเชฃเชจเชฎเชพเชเชฅเซ เชจเซเชเซ เชฎเซเชเชฌ, logstash เชเช เชเซเชจเชฒ เชฎเชพเชเซ เชเชฒเชพเชตเซ เชถเชเชพเชฏ เชเซ, เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชคเซเชจเซ *.conf เชซเชพเชเชฒ เช
เชฅเชตเชพ เชเชฃเซ เชเซเชจเชฒเซ เชฎเชพเชเซ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เช เชเชฟเชธเซเชธเชพเชฎเชพเช เชคเซเชจเซ pipelines.yml เชซเชพเชเชฒ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชเซ เชฌเชฆเชฒเชพเชฎเชพเช , เชฆเชฐเซเช เชเซเชจเชฒ เชฎเชพเชเซ .conf เชซเชพเชเชฒเซเชจเซ เชธเชเชฆเชฐเซเชญ เชฒเซเชถเซ.
เช
เชฎเซ เชฌเซเชเซ เชฐเชธเซเชคเซ เชฒเซเชงเซ. เชคเซ เช
เชฎเชจเซ เชตเชงเซ เชธเชฐเซเชตเชคเซเชฎเซเชเซ เช
เชจเซ เชฎเชพเชชเซ เชถเชเชพเชฏ เชคเซเชตเซเช เชฒเชพเชเชคเซเช เชนเชคเซเช. เชคเซเชฅเซ, เช
เชฎเซ pipelines.yml เชฌเชจเชพเชตเซ, เช
เชจเซ เชชเชพเชเชชเชฒเชพเชเชจเซเชธ เชกเชฟเชฐเซเชเซเชเชฐเซ เชฌเชจเชพเชตเซ เชเซเชฎเชพเช เชเชชเชฃเซ เชฆเชฐเซเช เชเซเชจเชฒ เชฎเชพเชเซ .conf เชซเชพเชเชฒเซ เชฎเซเชเซเชถเซเช.
เชเชจเซเชเซเชจเชฐเชจเซ เช เชเชฆเชฐ เชฌเซเชเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ เชเซ - logstash.yml. เช เชฎเซ เชคเซเชจเซ เชธเซเชชเชฐเซเชถเชคเชพ เชจเชฅเซ, เช เชฎเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช.
เชคเซเชฅเซ เช เชฎเชพเชฐเซ เชกเชฟเชฐเซเชเซเชเชฐเซ เชฎเชพเชณเชเซเช เชเซ:
เชนเชพเชฒเชฎเชพเช, เช
เชฎเซ เชงเชพเชฐเซเช เชเซเช เชเซ เชเชจเชชเซเช เชกเซเชเชพ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ เช เชชเซเชฐเซเช 5046 เชชเชฐ tcp เชเซ, เช
เชจเซ เช
เชฎเซ เชเชเชเชชเซเช เชฎเชพเชเซ stdout เชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช.
เช เชนเซเช เชชเซเชฐเชฅเชฎ เชฐเชจ เชฎเชพเชเซ เชเชเชฒเซเช เชธเชฐเชณ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชเซ. เชเชพเชฐเชฃ เชเซ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชเชพเชฐเซเชฏ เชฒเซเชจเซเช เชเชฐเชตเชพเชจเซเช เชเซ.
เชคเซเชฅเซ เช เชฎเชพเชฐเซ เชชเชพเชธเซ เช docker-compose.yml เชเซ
version: '3'
networks:
elk:
volumes:
elasticsearch:
driver: local
services:
logstash:
container_name: logstash_one_channel
image: docker.elastic.co/logstash/logstash:6.3.2
networks:
- elk
ports:
- 5046:5046
volumes:
- ./config/pipelines.yml:/usr/share/logstash/config/pipelines.yml:ro
- ./config/pipelines:/usr/share/logstash/config/pipelines:ro
เชเชชเชฃเซ เช เชนเซเช เชถเซเช เชเซเชเช เชเซเช?
- เชจเซเชเชตเชฐเซเชเซเชธ เช เชจเซ เชตเซเชฒเซเชฏเซเชฎเซ เชฎเซเชณ docker-compose.yml (เช เชเซเชฏเชพเช เชธเชฎเชเซเชฐ เชธเซเชเซเช เชฒเซเชจเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ) เชฎเชพเชเชฅเซ เชฒเซเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชนเชคเชพ เช เชจเซ เชฎเชจเซ เชฒเชพเชเซ เชเซ เชเซ เชคเซเช เช เชนเซเช เชเชเชเชฆเชฐ เชเชฟเชคเซเชฐเชจเซ เชฎเซเชเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช เช เชธเชฐ เชเชฐเชคเชพ เชจเชฅเซ.
- เช เชฎเซ docker.elastic.co/logstash/logstash:6.3.2 เชเชฎเซเชเชฎเชพเชเชฅเซ เชเช เชธเซเชตเชพ (เชธเซเชตเชพเช) เชฒเซเชเชธเซเชเซเชถ เชฌเชจเชพเชตเซเช เชเซเช เช เชจเซ เชคเซเชจเซ logstash_one_channel เชจเชพเชฎ เชเชชเซเช เชเซเช.
- เช เชฎเซ เชเชจเซเชเซเชจเชฐเชจเซ เช เชเชฆเชฐ เชชเซเชฐเซเช 5046 เชจเซ เชธเชฎเชพเชจ เชเชเชคเชฐเชฟเช เชชเซเชฐเซเช เชชเชฐ เชซเซเชฐเชตเชฐเซเชก เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช.
- เช เชฎเซ เช เชฎเชพเชฐเซ ./config/pipelines.yml เชชเชพเชเชช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเชจเซ เชเชจเซเชเซเชจเชฐเชจเซ เช เชเชฆเชฐ /usr/share/logstash/config/pipelines.yml เชซเชพเชเชฒ เชธเชพเชฅเซ เชฎเซเชช เชเชฐเซเช เชเซเช, เชเซเชฏเชพเช logstash เชคเซเชจเซ เชเชชเชพเชกเชถเซ เช เชจเซ เชคเซเชจเซ เชซเชเซเชค เชตเชพเชเชเชตเชพ เชฎเชพเชเซ เชฌเชจเชพเชตเชถเซ.
- เช เชฎเซ ./config/pipelines เชกเชฟเชฐเซเชเซเชเชฐเซ, เชเซเชฏเชพเช เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชชเชพเชเชช เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเซ เชเซ, เชคเซเชจเซ /usr/share/logstash/config/pipelines เชกเชฟเชฐเซเชเซเชเชฐเซเชฎเชพเช เชฎเซเชช เชเชฐเซเช เชเซเช เช เชจเซ เชคเซเชจเซ เชซเชเซเชค เชตเชพเชเชเชตเชพ เชฎเชพเชเซ เชฌเชจเชพเชตเซเช เชเซเช.
piping.yml เชซเชพเชเชฒ
- pipeline.id: HABR
pipeline.workers: 1
pipeline.batch.size: 1
path.config: "./config/pipelines/habr_pipeline.conf"
เชคเซ HABR เชเชณเชเชเชฐเซเชคเชพ เชธเชพเชฅเซเชจเซ เชเช เชเซเชจเชฒ เช เชจเซ เชคเซเชจเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเชจเชพ เชชเชพเชฅเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเซ เชเซ.
เช เชจเซ เชเซเชฒเซเชฒเซ เชซเชพเชเชฒ "./config/pipelines/habr_pipeline.conf"
input {
tcp {
port => "5046"
}
}
filter {
mutate {
add_field => [ "habra_field", "Hello Habr" ]
}
}
output {
stdout {
}
}
เช เชฎเซ เชนเชฎเชฃเชพเช เชฎเชพเชเซ เชคเซเชจเชพ เชตเชฐเซเชฃเชจเชฎเชพเช เชเชเชถเซเช เชจเชนเซเช, เช เชฎเซ เชเชฒเชพเชตเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเช เชเซเช:
docker-compose up
เชเชชเชฃเซ เชถเซเช เชเซเชเช เชเซเช?
เชเชจเซเชเซเชจเชฐ เชเชพเชฒเซ เชฅเช เชเชฏเซเช เชเซ. เช เชฎเซ เชคเซเชจเซเช เชเชพเชฐเซเชฏ เชเชเชพเชธเซ เชถเชเซเช เชเซเช:
echo '13123123123123123123123213123213' | nc localhost 5046
เช เชจเซ เช เชฎเซ เชเชจเซเชเซเชจเชฐ เชเชจเซเชธเซเชฒเชฎเชพเช เชชเซเชฐเชคเชฟเชธเชพเชฆ เชเซเชเช เชเซเช:
เชชเชฐเชเชคเซ เชคเซ เช เชธเชฎเชฏเซ, เชเชชเชฃเซ เช เชชเชฃ เชเซเชเช เชเซเช:
logstash_one_channel | [2019-04-29T11:28:59,790][ERROR][logstash.licensechecker.licensereader] เชฒเชพเชฏเชธเชจเซเชธ เชธเชฐเซเชตเชฐเชฎเชพเชเชฅเซ เชฒเชพเชเชธเชจเซเชธ เชฎเชพเชนเชฟเชคเซ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชฎเชพเช เช เชธเชฎเชฐเซเชฅ {:message=>"Elasticsearch เช เชชเซเชฐเชฟเชฏ: [http://elasticsearch:9200/][Manticore ::เชฐเชฟเชเซเชฒเซเชฏเซเชถเชจ เชจเชฟเชทเซเชซเชณเชคเชพ]เชธเซเชฅเชฟเชคเชฟเชธเซเชฅเชพเชชเช เชถเซเชง", ...
logstash_one_channel | [2019-04-29T11:28:59,894][INFO ][logstash.pipeline ] เชชเชพเชเชชเชฒเชพเชเชจ เชธเชซเชณเชคเชพเชชเซเชฐเซเชตเช เชถเชฐเซ เชฅเช {:pipeline_id=>".monitoring-logstash", :thread=>"# ยป}
logstash_one_channel | [2019-04-29T11:28:59,988][INFO ][logstash.agent ] เชชเชพเชเชชเชฒเชพเชเชจ เชเชพเชฒเซ เชฐเชนเซ เชเซ {:count=>2, :running_pipelines=>[:HABR, :."monitoring-logstash"], :non_running_pipelines=>[ ]}
logstash_one_channel | [2019-04-29T11:29:00,015][ERROR][logstash.inputs.metrics ] X-Pack Logstash เชชเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเซเช เชเซ เชชเชฃ Elasticsearch เชชเชฐ เชจเชนเซเช. เชฎเซเชจเชฟเชเชฐเชฟเชเช เชธเซเชตเชฟเชงเชพเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเชชเชพ เชเชฐเซเชจเซ Elasticsearch เชชเชฐ X-Pack เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ. เช
เชจเซเชฏ เชธเซเชตเชฟเชงเชพเช เชเชชเชฒเชฌเซเชง เชนเซเช เชถเชเซ เชเซ.
logstash_one_channel | [2019-04-29T11:29:00,526][INFO [logstash.agent ] Logstash API เชเชจเซเชกเชชเซเชเชจเซเช {:port=>9600} เชธเชซเชณเชคเชพเชชเซเชฐเซเชตเช เชถเชฐเซ เชฅเชฏเซเช
logstash_one_channel | [2019-04-29T11:29:04,478][INFO ][logstash.outputs.elasticsearch] Elasticsearch เชเชจเซเชเซเชถเชจ เชเชพเชฎ เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ เชเซ เชเซเชฎ เชคเซ เชเซเชตเชพ เชฎเชพเชเซ เชเชฐเซเชเซเชฏ เชคเชชเชพเชธ เชเชฒเชพเชตเชตเซ {:healthcheck_url=>http://elasticsearch:9200/, :path=> "/"}
logstash_one_channel | [2019-04-29T11:29:04,487][WARN ][logstash.outputs.elasticsearch] เชกเซเชก ES เชเชฆเชพเชนเชฐเชฃ เชธเชพเชฅเซ เชเชจเซเชเซเชถเชจเชจเซ เชชเซเชจเชเชเซเชตเชฟเชค เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชฏเซ, เชชเชฐเชเชคเซ เชเช เชญเซเชฒ เชเชตเซ. {:url=>"
logstash_one_channel | [2019-04-29T11:29:04,704][INFO ][logstash.licensechecker.licensereader] Elasticsearch เชเชจเซเชเซเชถเชจ เชเชพเชฎ เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ เชเซ เชเซเชฎ เชคเซ เชเซเชตเชพ เชฎเชพเชเซ เชเชฐเซเชเซเชฏ เชคเชชเชพเชธ เชเชฒเชพเชตเชตเซ {:healthcheck_url=>http://elasticsearch:9200/, :path=> "/"}
logstash_one_channel | [2019-04-29T11:29:04,710][WARN ][logstash.licensechecker.licensereader] เชฎเซเชค ES เชเชฆเชพเชนเชฐเชฃ เชธเชพเชฅเซ เชเชจเซเชเซเชถเชจเชจเซ เชชเซเชจเชเชเซเชตเชฟเชค เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชฏเซ, เชชเชฐเชเชคเซ เชเช เชญเซเชฒ เชเชตเซ. {:url=>"
เช เชจเซ เช เชฎเชพเชฐเซ เชฒเซเช เชฆเชฐเซเช เชธเชฎเชฏเซ เชเซเชฐเซเชฒ เชฅเชพเชฏ เชเซ.
เช
เชนเซเช เชฎเซเช เชฒเซเชฒเชพ เชฐเชเชเชฎเชพเช เชธเชเชฆเซเชถ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเซเชฏเซ เชเซ เชเซ เชชเชพเชเชชเชฒเชพเชเชจ เชธเชซเชณเชคเชพเชชเซเชฐเซเชตเช เชถเชฐเซ เชฅเช เชเซ, เชฒเชพเชฒ เชฐเชเชเชฎเชพเช เชญเซเชฒ เชธเชเชฆเซเชถ เช
เชจเซ เชชเซเชณเชพ เชฐเชเชเชฎเชพเช เชธเชเชชเชฐเซเช เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชตเชพเชจเซ เชธเชเชฆเซเชถ
เช เช เชนเชเซเชเชคเชจเซ เชเชพเชฐเชฃเซ เชฅเชพเชฏ เชเซ เชเซ เชเชฎเซเชเชฎเชพเช เชธเชฎเชพเชตเชฟเชทเซเช logstash.conf เชฎเชพเช, elasticsearchเชจเซ เชเชชเชฒเชฌเซเชงเชคเชพ เชฎเชพเชเซ เชคเชชเชพเชธ เชเซ. เชเซเชตเชเซ, logstash เชงเชพเชฐเซ เชเซ เชเซ เชคเซ เชเชฒเซเช เชธเซเชเซเชเชจเชพ เชญเชพเช เชฐเซเชชเซ เชเชพเชฎ เชเชฐเซ เชเซ, เช
เชจเซ เช
เชฎเซ เชคเซเชจเซ เช
เชฒเช เชเชฐเซ เชฆเซเชงเซเช.
เชคเชฎเซ เชเชพเชฎ เชเชฐเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชคเซ เช เชจเซเชเซเชณ เชจเชฅเซ.
XPACK_MONITORING_ENABLED เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชตเซเชฐเซเชเชฌเชฒ เชฆเซเชตเชพเชฐเชพ เช เชเซเชเชจเซ เช เชเซเชทเชฎ เชเชฐเชตเชพเชจเซ เชเชเซเชฒ เชเซ.
เชเชพเชฒเซ docker-compose.yml เชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชเชฐเซเช เช เชจเซ เชคเซเชจเซ เชซเชฐเซเชฅเซ เชเชฒเชพเชตเซเช:
version: '3'
networks:
elk:
volumes:
elasticsearch:
driver: local
services:
logstash:
container_name: logstash_one_channel
image: docker.elastic.co/logstash/logstash:6.3.2
networks:
- elk
environment:
XPACK_MONITORING_ENABLED: "false"
ports:
- 5046:5046
volumes:
- ./config/pipelines.yml:/usr/share/logstash/config/pipelines.yml:ro
- ./config/pipelines:/usr/share/logstash/config/pipelines:ro
เชนเชตเซ, เชฌเชงเซเช เชธเชพเชฐเซเช เชเซ. เชเชจเซเชเซเชจเชฐ เชชเซเชฐเชฏเซเชเซ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชเซ.
เช เชฎเซ เชฌเชพเชเซเชจเชพ เชเชจเซเชธเซเชฒเชฎเชพเช เชซเชฐเซเชฅเซ เชเชพเชเชช เชเชฐเซ เชถเชเซเช เชเซเช:
echo '13123123123123123123123213123213' | nc localhost 5046
เช เชจเซ เชเซเช:
logstash_one_channel | {
logstash_one_channel | "message" => "13123123123123123123123213123213",
logstash_one_channel | "@timestamp" => 2019-04-29T11:43:44.582Z,
logstash_one_channel | "@version" => "1",
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "host" => "gateway",
logstash_one_channel | "port" => 49418
logstash_one_channel | }
เชเช เชเซเชจเชฒเชฎเชพเช เชเชพเชฎ เชเชฐเซ
เชคเซเชฅเซ เช เชฎเซ เชถเชฐเซ เชเชฐเซเชฏเซเช. เชนเชตเซ เชคเชฎเซ เชเชฐเซเชเชฐ เชฒเซเชเชธเซเชเซเชถเชจเซ เชธเซเชงเซเช เชเซเช เชตเชตเชพ เชฎเชพเชเซ เชธเชฎเชฏ เชเชพเชขเซ เชถเชเซ เชเซ. เชเชพเชฒเซ เชนเชฎเชฃเชพเช เชฎเชพเชเซ pipelines.yml เชซเชพเชเชฒเชจเซ เชธเซเชชเชฐเซเชถ เชจ เชเชฐเซเช, เชเชพเชฒเซ เชเซเชเช เชเซ เชเชชเชฃเซ เชเช เชเซเชจเชฒ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเซเชจเซ เชถเซเช เชฎเซเชณเชตเซ เชถเชเซเช เชเซเช.
เชฎเชพเชฐเซ เชเชนเซเชตเซเช เช เชเซเชเช เชเซ เชเซเชจเชฒ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพเชจเชพ เชธเชพเชฎเชพเชจเซเชฏ เชธเชฟเชฆเซเชงเชพเชเชคเชจเซเช เช
เชนเซเช เช
เชงเชฟเชเซเชค เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพเชฎเชพเช เชธเชพเชฐเซ เชฐเซเชคเซ เชตเชฐเซเชฃเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ
เชเซ เชคเชฎเซ เชฐเชถเชฟเชฏเชจเชฎเชพเช เชตเชพเชเชเชตเชพ เชฎเชพเชเชเชคเชพ เชนเซ, เชคเซ เช
เชฎเซ เชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเซ
เชเชพเชฒเซ เชเชจเชชเซเช เชตเชฟเชญเชพเชเชฎเชพเชเชฅเซ เชเซเชฐเชฎเชฟเช เชฐเซเชคเซ เชเชเช. เช เชฎเซ เชชเชนเซเชฒเชพเชฅเซ เช tcp เชชเชฐ เชเชพเชฎ เชเซเชฏเซเช เชเซ. เช เชนเซเช เชฌเซเชเซเช เชถเซเช เชฐเชธเชชเซเชฐเชฆ เชนเซเช เชถเชเซ?
เชนเซเชฆเชฏเชจเชพ เชงเชฌเชเชพเชฐเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชธเชเชฆเซเชถเชพเชเชจเซเช เชชเชฐเซเชเซเชทเชฃ เชเชฐเซ
เชธเซเชตเชเชพเชฒเชฟเชค เชชเชฐเซเชเซเชทเชฃ เชธเชเชฆเซเชถเชพเช เชเชจเชฐเซเช เชเชฐเชตเชพเชจเซ เชเชตเซ เชฐเชธเชชเซเชฐเชฆ เชถเชเซเชฏเชคเชพ เชเซ.
เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชเชจเชชเซเช เชตเชฟเชญเชพเชเชฎเชพเช เชนเชพเชฐเซเชเชฌเซเชจ เชชเซเชฒเชเชเชจ เชถเชพเชฎเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
input {
heartbeat {
message => "HeartBeat!"
}
}
เช เชฎเซ เชคเซเชจเซ เชเชพเชฒเซ เชเชฐเซเช เชเซเช, เช เชฎเซ เชเช เชฎเชฟเชจเชฟเชเชฎเชพเช เชเชเชตเชพเชฐ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซเช เชเซเช
logstash_one_channel | {
logstash_one_channel | "@timestamp" => 2019-04-29T13:52:04.567Z,
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "message" => "HeartBeat!",
logstash_one_channel | "@version" => "1",
logstash_one_channel | "host" => "a0667e5c57ec"
logstash_one_channel | }
เช
เชฎเซ เชตเชงเซ เชตเชเชค เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช, เช
เชฎเชพเชฐเซ เช
เชเชคเชฐเชพเชฒ เชชเชฐเชฟเชฎเชพเชฃ เชเชฎเซเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เช เชฐเซเชคเซ เช
เชฎเชจเซ เชฆเชฐ 10 เชธเซเชเชจเซเชกเซ เชเช เชธเชเชฆเซเชถ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ.
input {
heartbeat {
message => "HeartBeat!"
interval => 10
}
}
เชซเชพเชเชฒเชฎเชพเชเชฅเซ เชกเซเชเชพ เชฎเซเชณเชตเชตเซ
เช เชฎเซ เชซเชพเชเชฒ เชฎเซเชก เชเซเชตเชพเชจเซเช เชชเชฃ เชจเชเซเชเซ เชเชฐเซเชฏเซเช. เชเซ เชคเซ เชซเชพเชเชฒ เชธเชพเชฅเซ เชฌเชฐเชพเชฌเชฐ เชเชพเชฎ เชเชฐเซ เชเซ, เชคเซ เชถเชเซเชฏ เชเซ เชเซ เชเซเช เชเชเชจเซเชเชจเซ เชเชฐเซเชฐ เชจเชฅเซ, เชธเชพเชฐเซเช, เชเชเชพเชฎเชพเช เชเชเชพ เชธเซเชฅเชพเชจเชฟเช เชเชชเชฏเซเช เชฎเชพเชเซ.
เชตเชฐเซเชฃเชจ เชฎเซเชเชฌ, เชเชชเชฐเซเชถเชจเชจเซ เชฎเซเชก tail -f เชเซเชตเซ เช เชนเซเชตเซ เชเซเชเช, เชเชเชฒเซ เชเซ. เชจเชตเซ เชฒเชพเชเชจ เชตเชพเชเชเซ เชเซ เช เชฅเชตเชพ เชตเซเชเชฒเซเชชเชฟเช เชฐเซเชคเซ, เชเชเซ เชซเชพเชเชฒ เชตเชพเชเชเซ เชเซ.
เชคเซ เชเชชเชฃเซ เชถเซเช เชฎเซเชณเชตเชตเชพ เชฎเชพเชเชเซเช เชเซเช:
- เช เชฎเซ เชเช เชฒเซเช เชซเชพเชเชฒ เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒเซ เชฒเซเชเซเช เชฎเซเชณเชตเชตเชพ เชฎเชพเชเชเซเช เชเซเช.
- เช เชฎเซ เชกเซเชเชพ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช เชเซ เชเชฃเซ เชฒเซเช เชซเชพเชเชฒเซ เชชเชฐ เชฒเชเชพเชฏเซเชฒ เชเซ, เชเซเชฏเชพเชฐเซ เชคเซ เชเซเชฏเชพเชเชฅเซ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซเช เชนเชคเซเช เชคเซ เช เชฒเช เชเชฐเชตเชพเชฎเชพเช เชธเชเซเชทเชฎ เชเซเช.
- เช เชฎเซ เชเชพเชคเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช เชเซ เชเซเชฏเชพเชฐเซ เชฒเซเชเชธเซเชเซเชถ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชฅเชพเชฏ, เชคเซเชฏเชพเชฐเซ เชคเซ เช เชกเซเชเชพ เชซเชฐเซเชฅเซ เชชเซเชฐเชพเชชเซเชค เชเชฐเชถเซ เชจเชนเซเช.
- เช เชฎเซ เชคเชชเชพเชธเชตเชพ เชฎเชพเชเชเซเช เชเซเช เชเซ เชเซ เชฒเซเชเชธเซเชเซเชถ เช เชเซเชทเชฎ เชเซ, เช เชจเซ เชกเซเชเชพ เชซเชพเชเชฒเซเชฎเชพเช เชฒเชเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเซ เชเซ, เชคเซ เชเซเชฏเชพเชฐเซ เช เชฎเซ เชคเซเชจเซ เชเชฒเชพเชตเซเชถเซเช, เชคเซเชฏเชพเชฐเซ เช เชฎเชจเซ เช เชกเซเชเชพ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ.
เชชเซเชฐเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ, เชเชพเชฒเซ docker-compose.yml เชฎเชพเช เชตเชงเซ เชเช เชฒเซเชเซ เชเชฎเซเชฐเซเช, เชเซเชฏเชพเช เชเชชเชฃเซ เชซเชพเชเชฒเซ เชฎเซเชเซเช เชเซเช เชคเซ เชกเชฟเชฐเซเชเซเชเชฐเซ เชเซเชฒเซเช.
version: '3'
networks:
elk:
volumes:
elasticsearch:
driver: local
services:
logstash:
container_name: logstash_one_channel
image: docker.elastic.co/logstash/logstash:6.3.2
networks:
- elk
environment:
XPACK_MONITORING_ENABLED: "false"
ports:
- 5046:5046
volumes:
- ./config/pipelines.yml:/usr/share/logstash/config/pipelines.yml:ro
- ./config/pipelines:/usr/share/logstash/config/pipelines:ro
- ./logs:/usr/share/logstash/input
เช เชจเซ habr_pipeline.conf เชฎเชพเช เชเชจเชชเซเช เชตเชฟเชญเชพเช เชฌเชฆเชฒเซ
input {
file {
path => "/usr/share/logstash/input/*.log"
}
}
เช เชฎเซ เชถเชฐเซ:
docker-compose up
เชฒเซเช เชซเชพเชเชฒเซ เชฌเชจเชพเชตเชตเชพ เช เชจเซ เชฒเชเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชเชฆเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช:
โจecho '1' >> logs/number1.log
{
logstash_one_channel | "host" => "ac2d4e3ef70f",
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "@timestamp" => 2019-04-29T14:28:53.876Z,
logstash_one_channel | "@version" => "1",
logstash_one_channel | "message" => "1",
logstash_one_channel | "path" => "/usr/share/logstash/input/number1.log"
logstash_one_channel | }
เชนเชพ, เชคเซ เชเชพเชฎ เชเชฐเซ เชเซ!
เชคเซ เช เชธเชฎเชฏเซ, เชเชชเชฃเซ เชเซเชเช เชเซเช เชเซ เชเชชเชฃเซ เชเชชเชฎเซเชณเซ เชชเชพเชฅ เชซเซเชฒเซเชก เชเชฎเซเชฐเซเชฏเซเช เชเซ. เชคเซเชฅเซ เชญเชตเชฟเชทเซเชฏเชฎเชพเช, เช เชฎเซ เชคเซเชจเชพ เชฆเซเชตเชพเชฐเชพ เชฐเซเชเซเชฐเซเชกเซเชธ เชซเชฟเชฒเซเชเชฐ เชเชฐเซ เชถเชเซเชถเซเช.
เชเชพเชฒเซ เชซเชฐเซเชฅเซ เชชเซเชฐเชฏเชคเซเชจ เชเชฐเซเช:
echo '2' >> logs/number1.log
{
logstash_one_channel | "host" => "ac2d4e3ef70f",
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "@timestamp" => 2019-04-29T14:28:59.906Z,
logstash_one_channel | "@version" => "1",
logstash_one_channel | "message" => "2",
logstash_one_channel | "path" => "/usr/share/logstash/input/number1.log"
logstash_one_channel | }
เช เชจเซ เชนเชตเซ เชฌเซเชเซ เชซเชพเชเชฒ เชชเชฐ:
echo '1' >> logs/number2.log
{
logstash_one_channel | "host" => "ac2d4e3ef70f",
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "@timestamp" => 2019-04-29T14:29:26.061Z,
logstash_one_channel | "@version" => "1",
logstash_one_channel | "message" => "1",
logstash_one_channel | "path" => "/usr/share/logstash/input/number2.log"
logstash_one_channel | }
เชธเชฐเชธ! เชซเชพเชเชฒ เชฒเซเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ, เชชเชพเชฅ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชจเชฟเชฐเซเชฆเชฟเชทเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ, เชฌเชงเซเช เชฌเชฐเชพเชฌเชฐ เชเซ.
เชฒเซเชเชธเซเชเซเชถ เชฌเชเชง เชเชฐเซ เช เชจเซ เชชเซเชจเชเชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ. เชเชพเชฒเซ เชฐเชพเชน เชเซเชเช. เชฎเซเชจ. เชคเซ. เช เชฎเชจเซ เช เชฐเซเชเซเชฐเซเชกเซเชธ เชซเชฐเซเชฅเซ เชชเซเชฐเชพเชชเซเชค เชฅเชคเชพ เชจเชฅเซ.
เช เชจเซ เชนเชตเซ เชธเซเชฅเซ เชนเชฟเชเชฎเชคเชตเชพเชจ เชชเซเชฐเชฏเซเช.
เช เชฎเซ เชฒเซเชเชธเซเชเซเชถ เชฎเซเชเซเช เชเซเช เช เชจเซ เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเซเช เชเซเช:
echo '3' >> logs/number2.log
echo '4' >> logs/number1.log
เชซเชฐเซเชฅเซ เชฒเซเชเชธเซเชเซเชถ เชเชฒเชพเชตเซ เช เชจเซ เชเซเช:
logstash_one_channel | {
logstash_one_channel | "host" => "ac2d4e3ef70f",
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "message" => "3",
logstash_one_channel | "@version" => "1",
logstash_one_channel | "path" => "/usr/share/logstash/input/number2.log",
logstash_one_channel | "@timestamp" => 2019-04-29T14:48:50.589Z
logstash_one_channel | }
logstash_one_channel | {
logstash_one_channel | "host" => "ac2d4e3ef70f",
logstash_one_channel | "habra_field" => "Hello Habr",
logstash_one_channel | "message" => "4",
logstash_one_channel | "@version" => "1",
logstash_one_channel | "path" => "/usr/share/logstash/input/number1.log",
logstash_one_channel | "@timestamp" => 2019-04-29T14:48:50.856Z
logstash_one_channel | }
เชนเซเชฐเซ! เชฌเชงเซเช เชเชชเชพเชกเซเชฏเซเช.
เชชเชฐเชเชคเซ, เชจเซเชเซเชจเชพ เชตเชฟเชถเซ เชเซเชคเชตเชฃเซ เชเชชเชตเซ เชเชฐเซเชฐเซ เชเซ. เชเซ เชฒเซเชเชธเซเชเซเชถ เชเชจเซเชเซเชจเชฐ เชฆเซเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชคเซ (เชกเซเชเชฐ เชธเซเชเซเชช logstash_one_channel && docker rm logstash_one_channel), เชเชเชเชชเชฃ เชฒเซเชตเชพเชฎเชพเช เชเชตเชถเซ เชจเชนเซเช. เชซเชพเชเชฒเชจเซ เชธเซเชฅเชฟเชคเชฟ เชเซ เชเซเชฏเชพเช เชธเซเชงเซ เชคเซ เชตเชพเชเชเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ เชคเซ เชเชจเซเชเซเชจเชฐเชจเซ เช เชเชฆเชฐ เชธเชเชเซเชฐเชนเชฟเชค เชนเชคเซ. เชเซ เชคเชฎเซ เชถเชฐเซเชเชคเชฅเซ เชถเชฐเซ เชเชฐเซ เชเซ, เชคเซ เชคเซ เชซเชเซเชค เชจเชตเซ เชฒเชพเชเชจ เชธเซเชตเซเชเชพเชฐเชถเซ.
เชนเชพเชฒเชจเซ เชซเชพเชเชฒเซ เชตเชพเชเชเซ เชฐเชนเซเชฏเชพ เชเซเช
เชเชพเชฒเซ เชเชนเซเช เชเซ เช
เชฎเซ เชชเซเชฐเชฅเชฎ เชตเชเชค เชฒเซเชเชธเซเชเซเชถ เชเชฒเชพเชตเซ เชฐเชนเซเชฏเชพ เชเซเช, เชชเชฐเชเชคเซ เช
เชฎเชพเชฐเซ เชชเชพเชธเซ เชชเชนเซเชฒเซเชฅเซ เช เชฒเซเช เชเซ เช
เชจเซ เช
เชฎเซ เชคเซเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช.
เชเซ เชเชชเชฃเซ เชเชชเชฐ เชเชชเชฏเซเช เชเชฐเซเชฒ เชเชจเชชเซเช เชตเชฟเชญเชพเช เชธเชพเชฅเซ เชฒเซเชเชธเซเชเซเชถ เชเชฒเชพเชตเซเช, เชคเซ เชเชชเชฃเชจเซ เชเชเชเชชเชฃ เชฎเชณเชถเซ เชจเชนเซเช. เชฒเซเชเชธเซเชเซเชถ เชฆเซเชตเชพเชฐเชพ เชซเชเซเชค เชจเชตเซ เชฒเชพเชเชจ เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชนเชพเชฒเชจเซ เชซเชพเชเชฒเซเชฎเชพเชเชฅเซ เชฐเซเชเชพเช เชเซเชเชเชตเชพ เชฎเชพเชเซ, เชเชจเชชเซเช เชตเชฟเชญเชพเชเชฎเชพเช เชตเชงเชพเชฐเชพเชจเซ เชฒเชพเชเชจ เชเชฎเซเชฐเซ:
input {
file {
start_position => "beginning"
path => "/usr/share/logstash/input/*.log"
}
}
เชคเชฆเซเชชเชฐเชพเชเชค, เชคเซเชฏเชพเช เชเช เชธเซเชเซเชทเซเชฎเชคเชพ เชเซ, เช เชซเชเซเชค เชจเชตเซ เชซเชพเชเชฒเซเชจเซ เช เชธเชฐ เชเชฐเซ เชเซ เชเซ เชฒเซเชเชธเซเชเซเชถเซ เชนเชเซ เชธเซเชงเซ เชเซเช เชจเชฅเซ. เชคเซ เช เชซเชพเชเชฒเซ เชฎเชพเชเซ เชเซ เชเซ เชชเชนเซเชฒเชพเชฅเซ เช เชฒเซเชเชธเซเชเซเชถเชจเชพ เชฆเซเชถเซเชฏเชจเชพ เชเซเชทเซเชคเซเชฐเชฎเชพเช เชนเชคเซ, เชคเซ เชชเชนเซเชฒเชพเชฅเซ เช เชคเซเชฎเชจเซเช เชเชฆ เชฏเชพเชฆ เชฐเชพเชเซ เชเซ เช เชจเซ เชนเชตเซ เชคเซเชฎเชพเช เชซเชเซเชค เชจเชตเชพ เชฐเซเชเซเชฐเซเชกเซเชธ เชฒเซเชถเซ.
เชเชพเชฒเซ เชเชจเชชเซเช เชตเชฟเชญเชพเชเชจเซ เช เชญเซเชฏเชพเชธ เชเชฐเซเชจเซ เชเชจเชพ เชชเชฐ เช เชเชเซเช. เชคเซเชฏเชพเช เชเชฃเชพ เชฌเชงเชพ เชตเชฟเชเชฒเซเชชเซ เชเซ, เชชเชฐเชเชคเซ เชนเชฎเชฃเชพเช เชฎเชพเชเซ, เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชตเชงเซ เชชเซเชฐเชฏเซเชเซ เชฎเชพเชเซ เชชเซเชฐเชคเชพ เชเซ.
เชฐเซเชเซเชเช เช เชจเซ เชกเซเชเชพ เชเซเชฐเชพเชจเซเชธเชซเซเชฐเซเชฎเซเชถเชจ
เชเชพเชฒเซ เชจเซเชเซเชจเซ เชธเชฎเชธเซเชฏเชพเชจเซ เชนเชฒ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเช, เชเชพเชฒเซ เชเชนเซเช เชเซ เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชเช เชเซเชจเชฒเชจเชพ เชธเชเชฆเซเชถเชพ เชเซ, เชคเซเชฎเชพเชเชฅเซ เชเซเชเชฒเชพเช เชฎเชพเชนเชฟเชคเซเชชเซเชฐเชฆ เชเซ, เช เชจเซ เชเซเชเชฒเชพเช เชญเซเชฒ เชธเชเชฆเซเชถเชพเช เชเซ. เชคเซเช เชเซเชเชฎเชพเช เช เชฒเช เชชเชกเซ เชเซ. เชเซเชเชฒเซเช เชฎเชพเชนเชฟเชคเซ เชเซ, เช เชจเซเชฏ ERROR เชเซ.
เชเชชเชฃเซ เชคเซเชฎเชจเซ เชฌเชนเชพเชฐ เชจเซเชเชณเชคเซ เชตเชเชคเซ เช เชฒเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชคเซ. เช เชฎเซ เชเช เชเซเชจเชฒเชฎเชพเช เชฎเชพเชนเชฟเชคเซเชชเซเชฐเชฆ เชธเชเชฆเซเชถเชพเช เช เชจเซ เชฌเซเชเซ เชเซเชจเชฒเชฎเชพเช เชญเซเชฒ เชธเชเชฆเซเชถเชพเช เชฒเชเซเช เชเซเช.
เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชเชจเชชเซเช เชตเชฟเชญเชพเชเชฎเชพเชเชฅเซ เชซเชฟเชฒเซเชเชฐ เช เชจเซ เชเชเชเชชเซเช เชชเชฐ เชเชพเช.
เชซเชฟเชฒเซเชเชฐ เชตเชฟเชญเชพเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เช เชฎเซ เชเชตเชจเชพเชฐเชพ เชธเชเชฆเซเชถเชจเซ เชชเชพเชฐเซเชธ เชเชฐเซเชถเซเช, เชคเซเชฎเชพเชเชฅเซ เชนเซเชถ (เชเซ-เชตเซเชฒเซเชฏเซ เชเซเชกเซเช) เชฎเซเชณเชตเซเชถเซเช, เชเซเชจเซ เชธเชพเชฅเซ เชเชชเชฃเซ เชชเชนเซเชฒเซเชฅเซ เช เชเชพเชฎ เชเชฐเซ เชถเชเซเช เชเซเช, เชเชเชฒเซ เชเซ. เชถเชฐเชคเซ เช เชจเซเชธเชพเชฐ เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเซ. เช เชจเซ เชเชเชเชชเซเช เชตเชฟเชญเชพเชเชฎเชพเช, เช เชฎเซ เชธเชเชฆเซเชถเชพเช เชชเชธเชเชฆ เชเชฐเซเชถเซเช เช เชจเซ เชฆเชฐเซเชเชจเซ เชคเซเชจเซ เชชเซเชคเชพเชจเซ เชเซเชจเชฒ เชชเชฐ เชฎเซเชเชฒเซเชถเซเช.
เชเซเชฐเซเช เชธเชพเชฅเซ เชธเชเชฆเซเชถเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ
เชเซเชเซเชธเซเช เชฒเชพเชเชจเซเชธเชจเซ เชชเชพเชฐเซเชธ เชเชฐเชตเชพ เช เชจเซ เชคเซเชฎเชพเชเชฅเซ เชซเซเชฒเซเชกเซเชธเชจเซ เชธเชฎเซเชน เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ, เชซเชฟเชฒเซเชเชฐ เชตเชฟเชญเชพเชเชฎเชพเช เชเช เชตเชฟเชถเซเชท เชชเซเชฒเชเชเชจ เชเซ - grok.
เช
เชนเซเช เชคเซเชจเซเช เชตเชฟเชเชคเชตเชพเชฐ เชตเชฐเซเชฃเชจ เชเชชเชตเชพเชจเซเช เชฒเชเซเชทเซเชฏ เชจเชเซเชเซ เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ (เช เชฎเชพเชเซ เชนเซเช เชธเชเชฆเชฐเซเชญ เชฒเชเช เชเซเช
เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชเชจเชชเซเช เชฒเชพเชเชจเชจเชพ เชซเซเชฐเซเชฎเซเช เชชเชฐ เชจเชฟเชฐเซเชฃเชฏ เชฒเซเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชฎเชพเชฐเซ เชชเชพเชธเซ เชคเซเช เชเชจเชพ เชเซเชตเชพ เชเซ:
1 เชฎเชพเชนเชฟเชคเซ เชธเชเชฆเซเชถ1
2 เชญเซเชฒ เชธเชเชฆเซเชถ2
เชคเซ. เชชเชนเซเชฒเชพ เชเชณเชเชเชฐเซเชคเชพ, เชชเชเซ INFO/ERROR, เชชเชเซ เชเชพเชฒเซ เชเชเซเชฏเชพ เชตเชเชฐเชจเซ เช
เชฎเซเช เชถเชฌเซเชฆ.
เชฎเซเชถเซเชเซเชฒ เชจเชฅเซ, เชชเชฐเชเชคเซ เชเชชเชฐเซเชถเชจเชจเชพ เชธเชฟเชฆเซเชงเชพเชเชคเชจเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชคเซเช เชเซ.
เชคเซเชฅเซ, เชซเชฟเชฒเซเชเชฐ เชตเชฟเชญเชพเชเชฎเชพเช, เชเซเชฐเซเช เชชเซเชฒเชเชเชจเชฎเชพเช, เช เชฎเชพเชฐเซ เช เชฎเชพเชฐเชพ เชถเชฌเซเชฆเชฎเชพเชณเชพเชเชจเซเช เชชเชฆเชเซเชเซเชฆเชจ เชเชฐเชตเชพ เชฎเชพเชเซ เชเช เชชเซเชเชฐเซเชจ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เชคเซ เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชถเซ:
filter {
grok {
match => { "message" => ["%{INT:message_id} %{LOGLEVEL:message_type} %{WORD:message_text}"] }
}
}
เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, เชคเซ เชจเชฟเชฏเชฎเชฟเชค เช
เชญเชฟเชตเซเชฏเชเซเชคเชฟ เชเซ. เชคเซเชฏเชพเชฐ เชชเซเชเชฐเซเชจเชจเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ, เชเซเชฎ เชเซ INT, LOGLEVEL, WORD. เชคเซเชฎเชจเซเช เชตเชฐเซเชฃเชจ, เชคเซเชฎเช เช
เชจเซเชฏ เชฆเชพเชเชฒเชพเช, เช
เชนเซเช เชเซเช เชถเชเชพเชฏ เชเซ.
เชนเชตเซ, เช เชซเชฟเชฒเซเชเชฐเชฎเชพเชเชฅเซ เชชเชธเชพเชฐ เชฅเชคเชพเช, เชเชชเชฃเซ เชธเซเชเซเชฐเซเชเช เชคเซเชฐเชฃ เชซเซเชฒเซเชกเชจเซ เชนเซเชถเชฎเชพเช เชซเซเชฐเชตเชพเช เชเชถเซ: message_id, message_type, message_text.
เชคเซเช เชเชเชเชชเซเช เชตเชฟเชญเชพเชเชฎเชพเช เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชถเซ.
if เชเชฆเซเชถ เชธเชพเชฅเซ เชเชเชเชชเซเช เชตเชฟเชญเชพเชเชฎเชพเช เชธเชเชฆเซเชถเชพเชเชจเซ เชฐเซเชเซเชเช เชเชฐเซ
เชเชเชเชชเซเช เชตเชฟเชญเชพเชเชฎเชพเช, เชเซเชฎ เช เชฎเชจเซ เชฏเชพเชฆ เชเซ, เช เชฎเซ เชธเชเชฆเซเชถเชพเชเชจเซ เชฌเซ เชธเซเชเซเชฐเซเชฎเชฎเชพเช เชตเชฟเชญเชพเชเชฟเชค เชเชฐเชตเชพเชจเชพ เชนเชคเชพ. เชเซเชเชฒเชพเช - เชเซ iNFO เชเซ, เช เชฎเซ เชเชจเซเชธเซเชฒเชฎเชพเช เชเชเชเชชเซเช เชเชฐเซเชถเซเช, เช เชจเซ เชญเซเชฒเซ เชธเชพเชฅเซ, เช เชฎเซ เชซเชพเชเชฒเชฎเชพเช เชเชเชเชชเซเช เชเชฐเซเชถเซเช.
เช เชฎเซ เช เชธเชเชฆเซเชถเชพเช เชเซเชตเซ เชฐเซเชคเซ เชถเซเชฐ เชเชฐเซ เชถเชเซเช? เชธเชฎเชธเซเชฏเชพเชจเซ เชธเซเชฅเชฟเชคเชฟ เชชเชนเซเชฒเซเชฅเซ เช เชเชเซเชฒ เชธเซเชเชตเซ เชเซ - เชเซเชตเชเซ, เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชชเชนเซเชฒเซเชฅเซ เช เชเช เชธเชฎเชฐเซเชชเชฟเชค เชฎเซเชธเซเช_เชเชพเชเชช เชซเซเชฒเซเชก เชเซ, เชเซ เชซเชเซเชค เชฌเซ เชฎเซเชฒเซเชฏเซ INFO เช เชจเซ ERROR เชฒเช เชถเชเซ เชเซ. เชคเซเชจเชพ เชชเชฐ เชเชชเชฃเซ if เชธเซเชเซเชเชฎเซเชจเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชชเชธเชเชฆเชเซ เชเชฐเซเชถเซเช.
if [message_type] == "ERROR" {
# ะะดะตัั ะฒัะฒะพะดะธะผ ะฒ ัะฐะนะป
} else
{
# ะะดะตัั ะฒัะฒะพะดะธะผ ะฒ stdout
}
เชเซเชทเซเชคเซเชฐเซ เช
เชจเซ เชเชชเชฐเซเชเชฐเซ เชธเชพเชฅเซเชจเชพ เชเชพเชฐเซเชฏเชจเซเช เชตเชฐเซเชฃเชจ เช เชตเชฟเชญเชพเชเชฎเชพเช เชฎเชณเซ เชถเชเซ เชเซ
เชนเชตเซ, เชจเชฟเชทเซเชเชฐเซเชท เชชเซเชคเซ เชตเชฟเชถเซ.
เชเชจเซเชธเซเชฒ เชเชเชเชชเซเช, เช เชนเซเช เชฌเชงเซเช เชธเซเชชเชทเซเช เชเซ - stdout {}
เชชเชฐเชเชคเซ เชซเชพเชเชฒเชจเซเช เชเชเชเชชเซเช - เชฏเชพเชฆ เชฐเชพเชเซ เชเซ เชเชชเชฃเซ เช เชฌเชงเซเช เชเชจเซเชเซเชจเชฐเชฎเชพเชเชฅเซ เชเชฒเชพเชตเซเช เชเซเช เช เชจเซ เชเซ เชซเชพเชเชฒเชฎเชพเช เชเชชเชฃเซ เชชเชฐเชฟเชฃเชพเชฎ เชฒเชเซเช เชเซเช เชคเซ เชฌเชนเชพเชฐเชฅเซ เชเชชเชฒเชฌเซเชง เชฅเชพเชฏ เชคเซ เชฎเชพเชเซ, เชเชชเชฃเซ เช เชกเชฟเชฐเซเชเซเชเชฐเซเชจเซ docker-compose.yml เชฎเชพเช เชเซเชฒเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เชเซเชฒ:
เช เชฎเชพเชฐเซ เชซเชพเชเชฒเชจเซ เชเชเชเชชเซเช เชตเชฟเชญเชพเช เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ:
โจoutput {
if [message_type] == "ERROR" {
file {
path => "/usr/share/logstash/output/test.log"
codec => line { format => "custom format: %{message}"}
}
} else
{stdout {
}
}
}
เชเชเชเชชเซเช เชฎเชพเชเซ docker-compose.yml เชฎเชพเช เชตเชงเซ เชเช เชตเซเชฒเซเชฏเซเชฎ เชเชฎเซเชฐเซ:
version: '3'
networks:
elk:
volumes:
elasticsearch:
driver: local
services:
logstash:
container_name: logstash_one_channel
image: docker.elastic.co/logstash/logstash:6.3.2
networks:
- elk
environment:
XPACK_MONITORING_ENABLED: "false"
ports:
- 5046:5046
volumes:
- ./config/pipelines.yml:/usr/share/logstash/config/pipelines.yml:ro
- ./config/pipelines:/usr/share/logstash/config/pipelines:ro
- ./logs:/usr/share/logstash/input
- ./output:/usr/share/logstash/output
เช
เชฎเซ เชถเชฐเซ เชเชฐเซเช เชเซเช, เช
เชฎเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเช เชเซเช, เช
เชฎเซ เชฌเซ เชชเซเชฐเชตเชพเชนเซเชฎเชพเช เชตเชฟเชญเชพเชเชจ เชเซเชเช เชเซเช.
เชธเซเชฐเซเชธ: www.habr.com