설치 순서

서버 스펙

CentOS 6.10 버전

1. 서버 nofile nproc 확인

sudo cat /etc/security/limits.conf

# 현재 유저 및 root 유저의 nofile, nproc 확인
*               soft     nofile         65536
*               hard     nofile         65536
user        soft     nofile         65536
user        hard     nofile         65536

nofile 개수는 65536 으로 맞춘다. ⇒ Fluentd 공식 홈페이지에 설치 방법에 쓰여있음.

2. 사전 준비

fluentd 는 rpm 설치도 있지만 ruby 를 설치해서 gem 을 이용하여 설치하는 경우도 있음.

rpm 만으로 설치하는 경우 높은 버전이 아니라면 특정 plugin이 컴파일이 안되어 Exception 만 나오는 경우가 있으므로 ruby 를 설치해서 gem 으로 fluentd 를 설치해야한다.

현재 회사의 서버 버전은 CentOS 6.10 이므로 호환되지 않는 라이브러리가 있으니 버전업을 해줘야한다.

# 필수 라이브러리 설치
sudo yum install git-core zlib zlib-devel gcc-c++ patch readline readline-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison curl sqlite-devel

위 명령어 대로 설치를 안하면 에러가 난다. glib 버전이 낮아 설치가 안된다고 한다.

Ruby 설치

rbenv 설치

rbenv 라는 걸로 ruby 를 설치한다. rvm 을 사용하지 않는 이유는 rbenv가 더 가볍다는 이유가 있음.

ruby 환경 변수 설정

설치 가능 버전 확인

설치 후 global 등록

설치가 완료되었다면 ~/.rbenv/versions/2.6.10/bin 으로 이동 후

명령어로 컴파일이 완료된 것을 설치해줘야 한다. 그러면 컴파일 과정을 거치지 않고 넘어간다.

컴파일되지 않은 걸로 설치하면 CentOS 버전이 낮기 때문에 glib 버전이 낮아 에러가 나게 된다.

플러그인 설치

  • 플러그인 설치 방법

  • 설치 명령어

Fluentd 실행 명령어 및 옵션

Fluentd 실행 명령어

user, group 을 root 로 한 이유는 권한 문제 때문에 root 로 설정해서 했음.

azure-storage, azure-loganalytics 설치

서비스 등록

fluentd 를 실행할 때 마다 위 명령어를 쓰기 귀찮으니 서비스 등록을 해줘야 한다.

  • 파일 생성

  • script 작성

  • 작성한 스크립트 파일 /etc/init.d 로 이동

  • 실행 권한 부여

  • 서비스 등록

  • 서비스 전체 리스트 확인

  • 실행

Last updated