Fluentd Usecase forward 플러그인 활용하기 망이 분리되어있거나 ssl 등의 네트워크 보안을 활용하는 경우 또는 스토리지에 연결되는 채널을 간소화하여 관리하기 위해 forward 플러그인을 활용할 수 있다. fluentd config remote fluentd agent remote fluentd agent는 해당 agent가 설치된 호스트의 파일 로그를 수집할 수도 있고 별도의 플러그인으로 다양한 로그들을 수집한다. 이를 스토리지에 직접 저장할 수 없는 경우 다른 […]
[Fluentd] Usecase – http
Fluentd Use Case http 플러그인 활용하기 지정한 Listener Port 를 통해 POST 되는 데이터를 수집한다. openAPI openAPI 를 이용해 REST 하게 받아온 데이터를 다시 Fluentd http listener 에 전달해줌으로써 데이터를 수집한다. 데이터 소스 vi /app/python/sources/JayWalkingAll.py JayWalkingAll #!/app/python/bin/python from urllib.request import urlopen from urllib.parse import urlencode,quote_plus,unquote import urllib import requests import json url = ‘http://apis.data.go.kr/B552061/jaywalking/getRestJaywalking’ my_service_key […]
[Fluentd] Usecase – exec
Fluentd Use Case exec 플러그인 활용하기 in_exec 플러그인을 활용하면 사용자가 수집하고자 하는 정확한 정보를 만들어내서 수집할 수 있다. linux_free linux 모니터링 명령어인 free 의 결과를 주기적으로 수집해본다. 데이터 소스 스크립트 vi /app/fluentd/scripts/free.sh #!/bin/bash DATE=date "+%Y-%m-%d %H:%M:%S" DATA=free -k | grep "Mem:" | awk '{print $2,$3,$4,$5,$6,$7}' echo $DATA $DATE fluentd config # linux_free ## Input @type […]
[Fluentd] Usecase – rsyslog
Fluentd Use Case rsyslog 플러그인 활용하기 fluentd 는 기본적으로 rsyslog 를 수신하고 파싱할 수 있는 플러그인이 설치된다. rsyslogd 자체적으로 로그를 모을수 있는 기능이 있으므로 aggregator 서버를 통해 rsyslog 를 1차적으로 모은 다음, 몇 대의 aggregator 서버에서 fluentd 에게 로그를 전달해줄 수 있도록 한다. rsyslog data 흐름은 다음과 같다. 여러 대의 syslog 발생 서버 -> 몇 […]
[Fluentd] Fluentd 설치
Fluentd 설치하기 Linux 시스템에 설치하는 것을 기준으로 진행. 패키지 설치 or 소스 컴파일 설치 모두 가능하지만 소스 컴파일 방식으로 설치 진행. 의존성 zlib-devel openssl ruby 설치 System User Profile export LD_LIBRARY_PATH=/app/fluentd/ssl/1.1.1-pre6/lib:$LD_LIBRARY_PATH export PATH=/app/fluentd/ssl/1.1.1-pre6/bin:$PATH export RUBY_HOME=/app/fluentd/ruby/2.4.4 export PATH=$RUBY_HOME/bin:$PATH Install openssl from source openssl archive 다운로드 wget https://www.openssl.org/source/openssl-1.1.1-pre6.tar.gz archive 압축해제 tar -xvzf openssl-1.1.1-pre6.tar.gz -C /app/fluentd/ssl 설치 경로로 […]
[Fluentd] Fluentd 소개
Fluentd 소개 with Fluentd 내부 언어 Cruby 로 작성. 루비는 객체 지향 인터프리터 언어 https://www.ruby-lang.org/ko/about/ Cruby vs. Jruby The default Ruby, the one people think of as "just Ruby," is CRuby. JRuby is a Ruby interpreter written in Java. It’s written and maintained by a different team. It focuses hard on performance – especially for […]