336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
SysLog를 활용한 로그서버 구축 (UDP)
1. 환경
테스트를 위해 두 서버를 사용하였다.
(1) Syslog서버( syslog 데몬이 설치되는 서버) : 192.XX.XX.XXX
(2) Syslog클라이언트(syslog를 호출하여 data를 보내는 서버) : 192.YY.YY.YYY
2. 테스트방법
Syslog클라이언트서버에서 구현한 syslog호출 로직을 통해
Syslog서버에 log가 잘 기록되는지를 확인한다.
3. Syslog서버에 데몬 설치
# syslog 서버 관련 패키치 설치
yum install -y rsyslog
# syslog 서버 기동
systemctl enable rsyslog
systemctl start rsyslog
# 방화벽 오픈 (UDP 포트 OPEN)
firewall-cmd --zone=public --add-port=514/udp --permanent
firewall-cmd --reload
# syslog 서버 설정파일 수정
vi /etc/rsyslog.conf
find /udp
# UDP 관련 프로토콜 및 포트 주석을 제거하여 활성화
$ModLoad imudp
$UDPServerRun 514
#설정완료 후 Syslog서버 데몬 재시작
systemctl restart rsyslog
4. Syslog클라이언트서버에서 syslog관련 모듈 작성(개발)
(1) syslog를 호출하는 jar 다운로드
Jar는 cloudbees 사용 : syslog-java-client-1.1.7.jar
(2) 각 개발환경에 맞게 Application에 해당 jar 추가
(3) SyslogClient 작성
UDP 말고 TCP 등과 관련된 예제소스는 아래 공식 github사이트에 잘 작성되어 있다.
https://github.com/CloudBees-community/syslog-java-client/blob/master/README.md
import com.cloudbees.syslog.Facility;
import com.cloudbees.syslog.MessageFormat;
import com.cloudbees.syslog.Severity;
import com.cloudbees.syslog.sender.UdpSyslogMessageSender;
...
// Initialise sender
UdpSyslogMessageSender messageSender = new UdpSyslogMessageSender();
messageSender.setDefaultMessageHostname("myhostname"); // some syslog cloud services may use this field to transmit a secret key
messageSender.setDefaultAppName("myapp");
messageSender.setDefaultFacility(Facility.USER);
messageSender.setDefaultSeverity(Severity.INFORMATIONAL);
//자기 환경에 맞게 ip를 수정해준다.
messageSender.setSyslogServerHostname("192.XX.XXX.XXX"); //Syslog 서버가 설치된 ip
// syslog udp usually uses port 514 as per https://tools.ietf.org/html/rfc3164#page-5
messageSender.setSyslogServerPort(514);
messageSender.setMessageFormat(MessageFormat.RFC_3164); // optional, default is RFC 3164
// send a Syslog message
messageSender.sendMessage("test message");
5. 테스트
(1) 작성한 java파일 컴파일 및 실행
(2) Syslog서버
cd /var/log
tail -f messages
(3) "test message"가 잘 찍히는지 확인
#시간 [messageHostName설정값] [appName설정값] [보낸text] 값으로 출력됨
Oct 11 15:00:00 myhostname myapp: test message
'Tip & Tech > Tech' 카테고리의 다른 글
자동화 빌드 도구, Gradle 내용 정리 (0) | 2019.12.20 |
---|---|
SSL 인증서 저장위치 확인 / SSL 인증서 만료일 확인방법 (0) | 2019.11.05 |
대칭암호화방식(AES,SEED) vs 비대칭암호화방식(RSA) 정리 (1) | 2019.10.07 |
CUBRID 설치 / Tomcat CUBRID JDBC 연동 / ORACLE -> CUBRID 마이그레이션 (0) | 2019.01.25 |
YONA 사용방법 / SVN 저장소에 소스올리기 / SVN 저장소에서 소스받는방법 (0) | 2018.12.18 |