[오브젝트 스토리지 활용] Fluentd를 활용하여 로그 저장소 만들기
Fluentd란 무엇인가?
Fluentd는 로그수집기의 한 종류로 다양한 포맷의 데이터를 Json으로 변환하여, 수집된 데이터를 다양한 대상으로 전달 할 수 있습니다.
Input, Parser, Engine, Filter, Buffer, Ouput, Formatter의 총 7개의 컴포넌트로 구성되어 있으며, input / output plugin을 활용하여 데이터를 수집할 수 있습니다.
보다 자세한 내용은 Fluentd 공식 홈페이지를 참고해주시면 감사하겠습니다.
Fluentd 설치 및 apache 로그 저장하기
1. 서버 설정
먼저, apache 로그를 수집할 웹서버를 준비합니다.
웹서버의 경우 iwinv 가상서버의 기본제공 운영체제중 APM이 설치된 운영체제를 선택하시면 쉽게 사용하실 수 있습니다.
해당 웹서버의 apache 로그를 iwinv object storage의 특정 버킷에 저장합니다.
2. 버킷 생성
아래와 같이 apache 로그를 저장할 버킷을 생성합니다.
3. fluentd 설치
해당 서버에 fluentd 래퍼프로그램인 td-agent를 설치합니다.
# Ubuntu curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-xenial-td-agent2.sh | sh
# CentOS curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh
|
4. Fluentd config 파일 수정
/etc/td-agent/td-agent.conf 파일을 수정합니다. 아래 예시는 해당서버의 apache로그를 특정 버킷에 logs 폴더 밑에 10초마다 저장하는 설정입니다.
기타 플러그인 옵션등을 통해 다양한 설정이 가능하다 .
- input_plugin: https://docs.fluentd.org/v0.12/articles/input-plugin-overview
- Output_plugin: https://docs.fluentd.org/v0.12/articles/output-plugin-overview
@type tail path /var/log/httpd/access_log format apache2 tag s3.apache.access
@type s3 aws_key_id Access_Key #Access_Key = console.iwinv.kr -> 오브젝트 스토리지 -> 스토리지 관리 -> 인증키 관리 -> Access Key ID aws_sec_key Secret_Key #Secret_Key = console.iwinv.kr -> 오브젝트 스토리지 -> 스토리지 관리 -> 인증키 관리 -> Secret Key ID s3_bucket Bucket_Name #Bucket_Name = 로그를 저장할 버킷 이름 s3_region kr-standard s3_endpoint Endpoint #Endpoint = console.iwinv.kr -> 오브젝트 스토리지 -> 스토리지 관리 -> 인증키 관리 -> API {IDC} Endpoint buffer_path /var/log/td-agent/s3/buffer path logs/ #로그를 저장할 폴더지정, default는 "" time_slice_format %Y%m%d%H flush_interval 10s |
5. 로그 확인
지정한 버킷에 apache 로그가 정상적으로 저장되었는지를 확인합니다.
아래와같이 apache_log버킷에 logs폴더가 자동 생성되었고 , 해당 폴더안에 로그가 10초마다 저장되는것을 확인 할 수 있습니다.
* td-agent.conf 설정시 path 값을 ""로 설정하면 아래와같이 해당 버킷에 바로 로그가 저장됩니다.
iwinv 클라우드 서비스를 어떻게 사용할 수 있나요?
iwinv 클라우드 서비스는 국내 1등 토종 클라우드 솔루션 업체를 목표로 하며 서비스 쉽게 이용하시려면 iwinv 홈페이지 매뉴얼 및 퀵 메뉴 서비스 이용 가이드를 참고하시면 됩니다.
- iwinv 이용 가이드 : https://www.iwinv.kr/guide/console.html
- iwinv 메뉴얼 가이드 : https://help.iwinv.kr/
- iwinv 오브젝트 스토리지 가이드 : https://www.iwinv.kr/storage/obj.html