회사 내 IT팀이 작아서 그런것이겠지만 systems engineer라는 타이틀을 갖고 있는 팀원 모두가 Linux 문외한이다. 한 명은 꽤나 systems engineer로 경력이 꽤나 있는데 이야기해보면 밑천이 금방 보인다. 아무튼 내가 팀에 합류하고 무엇을 해야하나 업무를 보다가 logging 서버가 별도로 없기에 logging 서버를 구축하는 side project를 만들었다. 내가 선택한 것은 오픈소스인 syslog-ng이고 나역시 Linux 문외한이기에 한번 배워보자는 의미로 이 별도의 프로젝트를 시작했다.
최신 syslog-ng 버전을 설치하려면 아래와 같이 진행하면 되며 sudo 권한을 얻었다는 가정하에 진행하면 된다.
syslog-ng 설치과정
[1] Download and the install release key
# wget -qO - https://ose-repo.syslog-ng.com/apt/syslog-ng-ose-pub.asc | sudo apt-key add -
[2] Add the repository containing the latest stable build of syslog-ng to the APT sources.
# echo "deb https://ose-repo.syslog-ng.com/apt/ stable ubuntu-focal" | sudo tee -a /etc/apt/sources.list.d/syslog-ng-ose.list
[3] Update package information
# apt-get update
[4] Install syslog-ng and its sub-packages
# apt-get install syslog-ng-core
[5] Version check
# syslog-ng -V
위와 같이 출력되면 정상적으로 syslog-ng를 설치한 것. 하지만 이렇게 하면 syslog-ng가 정상적으로 설치 된것.
syslog-ng 설정과정
/etc/syslog-ng/에 보면 이미 기본 설정이 파일이 있다. 물론, 여기서 세부설정을 해도 되지만 해당 설정파일 가장 밑에는 @include "/etc/syslog-ng/conf.d/*.conf" 라인이 존재한다. 즉, 별도의 설정파일을 해당 디렉토리에 넣어두어도 된다는 점. 무엇보다도 내가 Linux 및 syslog에 대한 경험이 많지 않기 때문에 기본 설정파일을 건드리는 것 보다는 별도 설정파일로 알아가는게 좋다고 판단했다. 기본적인 설정은 아래와 같이 해주면 된다. 참고로 options 안에 들어있는 syslog-ng의 username은 내 서버 설정기준이다. 즉, 설치하고자 하는 서버의 username이 다르다면 바꿔주어야 한다는 점.
[1] conf 파일 설정 (파일명은 꼭 conf로 끝나야 한다는 점) [경로 - /etc/syslog-ng/conf.d]
##################################################
options {
create_dirs(yes);
owner(syslog-ng);
group(syslog-ng);
perm(0640);
dir_owner(syslog-ng);
dir_group(syslog-ng);
dir_perm(0750);
};
##################################################
source s_net {
tcp(ip(0.0.0.0) port(514));
udp(ip(0.0.0.0) port(514));
};
##################################################
destination d_host-specific {
file("/var/log/networks/$HOST/$YEAR/$MONTH/$HOST-$YEAR-$MONTH-$DAY.log");
};
log {
source(s_net);
destination(d_host-specific);
};
이렇게 설정파일을 추가한 이후에는 꼭 아래의 명령을 통해서 서비스를 재시작 해야 한다.
[2] syslog-ng 서비스 재시작
# service syslog-ng restart
위의 명령어를 실행 후 별도의 메시지없이 바로 prompt가 출력되면 정상이고 별도의 메시지가 나타나는 경우에는 설정파일에 문제가 있어서 서비스를 재시작 할 수 없는 것.
[3] Listening port 확인
# netstat -tulpn | grep 514
Reference site: https://www.syslog-ng.com/community/b/blog/posts/installing-the-latest-syslog-ng-on-ubuntu-and-other-deb-distributions
https://brezular.com/2017/01/21/syslog-ng-configuration-for-newbies/
'<툴, 프로그램 관련> > [Ubuntu]' 카테고리의 다른 글
우분투 SSH이 실행되지 않을 경우 (1) | 2022.04.06 |
---|---|
E: Unable to locate package (0) | 2019.03.18 |