Skip to content

NimTechnology

Trình bày các công nghệ CLOUD một cách dễ hiểu.

  • Kubernetes & Container
    • Docker
    • Kubernetes
      • Ingress
    • Helm Chart
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Spinnaker
    • Jenkins
  • Coding
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
    • Golang
    • Laravel
    • Jquery & JavaScript
    • Git
    • Selenium
  • Log & Monitor
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
  • Toggle search form

[Logstash] Multi config, input, filter, output inside a Logstash server and Not conflict

Posted on August 8, 2021February 1, 2022 By nim No Comments on [Logstash] Multi config, input, filter, output inside a Logstash server and Not conflict

Hướng dẫn chạy logstash trên docker

git clone https://github.com/deviantony/docker-elk.git
cd docker-elk/

Ở đây mình chỉ chạy logstash thôi nên sửa lại file docker-compose chút

version: '3.2'

services:

  logstash_openvpn:
    build:
      context: logstash/
      args:
        ELK_VERSION: $ELK_VERSION
    volumes:
      - type: bind
        source: ./logstash/config/logstash.yml
        target: /usr/share/logstash/config/logstash.yml
        read_only: true
      - type: bind
        source: ./logstash/config/pipelines.yml
        target: /usr/share/logstash/config/pipelines.yml
        read_only: true
      - type: bind
        source: ./logstash/pipeline
        target: /usr/share/logstash/pipeline
        read_only: true
    ports:
      - "5041:5044"
      - "3514:3514"
    environment:
      LS_JAVA_OPTS: "-Xmx256m -Xms256m"
    networks:
      - elk

networks:
  elk:
    driver: bridge

volumes:
  elasticsearch:

Ở đây mình custom port và “./logstash/config/pipelines.yml” để chạy multi file config pipeline trong đó có multi input, filter, output

Trong một lớp học elk của itforvn mình được chia sẽ làm sao để phân tách nhiều input, filter, output trong cùng 1 logstash thì có cách bạn có thể if else đặt thêm type cho kiểm nhận log:

https://thachnuida.com/2016/12/04/push-nginx-log-to-elasticsearch-by-using-logstash/

Nhưng mà mình thì muốn là tạo nhiều file rời rạc để quản lý thay vì viết 1 file quá dài

Chúng ta cùng tìm hiểu file pipelines.yml

# This file is where you define your pipelines. You can define multiple.
# For more information on multiple pipelines, see the documentation:
#   https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html

- pipeline.id: main
  path.config: "/usr/share/logstash/pipeline/logstash.conf"

- pipeline.id: syslog
  path.config: "/usr/share/logstash/pipeline/syslog.conf"

Ở đây mình chia thành 2 pipeline.id khách nhau và các config trong logstash.conf sẽ không hề ảnh hướng đến syslog.conf

file mặc định sẽ dưới đây

# This file is where you define your pipelines. You can define multiple.
# For more information on multiple pipelines, see the documentation:
#   https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html

- pipeline.id: main
  path.config: "/usr/share/logstash/pipeline/"

Các file trong thư mục /usr/share/logstash/pipeline/ thì chạy chung 1 pipeline.id nên nếu có nhiều file config thì chúng sẽ ghi đè lên nhau và rất dễ sung đột hoặc mất log cần thiết.

Điều này là rất cần thiết vì 1 container logstash khá là nặng:

Chúng ta cần tận dụng tối đa khả năng multiple của logstash

ELK, Log & Monitor, Logstash

Post navigation

Previous Post: [Selenium] Undetected Selenium Webdriver – Làm sao trang web không nhận ra bạn đang sử dụng Selenium Webdriver!
Next Post: [Fortigate] Cấu hình firewall fortigate gửi syslog sang Logstash

More Related Articles

[Kibana] Sankey chart draw from point A to point B – So beautiful ELK
[Grafana] Hướng dấn tạo Menu Dropdown trên Grafana Grafana
[Fortigate] Cấu hình firewall fortigate gửi syslog sang Logstash BareMetal
[logstash/kibana] Draw a Map on Kibana by data from Logstash – Fix “Index pattern does not contain any geospatial fields” ELK
[Grafana] Graph(old) – Hiện thị chart và table thông tin Grafana
[Prometheus] Relabelling – Đưa thông tin từ Discovered Label sang target label Log & Monitor

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tham Gia Group DevOps nhé!
Để Nim có nhiều động lực ra nhiều bài viết.
Để nhận được những thông báo mới nhất.

Recent Posts

  • Protected: My Assignment  June 24, 2022
  • [Spinnaker] Spinnaker writes too many logs – Reduce spinnaker log level June 22, 2022
  • [Jenkins] Jobs will be created automatically by Jenkins Job Builder June 20, 2022
  • [Postgresql] Install postgresql client and trying a few command postgresql. June 20, 2022
  • [Mount/Nextcloud] How do you mount a hard disk that was used windows into Linux. June 19, 2022

Archives

  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Categories

  • BareMetal
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Jenkins
    • Spinnaker
  • Coding
    • Git
    • Golang
    • Jquery & JavaScript
    • Laravel
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kubernetes
      • Ingress
    • Longhorn – Storage
    • Vault
    • VictoriaMetrics
  • Log & Monitor
    • ELK
      • Kibana
      • Logstash
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2022 NimTechnology.