설치 환경
- CentOS 7.1 64bit
- Apache 2.4
- PHP 5.4
- MariaDB 5.5
rsyslog-mysql
- rsyslog-mysql의 스키마 탬플릿을 활용하여 Syslog서버의 로그를 MariaDB 또는 MySQL의 DB에 보관 처리를 구현할 수 있습니다.
- 로그가 쌓이는 SystemEvents 테이블의 사이즈만 주기적으로 관리한다면 대량의 서버 또는 네트워크 장비의 로그도 관리 및 활용이 용이합니다.
- 선행 설치 패키지 필요(rsyslog, MariaDB(https://www.sierracloud.kro.kr/mariadb-10-3-%ec%84%a4%ec%b9%98/))
# rpm -qa | grep rsyslog-mysql
# yum install rsyslog-mysql
- DB Create
// DB 정상 생성 확인 캐릭터셋 UTF8 변경 후 SQL 스크립트 적용
# mysql -u root -p < /usr/share/doc/rsyslog-mysql-7.4.7/createDB.sql
# mysql -u root -p
// 계정 생성
> create user 'rsyslog'@'localhost' identified by 'rsyslog';
// 권한 부여
> grant all on Syslog.* to 'rsyslog'@'localhost' with grant option;
> flush privileges;
- rsyslog Server Setting
# vi /etc/rsyslog.conf
// 파일 포맷 탬플릿 지정
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
// 커널 로그 모듈 활성화
$ModLoad imklog
// 로그 작성 제어 모듈
$ModLoad imuxsock
// 통신용 Listen Port 지정
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
// DB 연동 모듈
$ModLoad ommysql.so
// DB 칼럼 포맷
$template dbFormat,"insert into SystemEvents (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '%FROMHOST%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')",SQL
// 로그 별 DB 포맷 설정
*.info;mail.none;authpriv.none;cron.none :ommysql:localhost,Syslog,rsyslog,rsyslog;dbFormat
// rsyslog 재시작
# systemctl restart rsyslog
Log Analyzer
- 기 구성된 rsyslog-mysql을 통해 웹상에서 조회 및 그래프 처리를 해주는 솔루션입니다.
- 오래되긴 했지만 기능도 단순하고 무료이므로 편하게 사용하기 좋았었습니다.
- 선행 설치 패키지 필요(httpd, php-mysql)
- log analyzer 설치 및 설정
// Log Analyzer 다운 및 압축 해제
# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.0.6.tar.gz
# tar zxvf loganalyzer-3.0.6.tar.gz
// 웹소스 복사(아파치가 설치된 DocumentRoot의 Sub디렉토리에 위치시킴)
# cp -r loganalyzer3.0.6/src/* /var/www/html/Rsyslog
// 구성 파일 복사(아파치가 설치된 DocumentRoot의 Sub디렉토리에 위치시킴)
# cp loganalyer-3.0.6/contrib/* /var/www/html/Rsyslog/
/ 권한 변경
# chmod +x configure.sh secure.sh
실행
# ./configure.sh
- 웹 설치
브라우저 | http://’ip address’/Rsyslog |
here 클릭 | |
Next 클릭 | |
Next 클릭 | |
DB 정보 입력 후Next 클릭 | Enable User Database = Yes Database Name = Syslog Database User = rsyslog Database Password = rsyslog |
Next 클릭Step 5 내용 확인 후 Next 클릭 | |
관리자 계정 정보 입력 후 Next 클릭 | ※ 분실시 주의 |
DB 정보 입력 후 Next 클릭 | MYSQL Native 선택 Database Name = Syslog Database Tablename = SystemEvents (대소문자 구분) Database User = rsyslog Database Password = rsyslog Enable Row Counting = Yes |
완료 |
- 축하드립니다… 설치를 성공하셨으면 아래 같은 화면을 보시게 될겁니다…