เจเจพเจฃ เจชเจเจพเจฃ
เจเฉฑเจ เจนเฉเจฐ เจธเจฟเจธเจเจฎ เจจเฉเฉฐ เจคเฉเจจเจพเจค เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจธเจพเจจเฉเฉฐ เจตเฉฑเจกเฉ เจเจฟเจฃเจคเฉ เจตเจฟเฉฑเจ เจตเฉฑเจ-เจตเฉฑเจ เจฒเฉเจเจพเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจเจฐเจจเจพ เจชเจฟเจเฅค ELK เจจเฉเฉฐ เจเฉเจฒ เจตเจเฉเจ เจเฉเจฃเจฟเจ เจเจฟเจ เจธเฉเฅค เจเจน เจฒเฉเจ เจเจธ เจธเจเฉเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจค เจเจฐเจจ เจตเจฟเฉฑเจ เจธเจพเจกเฉ เจ เจจเฉเจญเจต เจฌเจพเจฐเฉ เจเจฐเจเจพ เจเจฐเฉเจเจพเฅค
เจ
เจธเฉเจ เจเจธ เจฆเฉเจเจ เจธเจพเจฐเฉเจเจ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ เจฆเจพ เจตเจฐเจฃเจจ เจเจฐเจจ เจฒเจ เจเฉเจ เจเฉเจเจพ เจจเจนเฉเจ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจฆเฉ เจนเจพเจ, เจชเจฐ เจ
เจธเฉเจ เจตเจฟเจนเจพเจฐเจ เจธเจฎเฉฑเจธเจฟเจเจตเจพเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเจจ 'เจคเฉ เจตเจฟเจธเจผเฉเจธเจผ เจคเฉเจฐ 'เจคเฉ เจงเจฟเจเจจ เจเฉเจเจฆเจฐเจฟเจค เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจเฅค เจเจน เจเจธ เจคเฉฑเจฅ เจฆเฉ เจเจพเจฐเจจ เจนเฉ เจเจฟ เจญเจพเจตเฉเจ เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจ
เจคเฉ เจคเจฟเจเจฐ เจเจฟเฉฑเจคเจฐเจพเจ เจฆเฉ เจเจพเจซเจผเฉ เจตเฉฑเจกเฉ เจฎเจพเจคเจฐเจพ เจนเฉ, เจเฉฑเจฅเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจเจฎเฉเจเจ เจนเจจ, เจเฉฑเจเฉ เจเฉฑเจ เจ
เจธเฉเจ เจเจจเฉเจนเจพเจ เจจเฉเฉฐ เจฒเฉฑเจญ เจฒเจฟเจ เจนเฉ.
เจ
เจธเฉเจ เจกเฉเจเจฐ-เจเฉฐเจชเฉเจเจผ เจฆเฉเจเจฐเจพ เจธเจเฉเจ เจจเฉเฉฐ เจคเฉเจจเจพเจค เจเฉเจคเจพ เจนเฉเฅค เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจธเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจเฉฐเจเฉ-เจฒเจฟเจเจค docker-compose.yml เจธเฉ, เจเจฟเจธ เจจเฉ เจธเจพเจจเฉเฉฐ เจฌเจฟเจจเจพเจ เจเจฟเจธเฉ เจธเจฎเฉฑเจธเจฟเจ เจฆเฉ เจธเจเฉเจ เจจเฉเฉฐ เจตเจงเจพเจเจฃ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฑเจคเฉ เจธเฉเฅค เจ
เจคเฉ เจเจน เจธเจพเจจเฉเฉฐ เจเจพเจชเจฆเจพ เจธเฉ เจเจฟ เจเจฟเฉฑเจค เจชเจนเจฟเจฒเจพเจ เจนเฉ เจจเฉเฉเฉ เจธเฉ, เจนเฉเจฃ เจ
เจธเฉเจ เจเจธ เจจเฉเฉฐ เจเจชเจฃเฉเจเจ เจเจผเจฐเฉเจฐเจคเจพเจ เจฆเฉ เจ
เจจเฉเจเฉเจฒ เจฌเจฃเจพเจเจฃ เจฒเจ เจฅเฉเฉเจพ เจเจฟเจนเจพ เจธเฉเจงเจพเจฐเจพเจเจเฉ เจ
เจคเฉ เจฌเฉฑเจธ เจนเฉ เจเจฟเจเฅค
เจฌเจฆเจเจฟเจธเจฎเจคเฉ เจจเจพเจฒ, เจธเจพเจกเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจคเฉเจ เจฒเฉเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจ เจคเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจจ เจฒเจ เจธเจฟเจธเจเจฎ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจคเฉเจฐเฉฐเจค เจธเจซเจฒ เจจเจนเฉเจ เจนเฉเจเฅค เจเจธ เจฒเจ, เจ เจธเฉเจ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ เจนเฉ เจเจฟ เจนเจฐเฉเจ เจนเจฟเฉฑเจธเฉ เจฆเจพ เจตเฉฑเจเจฐเฉ เจคเฉเจฐ 'เจคเฉ เจ เจงเจฟเจเจจ เจเจฐเจจเจพ, เจ เจคเฉ เจซเจฟเจฐ เจเจนเจจเจพเจ เจฆเฉ เจเจจเฉเจเจธเจผเจจเจพเจ 'เจคเฉ เจตเจพเจชเจธ เจเจพเจฃเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจฃ เจนเฉเฅค
เจเจธ เจฒเจ, เจ เจธเฉเจ เจฒเฉเจเจธเจเฉเจธเจผ เจจเจพเจฒ เจธเจผเฉเจฐเฉเจเจค เจเฉเจคเฉ.
เจตเจพเจคเจพเจตเจฐเจฃ, เจคเฉเจจเจพเจคเฉ, เจเฉฑเจ เจเฉฐเจเฉเจจเจฐ เจตเจฟเฉฑเจ เจฒเฉเจเจธเจเฉเจธเจผ เจเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉ
เจคเฉเจจเจพเจคเฉ เจฒเจ เจ เจธเฉเจ เจกเฉเจเจฐ-เจเฉฐเจชเฉเจเจผ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ; เจเฉฑเจฅเฉ เจตเจฐเจฃเจฟเจค เจชเฉเจฐเจฏเฉเจ MacOS เจ เจคเฉ Ubuntu 18.0.4 'เจคเฉ เจเฉเจคเฉ เจเจ เจธเจจเฅค
เจฒเฉเจเจธเจเฉเจธเจผ เจเจฟเฉฑเจคเจฐ เจเฉ เจธเจพเจกเฉ เจฎเฉเจฒ docker-compose.yml เจตเจฟเฉฑเจ เจฐเจเจฟเจธเจเจฐ เจเฉเจคเจพ เจเจฟเจ เจธเฉ docker.elastic.co/logstash/logstash:6.3.2 เจนเฉ
เจ เจธเฉเจ เจเจธเจจเฉเฉฐ เจชเฉเจฐเจฏเฉเจเจพเจ เจฒเจ เจตเจฐเจคเจพเจเจเฉเฅค
เจ เจธเฉเจ logstash เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ เจเฉฑเจ เจตเฉฑเจเจฐเจพ docker-compose.yml เจฒเจฟเจเจฟเจ เจนเฉเฅค เจฌเฉเจธเจผเฉฑเจ, เจเจฎเจพเจเจก เจฒเจพเจเจจ เจคเฉเจ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจฒเจพเจเจ เจเจฐเจจเจพ เจธเฉฐเจญเจต เจธเฉ, เจชเจฐ เจ เจธเฉเจ เจเฉฑเจ เจเจพเจธ เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐ เจฐเจนเฉ เจธเฉ, เจเจฟเฉฑเจฅเฉ เจ เจธเฉเจ เจกเฉเจเจฐ-เจเฉฐเจชเฉเจเจผ เจคเฉเจ เจธเจญ เจเฉเจ เจเจฒเจพเจเจเจฆเฉ เจนเจพเจเฅค
เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒเจพเจ เจฌเจพเจฐเฉ เจธเฉฐเจเฉเจช เจตเจฟเฉฑเจ
เจตเจฐเจฃเจจ เจคเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจ
เจจเฉเจธเจพเจฐ, เจฒเฉเจเจธเจเฉเจธเจผ เจจเฉเฉฐ เจเจพเจ เจคเจพเจ เจเฉฑเจ เจเฉเจจเจฒ เจฒเจ เจเจฒเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจเจฟเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ เจเจธเจจเฉเฉฐ *.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 เจจเจพเจฒ เจฎเฉเจช เจเจฐเจฆเฉ เจนเจพเจ, เจเจฟเฉฑเจฅเฉ เจฒเฉเจเจธเจเฉเจธเจผ เจเจธเจจเฉเฉฐ เจเฉเฉฑเจ เจฒเจตเฉเจเจพ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจชเฉเฉเจนเจจ เจฒเจ เจฌเจฃเจพ เจฆเฉเจตเฉเจเจพเฅค
- เจ เจธเฉเจ ./config/pipelines เจกเจพเจเจฐเฉเจเจเจฐเฉ, เจเจฟเฉฑเจฅเฉ เจธเจพเจกเฉ เจเฉเจฒ เจเฉเจจเจฒ เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจพเจฒเฉเจเจ เจซเจพเจเจฒเจพเจ เจนเจจ, เจจเฉเฉฐ /usr/share/logstash/config/pipelines เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเฉฑเจ เจฎเฉเจช เจเจฐเจฆเฉ เจนเจพเจ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจชเฉเฉเจนเจจ เจฒเจ เจตเฉ เจฌเจฃเจพเจเจเจฆเฉ เจนเจพเจเฅค
Pipelines.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 ::ResolutionFailure] elasticsearch", ...
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 | [INFO ] "/"}
logstash_one_channel | [2019-04-29T11:29:04,487][WARN][logstash.outputs.elasticsearch] เจฎเจฐเฉ ES เจเจฆเจพเจนเจฐเจจ เจฒเจ เจเจจเฉเจเจธเจผเจจ เจจเฉเฉฐ เจฎเฉเฉ เจธเฉเจฐเจเฉเจค เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเฉเจคเฉ เจเจ, เจชเจฐ เจเฉฑเจ เจคเจฐเฉเฉฑเจเฉ เจฎเจฟเจฒเฉเฅค {:url=>"
logstash_one_channel | [INFO ] "/"}
logstash_one_channel | [2019-04-29T11:29:04,710][WARN ][logstash.licensechecker.licensereader] เจฎเจฐเฉ เจนเฉเจ ES เจเจฆเจพเจนเจฐเจจ เจฒเจ เจเจจเฉเจเจธเจผเจจ เจจเฉเฉฐ เจฎเฉเฉ เจธเฉเจฐเจเฉเจค เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเฉเจคเฉ เจเจ, เจชเจฐ เจเฉฑเจ เจคเจฐเฉเฉฑเจเฉ เจฎเจฟเจฒเฉเฅค {:url=>"
เจ เจคเฉ เจธเจพเจกเจพ เจฒเฉเจ เจนเจฐ เจธเจฎเฉเจ เจตเจง เจฐเจฟเจนเจพ เจนเฉ.
เจเฉฑเจฅเฉ เจฎเฉเจ เจนเจฐเฉ เจฐเฉฐเจ เจตเจฟเฉฑเจ เจธเฉเจจเฉเจนเฉ เจจเฉเฉฐ เจเจเจพเจเจฐ เจเฉเจคเจพ เจนเฉ เจเจฟ เจชเจพเจเจชเจฒเจพเจเจจ เจธเจซเจฒเจคเจพเจชเฉเจฐเจตเจ เจธเจผเฉเจฐเฉ เจนเฉ เจเจ เจนเฉ, เจฒเจพเจฒ เจตเจฟเฉฑเจ เจเจฒเจคเฉ เจธเฉฐเจฆเฉเจธเจผ เจ
เจคเฉ เจชเฉเจฒเฉ เจตเจฟเฉฑเจ เจธเฉฐเจชเจฐเจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจฌเจพเจฐเฉ เจธเฉฐเจฆเฉเจธเจผ
เจ
เจเจฟเจนเจพ เจเจธ เจฒเจ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเจฟเจเจเจเจฟ logstash.conf, เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ เจธเจผเจพเจฎเจฒ, เจตเจฟเฉฑเจ elasticsearch เจเจชเจฒเจฌเจงเจคเจพ เจฆเฉ เจเจพเจเจ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจเจเจผเจฐเจเจพเจฐ, เจฒเฉเจเจธเจเฉเจธเจผ เจฎเฉฐเจจเจฆเจพ เจนเฉ เจเจฟ เจเจน เจเจฒเจ เจธเจเฉเจ เจฆเฉ เจนเจฟเฉฑเจธเฉ เจตเจเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ, เจชเจฐ เจ
เจธเฉเจ เจเจธเจจเฉเฉฐ เจตเฉฑเจ เจเจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉเฅค
เจเฉฐเจฎ เจเจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ, เจชเจฐ เจเจน เจธเฉเจตเจฟเจงเจพเจเจจเจ เจจเจนเฉเจ เจนเฉเฅค
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 เจฆเฉ เจธเจฎเจพเจจ เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ, i.e. เจจเจตเฉเจเจ เจฒเจพเจเจจเจพเจ เจชเฉเฉเจนเจฆเจพ เจนเฉ เจเจพเจ, เจเฉฑเจ เจตเจฟเจเจฒเจช เจตเจเฉเจ, เจชเฉเจฐเฉ เจซเจพเจเจฒ เจจเฉเฉฐ เจชเฉเฉเจนเจฆเจพ เจนเฉเฅค
เจเจธ เจฒเจ เจ เจธเฉเจ เจเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ:
- เจ เจธเฉเจ เจเจนเจจเจพเจ เจฒเจพเจเจจเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ เจเฉ เจเฉฑเจ เจฒเฉเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉเฉเฉเจเจ เจเจเจเจ เจนเจจเฅค
- เจ เจธเฉเจ เจกเจพเจเจพ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ เจเฉ เจเจฟ เจเจ เจฒเฉเจ เจซเจพเจเจฒเจพเจ เจตเจฟเฉฑเจ เจฒเจฟเจเจฟเจ เจเจฟเจ เจนเฉ, เจเจฆเฉเจ เจเจฟ เจเจฟเฉฑเจฅเฉเจ เจชเฉเจฐเจพเจชเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉ เจจเฉเฉฐ เจตเฉฑเจ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจนเฉเจฃ เจฆเฉ เจจเจพเจฒเฅค
- เจ เจธเฉเจ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ เจเจฟ เจเจฆเฉเจ เจฒเฉเจเจธเจเฉเจธเจผ เจฎเฉเฉ เจเจพเจฒเฉ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจคเจพเจ เจเจน เจเจน เจกเฉเจเจพ เจฆเฉเจฌเจพเจฐเจพ เจชเฉเจฐเจพเจชเจค เจจเจนเฉเจ เจเจฐเจฆเจพ เจนเฉเฅค
- เจ เจธเฉเจ เจเจพเจเจ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ เจเจฟ เจเฉเจเจฐ เจฒเฉเจเจธเจเฉเจธเจผ เจฌเฉฐเจฆ เจนเฉ, เจ เจคเฉ เจกเจพเจเจพ เจซเจพเจเจฒเจพเจ เจตเจฟเฉฑเจ เจฒเจฟเจเจฟเจ เจเจพเจฃเจพ เจเจพเจฐเฉ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉ, เจคเจพเจ เจเจฆเฉเจ เจ เจธเฉเจ เจเจธเจจเฉเฉฐ เจเจฒเจพเจเจเจฆเฉ เจนเจพเจ, เจคเจพเจ เจ เจธเฉเจ เจเจน เจกเฉเจเจพ เจชเฉเจฐเจพเจชเจค เจเจฐเจพเจเจเฉเฅค
เจชเฉเจฐเจฏเฉเจ เจเจฐเจจ เจฒเจ, เจเจ 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"
}
}
เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจเฉฑเจ เจธเฉเจเจฎเจคเจพ เจนเฉ: เจเจน เจธเจฟเจฐเจซ เจเจนเจจเจพเจ เจจเจตเฉเจเจ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจชเฉเจฐเจญเจพเจตเจค เจเจฐเจฆเจพ เจนเฉ เจเฉ เจฒเฉเจเจธเจเฉเจธเจผ เจจเฉ เจ เจเฉ เจคเฉฑเจ เจจเจนเฉเจ เจตเฉเจเฉเจเจ เจนเจจ. เจเจนเฉ เจซเจพเจเจฒเจพเจ เจฒเจ เจเฉ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจฒเฉเจเจธเจเฉเจธเจผ เจฆเฉ เจฆเฉเจฐเจฟเจธเจผเจเฉเจเฉเจฃ เจตเจฟเฉฑเจ เจธเจจ, เจเจธ เจจเฉ เจเจนเจจเจพเจ เจฆเฉ เจเจเจพเจฐ เจจเฉเฉฐ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจฏเจพเจฆ เจฐเฉฑเจเจฟเจ เจนเฉ เจ เจคเฉ เจนเฉเจฃ เจเจนเจจเจพเจ เจตเจฟเฉฑเจ เจธเจฟเจฐเจซ เจจเจตเฉเจเจ เจเจเจเจฐเฉเจเจ เจฒเจตเฉเจเฉ.
เจเจ เจเฉฑเจฅเฉ เจฐเฉเจเฉเจ เจ เจคเฉ เจเจจเจชเฉเจ เจธเฉเจเจธเจผเจจ เจฆเจพ เจ เจงเจฟเจเจจ เจเจฐเฉเจเฅค เจ เจเฉ เจตเฉ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจตเจฟเจเจฒเจช เจนเจจ, เจชเจฐ เจเจน เจธเจพเจกเฉ เจฒเจ เจนเฉเจฃ เจฒเจ เจนเฉเจฐ เจชเฉเจฐเจฏเฉเจเจพเจ เจฒเจ เจเจพเจซเฉ เจนเฉเฅค
เจฐเฉเจเจฟเฉฐเจ เจ เจคเฉ เจกเจพเจเจพ เจชเจฐเจฟเจตเจฐเจคเจจ
เจเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเฉเจ, เจฎเฉฐเจจ เจฒเจ เจเจฟ เจธเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจเฉเจจเจฒ เจคเฉเจ เจธเฉฐเจฆเฉเจธเจผ เจนเจจ, เจเจจเฉเจนเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจตเจพเจฒเฉ เจนเจจ, เจ เจคเฉ เจเฉเจ เจเจฒเจคเฉ เจธเฉเจจเฉเจนเฉ เจนเจจเฅค เจเจน เจเฉเจ เจฆเฉเจเจฐเจพ เจตเฉฑเจเจฐเฉ เจนเจจ. เจเฉเจ INFO เจนเจจ, เจเฉเจ ERROR เจนเจจเฅค
เจธเจพเจจเฉเฉฐ เจฌเจพเจนเจฐ เจจเจฟเจเจฒเจฃ 'เจคเฉ เจเจจเฉเจนเจพเจ เจจเฉเฉฐ เจตเฉฑเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจเจน. เจ เจธเฉเจ เจเฉฑเจ เจเฉเจจเจฒ เจตเจฟเฉฑเจ เจเจพเจฃเจเจพเจฐเฉ เจธเฉฐเจฆเฉเจธเจผ เจฒเจฟเจเจฆเฉ เจนเจพเจ, เจ เจคเฉ เจฆเฉเจเฉ เจตเจฟเฉฑเจ เจเจฒเจคเฉ เจธเฉเจจเฉเจนเฉเฅค
เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจเจจเจชเฉเจ เจธเฉเจเจธเจผเจจ เจคเฉเจ เจซเจฟเจฒเจเจฐ เจ เจคเฉ เจเจเจเจชเฉเฉฑเจ 'เจคเฉ เจเจพเจเฅค
เจซเจฟเจฒเจเจฐ เจธเฉเจเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ, เจ เจธเฉเจ เจเจเจฃ เจตเจพเจฒเฉ เจธเฉฐเจฆเฉเจธเจผ เจจเฉเฉฐ เจชเจพเจฐเจธ เจเจฐเจพเจเจเฉ, เจเจธ เจคเฉเจ เจเฉฑเจ เจนเฉเจธเจผ (เจเฉเฉฐเจเฉ-เจฎเฉเฉฑเจฒ เจเฉเฉเฉ) เจชเฉเจฐเจพเจชเจค เจเจฐเจพเจเจเฉ, เจเจฟเจธ เจจเจพเจฒ เจ เจธเฉเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเฉฐเจฎ เจเจฐ เจธเจเจฆเฉ เจนเจพเจ, เจเจฟเจตเฉเจ เจเจฟ. เจธเจผเจฐเจคเจพเจ เจ เจจเฉเจธเจพเจฐ เจตเฉฑเจ เจเจฐเฉ. เจ เจคเฉ เจเจเจเจชเฉเฉฑเจ เจญเจพเจ เจตเจฟเฉฑเจ, เจ เจธเฉเจ เจธเฉเจจเฉเจนเฉ เจเฉเจฃเจพเจเจเฉ เจ เจคเฉ เจนเจฐ เจเฉฑเจ เจจเฉเฉฐ เจเจธเจฆเฉ เจเจชเจฃเฉ เจเฉเจจเจฒ เจคเฉ เจญเฉเจเจพเจเจเฉเฅค
grok เจจเจพเจฒ เจเฉฑเจ เจธเฉเจจเฉเจนเจพ เจชเจพเจฐเจธ เจเจฐเจจเจพ
เจเฉเจเจธเจ เจธเจคเจฐ เจจเฉเฉฐ เจชเจพเจฐเจธ เจเจฐเจจ เจ เจคเฉ เจเจนเจจเจพเจ เจคเฉเจ เจเฉเจคเจฐเจพเจ เจฆเจพ เจเฉฑเจ เจธเฉเฉฑเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ, เจซเจฟเจฒเจเจฐ เจญเจพเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจตเจฟเจธเจผเฉเจธเจผ เจชเจฒเฉฑเจเจเจจ เจนเฉ - grok.
เจเจชเจฃเฉ เจเจช เจจเฉเฉฐ เจเฉฑเจฅเฉ เจเจธเจฆเจพ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจตเฉเจฐเจตเจพ เจฆเฉเจฃ เจฆเจพ เจเฉเจเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจเฉเจคเฉ เจฌเจฟเจจเจพเจ (เจเจธเจฆเฉ เจฒเจ เจฎเฉเจ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฐเจฆเจพ เจนเจพเจ
เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจจเจชเฉเจ เจธเจคเจฐ เจฆเฉ เจซเจพเจฐเจฎเฉเจ 'เจคเฉ เจซเฉเจธเจฒเจพ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจฎเฉเจฐเฉ เจเฉเจฒ เจเจน เจเจธ เจคเจฐเฉเจนเจพเจ เจนเจจ:
1 เจเจพเจฃเจเจพเจฐเฉ เจธเฉเจจเฉเจนเจพ 1
2 เจเจฒเจคเฉ เจธเฉเจจเฉเจนเจพ2
เจเจน. เจชเจเจพเจฃเจเจฐเจคเจพ เจชเจนเจฟเจฒเจพเจ เจเจเจเจฆเจพ เจนเฉ, เจซเจฟเจฐ INFO/ERROR, เจซเจฟเจฐ เจเจพเจฒเฉ เจฅเจพเจ เจคเฉเจ เจฌเจฟเจจเจพเจ เจเฉเจ เจธเจผเจฌเจฆเฅค
เจเจน เจฎเฉเจธเจผเจเจฒ เจจเจนเฉเจ เจนเฉ, เจชเจฐ เจเจชเจฐเฉเจธเจผเจจ เจฆเฉ เจธเจฟเจงเจพเจเจค เจจเฉเฉฐ เจธเจฎเจเจฃ เจฒเจ เจเจน เจเจพเจซเจผเฉ เจนเฉ.
เจเจธ เจฒเจ, grok เจชเจฒเฉฑเจเจเจจ เจฆเฉ เจซเจฟเจฒเจเจฐ เจญเจพเจ เจตเจฟเฉฑเจ, เจธเจพเจจเฉเฉฐ เจเจชเจฃเฉเจเจ เจธเจคเจฐเจพเจ เจจเฉเฉฐ เจชเจพเจฐเจธ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจชเฉเจเจฐเจจ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉเฅค
เจเจน เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเฉเจตเฉเจเจพ:
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