콘텐츠로 이동

Logstash 시트

Logstash는 여러 소스에서 데이터를 섭취하는 강력한 데이터 처리 파이프라인이며 Elasticsearch와 같은 좋아하는 "stash"로 전송합니다. Elastic Stack의 일부이며 분석 및 시각화를 위한 Parsing, filtering, enriching log data에서 발췌합니다. ## 설치 및 설치 ### 패키지 설치 **Ubuntu/Debian: ** 카지노사이트 **CentOS/RHEL: ** 카지노사이트 ### Docker 설치 **Docker Compose 설정: ** 카지노사이트 ## 구성 Basics ### Pipeline 구성 회사연혁 **기본 파이프라인 (logstash.conf):** 카지노사이트 ** 주요 구성 (logstash.yml) : ** 카지노사이트 ## 입력 플러그인 ### 파일 입력 **기본 파일 입력:** 카지노사이트 ** 고급 파일 입력 : ** 카지노사이트 ### Beats 입력 **Filebeat 입력: ** 카지노사이트 ### Syslog 입력 **Syslog UDP ** 입력:** 카지노사이트 **Syslog의 TCP 입력:** 카지노사이트 ### HTTP 입력 **HTTP 웹훅:** ο 회원 관리 ## 필터 플러그인 ### Grok 필터 **Basic Grok 패턴 : ** 카지노사이트 ** 사용자 정의 Grok 패턴 : ** 카지노사이트 **Multiple Grok 패턴 : ** 카지노사이트 ### 날짜 필터 **Parse Timestamps:** 카지노사이트 **Multiple 날짜 체재: ** 카지노사이트 ### Mutate 필터 **Field 조작: ** 카지노사이트 ### JSON 필터 **Parse JSON: ** 카지노사이트 ### CSV 파일 제품정보 **Parse CSV를 데이터:** 카지노사이트 ### 상태 처리 **조건 필터:** 오프화이트 ## 출력 플러그인 ### Elasticsearch 산출 **기본 Elasticsearch 산출:** 카지노사이트 ** 고급 Elasticsearch 산출:** 오프화이트 ### 파일 출력 ** 파일 출력 : ** 카지노사이트 ### Kafka 산출 ** Kafka 출력 : ** 카지노사이트 ### 상태 산출 **Multiple 산출: ** 카지노사이트 ## Pipeline 관리 ### 다중 파이프 라인 파이프 라인.yml 구성:** 카지노사이트 ### Pipeline-to-Pipeline 커뮤니케이션 ** 파이프 라인 : ** 카지노사이트 ** 파이프 라인 받기:** 카지노사이트 ## 명령 선 가동 ### 서비스 관리 ** 서비스 관리:** ```bash # Start Logstash sudo systemctl start logstash # Stop Logstash sudo systemctl stop logstash # Restart Logstash sudo systemctl restart logstash # Check status sudo systemctl status logstash # View logs sudo journalctl -u logstash -f ```의 경우 ### 구성 테스트 ** 테스트 구성:** ```bash # Test configuration syntax sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t # Test with specific config file sudo -u logstash /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/test.conf -t # Run with debug output sudo -u logstash /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/test.conf --log.level debug ```에 대하여 ### 수동 실행 **Run Logstash 매뉴얼 : 더 보기 ```bash # Run with specific config /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf # Run with inline config /usr/share/logstash/bin/logstash -e 'input \\\\{ stdin \\\\{ \\\\} \\\\} output \\\\{ stdout \\\\{\\\\} \\\\}' # Run with additional JVM options LS_JAVA_OPTS="-Xmx2g -Xms2g" /usr/share/logstash/bin/logstash -f config.conf ```의 경우 ## 모니터링 및 디버깅 ### API 모니터링 **노드 통계:** ```bash # Get node information curl -X GET "localhost:9600/_node/stats?pretty" # Get pipeline stats curl -X GET "localhost:9600/_node/stats/pipelines?pretty" # Get JVM stats curl -X GET "localhost:9600/_node/stats/jvm?pretty" # Get process stats curl -X GET "localhost:9600/_node/stats/process?pretty" ```에 대하여 **Pipeline 관리: 더 보기 ```bash # List pipelines curl -X GET "localhost:9600/_node/pipelines?pretty" # Get specific pipeline stats curl -X GET "localhost:9600/_node/stats/pipelines/main?pretty" # Hot reload pipeline curl -X POST "localhost:9600/_node/pipelines/main/reload" ```의 경우 ### 로그 분석 ** 디버그 로깅: 더 보기 카지노사이트 **Performance 감시: 더 보기 카지노사이트 ## 성능 조정 ### 사이트맵 공유하기 **JVM 설정 (jvm.options):** 카지노사이트 ### Pipeline 최적화 **Performance 설정:** 카지노사이트 ### 필터 최적화 ** 효율적인 필터링:** 카지노사이트 ## 보안 설정 ### SSL/TLS 설정 **입력 SSL 구성:** 카지노사이트 **입력 SSL 구성:** ```ruby output \\\\{ elasticsearch \\\\{ hosts => ["https://elasticsearch:9200"] ssl => true ssl_certificate_verification => true ssl_certificate => "/etc/logstash/certs/client.crt" ssl_key => "/etc/logstash/certs/client.key" ssl_certificate_authorities => ["/etc/logstash/certs/ca.crt"] \\\\} \\\\} ```의 경우 ### 인증현황 **Elasticsearch 인증:** ```ruby output \\\\{ elasticsearch \\\\{ hosts => ["localhost:9200"] user => "logstash_writer" password => "$\\\\{LOGSTASH_PASSWORD\\\\}" index => "logstash-%\\\\{+YYYY.MM.dd\\\\}" \\\\} \\\\} ```의 경우 ## 문제 해결 ### 일반적인 문제 **Pipeline 시작: ** 카지노사이트 **Performance 문제:** ```bash # Monitor resource usage top -p $(pgrep -f logstash) iostat -x 1 # Check pipeline stats curl -X GET "localhost:9600/_node/stats/pipelines?pretty" # Analyze slow logs grep "WARN" /var/log/logstash/logstash-plain.log ```의 경우 ** 메모리 문제:** ```bash # Check heap usage jstat -gc $(pgrep -f logstash) # Monitor garbage collection tail -f /var/log/logstash/gc.log # Adjust heap size echo "-Xmx4g" >> /etc/logstash/jvm.options echo "-Xms4g" >> /etc/logstash/jvm.options ```를 호출합니다. ## 통합 예제 ### 사이트맵 Stack 통합 **완전 ELK 파이프:** ```ruby input \\\\{ beats \\\\{ port => 5044 \\\\} \\\\} filter \\\\{ if [@metadata][beat] == "filebeat" \\\\{ if [fields][log_type] == "apache" \\\\{ grok \\\\{ match => \\\\{ "message" => "%\\\\{COMBINEDAPACHELOG\\\\}" \\\\} \\\\} date \\\\{ match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ] \\\\} \\\\} \\\\} \\\\} output \\\\{ elasticsearch \\\\{ hosts => ["elasticsearch:9200"] index => "%\\\\{[@metadata][beat]\\\\}-%\\\\{[@metadata][version]\\\\}-%\\\\{+YYYY.MM.dd\\\\}" \\\\} \\\\} ```의 경우 ### Kafka 통합 **Kafka로 Elasticsearch:** ```ruby input \\\\{ kafka \\\\{ bootstrap_servers => "kafka:9092" topics => ["logs"] group_id => "logstash" consumer_threads => 4 codec => json \\\\} \\\\} filter \\\\{ date \\\\{ match => [ "timestamp", "ISO8601" ] \\\\} \\\\} output \\\\{ elasticsearch \\\\{ hosts => ["elasticsearch:9200"] index => "kafka-logs-%\\\\{+YYYY.MM.dd\\\\}" \\\\} \\\\} ```로

이 포괄적인 Logstash cheatsheet는 효과적인 로그 처리 및 데이터에 대한 설치, 구성, 파이프라인 관리 및 고급 변환 기능을 포함합니다.