CentOS 7 loganalyzer 로그 서버 설치법

| 2018년 9월 7일 | 0 Comments

loganalyzer란

loganalyzer는 rsyslog가 message 또는 syslog에 기록된 데이터를 DB화 한것을 웹으로 볼수있게 해주는 프로그램
입니다. 로그의 내용을 가독성 있게 분류해주며 검색기능이 존재하여 다량의 서버를 관리하는 서버 관리자에게 도움이
됩니다.

장점

1. 필터 기능이 있어 원하는 부분만 보는것이 가능합니다.
2. 로그를 쉽고 편하게 볼수 있습니다.

단점

1. DB의 양이 늘어날수록 느려지므로 별도의 스크립트 처리를 통해 DB의 용량을 줄여야합니다.

설치

1. 먼저 loganalyzer에 필요한 패키지를 설치합니다.

# 패키지 설치
yum install -y wget vim httpd php mysql rsyslog rsyslog-mysql mariadb mariadb-server php-mysql

2. 패키지가 설치되면 서버 리부팅시 자동으로 시작되게 한후 서비스를 시작합니다.

# 패키지 등록 및 시작
chkconfig rsyslog on
chkconfig mariadb on
chkconfig httpd on 

service rsyslog start
service httpd start
service mariadb start

 

0.png 

3. rsyslog.conf의 설정을 진행합니다. 이 문서에서는 로그를 UDP로 받는것을 전제로 합니다. 이 부분은 매우 중요하니
   설명을 참고 후 설정을 진행해주세요.

# 주석을 해제 합니다.
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514

# 아래의 내용을 추가합니다.
$ModLoad ommysql
$ActionOmmysqlServerPort 3306
*.*  :ommysql:127.0.0.1,Syslog,rsyslog,비밀번호
$AllowedSender UDP, 127.0.0.1,  192.168.0.0/16 

 

중요 설명
*.*  :ommysql:127.0.0.1,Syslog,rsyslog,비밀번호 
Syslog : mysql에서 로그가 쌓이는 데이터베이스입니다.
rsyslog : Syslog를 사용하는 mysql의 관리 아이디입니다.
비밀번호 : rsyslog의 비밀번호입니다. 꼭 수정후 사용하도록 합니다.

$AllowedSender UDP, 127.0.0.1,  192.168.0.0/16
192.168.0.0/16 : 192.168대역 전체의 로그를 받아들이는 설정으로 알맞게 변경해주세요.

 

4. mysql의 설정을 진행합니다. 여기서 설정방법은 두가지로 갈립니다. 서버의 상태에 따라 확인 후 진행해주세요.

1) mysql를 처음 설치한 상태이고 관리자 패스워드가 설정되지 않는 경우

# 아래의 설정을 통해 Syslog의 데이터베이스를 추가합니다.
mysql -u root < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

# rsyslog의 계정 생성과 관리자의 패스워드 변경을 진행합니다. 비밀번호는 꼭 수정해서 사용해주세요.
mysql -u root 
GRANT all privileges ON Syslog.* TO rsyslog@’localhost’ IDENTIFIED BY ‘비밀번호’;
use mysql;
update user set password = password(‘비밀번호’) where user = ‘root’;
flush privileges;
exit;

 

2) mysql에 관리자 패스워드가 설정 된 경우

# 아래의 설정을 통해 Syslog의 데이터베이스를 추가합니다. 관리자 패스워드를 입력하면 작업이 완료됩니다.
mysql -u root -p < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

# rsyslog의 계정 생성을 진행합니다. 비밀번호로 적힌 부분은 꼭 수정해서 사용해주세요.
mysql -u root -p 
GRANT all privileges ON Syslog.* TO rsyslog@’localhost’ IDENTIFIED BY ‘비밀번호’;
flush privileges;
exit;

 

0-1.png 

5. iptable에 514 udp 포트를 추가 후 적용합니다.

# iptables 파일 수정 
vi /etc/sysconfig/iptables 
-A RH-Firewall-1-INPUT -p udp -m state –state NEW -m udp –dport 514 -j ACCEPT

# iptables 적용
iptables-restore < /etc/sysconfig/iptables

# rsyslog 서비스 재시작
service rsyslog restart

6. loganalyzer 설치 작업을 진행합니다.

# /usr/local/src로 이동 후 loganalyzer를 다운로드 받은 뒤 압축을 해제합니다.
cd /usr/local/src
wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz
tar -zxvf /usr/local/src/loganalyzer-4.1.6.tar.gz 

# 웹으로 구동될 파일들을 /var/www/html/loganalyzer로 이동시킵니다.
mv /usr/local/src/loganalyzer-4.1.6/src /var/www/html/loganalyzer
mv /usr/local/src/loganalyzer-4.1.6/contrib/* /var/www/html/loganalyzer
chmod +x /var/www/html/loganalyzer/configure.sh /var/www/html/loganalyzer/secure.sh

# /var/www/html/loganalyzer로 이동하여 설정 스크립트를 실행합니다.
cd /var/www/html/loganalyzer
./configure.sh

 

1.png 

7. 웹 설정을 진행합니다. 아래의 URL로 접속한후 here를 클릭합니다.

URL : http://자기 IP/loganalyzer/

 

2.png 

8. Next를 클릭합니다.

3.png 

9. Next를 클릭합니다.

4.png 

10. Enable User Database를 yes로 변경하고 추가 설정을 진행합니다.

# 설정 진행
Database Name localhost
Database Port 3306
Database Name Syslog
Table prefix logcon_
Database User rsyslog
Database Password 비밀번호

5.png 

11. Next를 클릭합니다.

6.png 

12. Next를 클릭합니다.

7.png 

13. 관리자의 아이디를 생성하고 Next를 클릭합니다.

8.png 

14. Source Type을 MYSQL Native로 설정하고 추가 설정을 진행합니다.

# 설정 진행
Database Host localhost
Database Name Syslog
Database Tablename SystemEvents
Database User rsyslog
Database Password 비밀번호

 

9.png 

15. 설치가 모두 완료되었습니다 Finish!를 클릭합니다.

10.png 

16. 설치가 완료되면 로그를 확인할수 있습니다.

 

 

클라이언트 설정 방법
클라이언트의 rsyslog.conf 파일을 아래와 같은 방법으로 선택 후 추가한 뒤 서비스를 재시작합니다.

# 모든 로그를 보낼경우
vi /etc/rsyslog.conf
*.* @로그서버 IP:514

# 에러에 관련된 로그만 보낼경우
vi /etc/rsyslog.conf
*.err;*.warn;kern.alert;kern.crit;kern.emerg @로그서버 IP:514

# rsyslog 서비스를 재시작
service rsyslog restart

Category: LINUX

About the Author ()