출처:http://blog.naver.com/PostView.nhn?blogId=junix&logNo=80087440477
로그서버 구축
1. 각 서버의 모든 로그를 로그서버에 원격 보관하고 웹에서 모니터링할 수 있는 환경 구축
1. 분산되어 있는 시스템 로그를 한곳에서 실시간 모니터링할 수 있어 서버 장애 모니터링 능력을 향상시킴
2. 각 서버 시스템로그의 백업 효과
2. 구성
서버 : x.x.x.27
클라이언트 : 전체 서버(현재는 x.x.x.44, x.x.x..20 2대로 테스트중)
데몬 : 로그서버 rsyslog, 웹프로그램 phplogcon
3. 데모 :
4. 설정 메뉴얼
* 클라이언트의 로그가 로그서버의 /var/log/messages 에 저장되는 구성
다시 이로그는 로그서버의 DB에 저장됨
클라이언트(파일로 넘기는 설정, DB에도 넘어감)
yum install rsyslog rsyslog-mysql
chkconfig syslog off
chkconfig rsyslog on
service syslog stop
------------/etc/sysconfig/rsyslog
SYSLOGD_OPTIONS="-m 0"
KLOGD_OPTIONS="-x"
------------/etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg *
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
*.* @x.x.x.27
service rsyslog start
클라이언트(파일로 남지 않고 DB로 바로 넘기는 설정)
yum install rsyslog rsyslog-mysql
chkconfig syslog off
chkconfig rsyslog on
service syslog stop
------------/etc/sysconfig/rsyslog
SYSLOGD_OPTIONS="-m 0"
KLOGD_OPTIONS="-x"
------------/etc/rsyslog.conf
$ModLoad ommysql.so
$template dbFormat,"insert into SystemEvents (Message, Facility, FromHost, Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag) values ('%msg%', %syslogfacility%, '서버IP주소', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::date-mysql%', %iut%, '%syslogtag%')",SQL
*.* :ommysql:x.x.x.27,Syslog,rsyslog,1q2w3e;dbFormat
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg *
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
service rsyslog start
서버
yum install rsyslog rsyslog-mysql php httpd mysql-sever
chkconfig syslog off
DB설정
mysql -u root
source /usr/share/doc/rsyslog-mysql-2.0.6/createDB.sql
grant insert privileges on Syslog.* to '유저명'@'%' identified by '비밀번호';
flush privileges;
quit
service rsyslog restart
mysql -u root Syslog
select count(*) from SystemEvents;
chkconfig rsyslog on
service syslog stop
------------/etc/sysconfig/rsyslog
SYSLOGD_OPTIONS="-m 0 -r"
KLOGD_OPTIONS="-x"
------------/etc/rsyslog.conf
$ModLoad ommysql.so
$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
*.* :ommysql:localhost,Syslog,rsyslog,1q2w3e;dbFormat
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg *
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
service rsyslog start
rsyslog 정상실행 로그
May 2 00:27:32 server rsyslogd: [origin software="rsyslogd" swVersion="2.0.6"
x-pid="10400" x-info="http://www.rsyslog.com"][x-configInfo udpReception="No" upPort="514" tcpReception="No" tcpPort="0"] restart
방화벽 설정
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -p udp --dport 514 -s x.x.x.0/255.255.255.0 -j ACCEPT
service iptables restart
tcp로 로그를 전달하는 설정
서버 설정옵션에 -t514 추가
클라이언트 설정에 @@x.x.x.27 과 같이 설정(UDP는 @x.x.x.27임)
방화벽 설정추가
-A RH-Firewall-1-INPUT -p tcp --dport 514 -s x.x.x.0/255.255.255.0 -j ACCEPT
todo list
- 서버 정보가 호스트네임으로 기록되는 것을 IP주소로 남길 수 있도록 수정
- mysql로 직접 로그를 보내는 경우 %FROMHOST%가 안먹힘
- 원격로그서버 /var/log/messages 단일 파일에 모든 서버의 로그가 기록되는 것을 각 서버별/기간별로 나누어서 저장되도록 수정
- 보안 조치
- 웹프로그램 접근제한(id/pw 인증, apache, htaccess)
- 특정 서버만 원격로그서버를 사용할 수 있도록 제한, iptables, x.x.x.0/255.255.255.0, udp 514
참고자료
원격로그서버 세팅방법 : http://iscert.springnote.com/pages/1554282
rsyslog.conf : http://www.rsyslog.com/doc-rsyslog_conf_actions.html
---------
2011.3.24
http://gembuls.wordpress.com/2011/02/12/how-to-install-rsyslogmysql-with-loganalyzer-on-centos/
2011.3.29
CentOS 5.5 で rsyslogを使ってMySQLにsyslogメッセージを書き出す
http://ossexpo.blogspot.com/2010/10/centos-55-rsyslogmysqlsyslog.html
Rsyslog+MySQL+LogAnalyzer
http://itorzorg.blogspot.com/2010/10/rsyslogmysqlloganalyzer.html
RHEL ES4 update 3 x86_64にrsyslogをインストールする
http://ysmt.blog21.fc2.com/blog-entry-308.html
------
2011.12.13
Working Apache and Rsyslog configuration
http://wiki.rsyslog.com/index.php/Working_Apache_and_Rsyslog_configuration
Splunk/Rsyslog/Apache/Ubuntu Quickstart
http://bitkickers.blogspot.com/2010/12/splunk-rsyslogapacheubuntu-quickstart.html
Remote logging of Apache logs
http://tipstricks.itmatrix.eu/?p=274
Rsyslog & PHPSyslog
http://pbraun.nethence.com/doc/net/rsyslog-phpsyslog.html
2013.2.15
CentOS 6.3에서 rsyslog를 간단히 remote syslog 서버로 설정 변경 방법
출처 : http://www.ehowstuff.com/how-to-setup-central-log-server-using-rsyslog-on-centos-6-2centos6-3/
/etc/rsyslog.conf 의 해당 부분을 아래와 같이 수정
# Provides UDP syslog reception
$ModLoad imudp.so
$UDPServerAddress 0.0.0.0
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp.so
$InputTCPServerRun 514
Kiwi SyslogGen - Syslog 테스트를 위한 로그 생성기
Kiwi SyslogGen - Test Your Kiwi Syslog Server Installation
http://www.kiwisyslog.com/downloads.aspx
-> 요거 좋다!!!
Kiwi SyslogGen sends Unix type Syslog messages created from the GUI to a host running a Syslog Server.
Kiwi SyslogGen can be used to test a Syslog Server setup and diagnose communication problems.
Features
· GUI Interface
· Sends standard Unix Syslog messages (or enhanced messages compatible with Kiwi
Syslog Server)
· Fast and simple to use
· Free to use for as long as you like
· Fully test your Syslog Server setup
· Create BSD Syslog Daemon RFC3164 compliant message headers
· Send messages using either UDP or TCP protocol
· Can send sequentially numbered messages
· Can replay syslog messages from an Ethereal capture file
rsyslog evaluation
http://mperedim.wordpress.com/2010/01/21/rsyslog-evaluation/
[출처] 원격 로그 서버 구축 rsyslog|작성자 쭌
'프로젝트 관련 조사 > 로그 관련' 카테고리의 다른 글
Apache 로그파일의 이해 (0) | 2015.10.26 |
---|---|
원격 로그저장을 위한 syslog 설정 (4) | 2015.10.26 |
Rsyslog.conf 템플릿 (0) | 2015.10.23 |
[syslog] Ubuntu rsyslog 및 시스로그 포맷 (0) | 2015.10.23 |
웹 접근 로그 불필요한 부분 제거하고 추출하기 (0) | 2015.10.22 |