전체 글 142

Centos7에 ELK 설치하기 가이드

🔍개요 회사 내 ELK를 주도적으로 적용시킨지 어언 4개월이 지난 것 같다. 알파에서 적용시킨 이후, 리얼에도 적용하였고, 이후 보안 추가, 몇몇 로그가 보이지 않는 문제, 로그의 시간순대로 정렬 등등 다양한 문제들이 있었다. 다만, ELK 업무 외에 다른 업무들이 많았기 때문에 쉽게 손대지 못하고 있다가 시간이 나서, 대대로 개편을 했다. 먼저 회사 내 보안 문제로 irteamsu 계정을 사용하지 못하게 되었는데 대부분 가이드들이 sudo를 이용한 설치였기 때문에 일반 바이너리로 설치하는 가이드를 찾아서 진행하였다. 이 과정에서도 리눅스 머신 세팅을 할 수 있는 권한이 없기 때문에 상당히 애를 먹었다. 하지만 적용을 하였고, 개발 뿐만아니라 기획, 아트 등 다양한 직군이 사용할 수 있도록 계속 만들어 ..

JAVA 기초다지기 (3) - Class , Object, Instance 완벽 이해

클래스, 오브젝트, 인스턴스는 워낙 범용적으로 많이 쓰이고 있다. 여기서는 자바에서의 클래스, 오브젝트, 인스턴스의 관계와 의미에 대해서 정리하였다. 클래스와 객체(Object) 클래스로 모델링한 객체를 정의한다. 객체를 생성할 수 있는 틀을 제공해 주는 소스코드 객체는 클래스의 인스턴스이다. 클래스와 객체, 인스턴스 용어 구분과 인스턴스화 클래스(Class) : 붕어빵 틀 = 하나의 붕어빵 틀로 수많은 붕어빵 객체를 만들 수 있다. 객체(Object) : 붕어빵(들), 객체는 인스턴스를 포함하는 일반적인 의미 인스턴스(Instance) : 각각의 붕어빵(인스턴스는 클래스를 통해 생성된 객체의 한 예이다. 인스턴스화(Instantiate) : 붕어빵을 굽다(클래스로부터 인스턴스를 생성하는 것) 인스턴스화..

JAVA 기초다지기 (2) - JAVA 프로그램

Main() method Java 어플리케이션의 시작점으로 main() 메소드가 포함된 클래스가 반드시 존재해야한다. RunTime에 main()메소드가 존재하지 않는 경우 아래와 같은 오류 발생 : Exception in thread "main" java.lang.NoSuchMethodError.main Command-Line arguments : main 메소드의 파라미터를 통해 애플리케이션 진입시에 값을 전달 할 수 있다. 이 기능을 활용해서 애플리케이션 구동시 초기 설정 환경 변수등의 값으로 활용할 수 있다. public static void main(String[] args) Compile & Running compile : javac 명령어를 이용하여 java 소스를 Compile gkaus ..

JAVA 기초다지기 (2) - JVM

JVM이란? JVM(Java VIrtual Machine)은 자바 가상 머신으로 다양한 플랫폼(OS)위에 가상 머신 역할로 자바로 개발한 바이트 코드(.class 파일)가 실행될 수 있도록 런타임 환경을 제공하며 각 플랫폼별 JVM은 오라클이나 Open JDK 개발사들이 제공한다. 이렇기에 플랫폼 독립적인 언어 JVM이 구동되면 OS에서 프로세스 형태의 Runtime instance로 구동된다. JVM의 주요 Task : 코드 로드/확인/실행, 런타임 환경 제공 JVM 제공하는 기능 : 메모리 영역, 클래스 파일 형식, 레지스터 세트, 가비지 콜렉터, 치명적 오류 보고 등 JVM Architecture JVM 내부구조는 Class Loader, Memory Area, Execution Engine 을 포..

JAVA 기초다지기 (1) - Java Overview

개요 사실 학부 때는 C++과 파이썬만 배우고 사용하였다. 졸업 후 SSAFY를 하면서 자바라는 언어를 처음 접했고, 대강 배워 프로젝트를 진행하였다. C++ 짬밥이 있기 때문에 사용하는데 어렵지는 않았지만 C++과는 다른 점이 많았기에 회사에서 개발을 하면서 스스로 부족한 점을 느꼈다 마침 사내 교육사이트가 개편되어 다양한 플랫폼에서 강의를 들을 수 있게 되었고, 그 중 러닝스푼즈의 20년차 개발자의 실무 개발 노하우를 담은 JAVA 기초 라는 말에 끌려 바로 신청하게 되었다. 총 18강 열심히 달려볼 예정이고, 중요하다고 생각되는 내용을 블로그에 정리할 예정! JAVA 언어의 특징 JAVA 설명은 생략한다... JAVA 개발 도구 JDK(Java Development Kit) : 자바 개발 도구로 J..

공부는 하지만 정리는 하기싫어

마지막 블로그 글을 쓰고 난지 3개월정도가 지난 것 같다.. 글을 쓸 소재나, 시간은 넘쳐나지만 스스로 지정한 템플릿을 다 채워야 한다는 것에 부담이되서 스스로 게을러지기를 택한 것 같다. 그렇기 때문에 이제 부터 게시글은 좀 더 자유로운 형식으로 작성하기로 스스로 결심했다. 과연 몇일이 갈지 잘 모르겠지만 일주일에 적어도 1개는 올릴려고한다. 제발,,, 그다시 한번 맘먹고 회사에서 공부한 것들이나, 자바 스터디를 통해서 공부한 내용을 간단히라도 올릴려고한다.

생각생각생각 2022.06.26

서버개발자로서 살아남기 - 로드 밸런서(Load Balancer)

내가 피파와 같은 축구 게임을 만든 개발자라 가정해보자. (뜬금없지만 로드 밸런서를 알기 위한 사전 설명이다.) 평소 동시 접속자 수는 100명이지만 월드컵 기간에는 1000명으로 늘어 났다. 갑작스럽게 1000명으로 사용자가 늘어나, 서버가 터져버릴 수도 있는 상황이다. 서버 개발자로서 할 수 있는 방법은 뭐가 있을까? Scale-up 말 그대로 서버의 성능을 높이는 방법이다. 예를 들자면, 디스크를 추가하여 용량을 증가하거나, CPU를 추가하여 속도를 높이는 것이다. Scale-out 비슷한 서버의 개수를 추가하는 것이다. 이는 용량이 증가할 뿐만 아니라, 트래픽을 분산하여 성능을 높일 수 있다. 위와 같은 2가지 방법이 있는데, 대부분의 기업들은 비용문제, 확장성과 유연성의 문제로 Scale-out..

ELK - 로그 발생 시간을 기준으로 Kibana 사용하기

🔍개요 ELK를 서버 로그를 분석하기 위해 구축한 이후에 Kibana 시간과 로그 발생 시간이 달라, 보기 불편한 점이 있었다. 이후, 문제를 해결하려 했으나, 여러 프로젝트를 진행 한 탓에 미루고 또 미뤘었다. 프로젝트가 끝나고, ELK 업무를 마무리 짓기 위해 새로운 서버 2대를 ES 클러스터에 추가하는 작업과, 로그 발생 시간에 대한 이슈를 처리하는 작업을 진행하였다. 로그 발생 시간을 Kibana @timestamp로 사용하기 로그 메시지에서 로그 발생 시간 파싱하기 (logstash 설정 변경) 서버팀에서 사용하고 있는 로그 메시지 시간 type은 ISO8601인데, grok패턴에서 TIMESTAMP_ISO8601 사용하면 쉽게 파싱할 수 있다. ## 원하는 filter가 있으면 설정한다. fi..

서버 개발자로서 살아남기 - hosts 파일

🔍개요 평소처럼 swagger에 접속하려 했는데 403 오류가 발생하였다. 해당 담당자에게 문의한 결과 프록시 서버 설정 때문에 그런거고, hosts 파일에서 특정 내용을 추가 요청하였다. 처음에는 hosts 파일이 프로젝트 안에 있는 파일이라 생각하였다. 그치만 보이지 않았고, 인터넷에 처본 결과 내 생각과는 다른 파일이였다. 모르는건 바로 정리들어가야징 🔍hosts 파일이란? hosts 파일은 ip 주소와 도메인을 매핑해주는 파일이다. 우리가 자주 사용하는 도메인을 ip 주소로 변환하는 역할을 하는 것은 DNS Server이다. 그러나 DNS Server을 안거치고 Local에서 설정하는 방법이 바로 hosts 파일을 이용하는 것이다. hosts 파일의 우선순위가 DNS Server 보다 높기 때문에..

FileBeat VS Logstash

🔍개요 회사에서 기존 서버에 ELK 환경을 구축하는 업무를 받았다. Docker를 이용해서 ELK를 구축하면서 어느정도의 개념을 익혔으니 실제로 머신 2대를 받아서 ELK를 구축하려 했다. 이제 사용중인 기존 서버에 적용하려다 보니까 생각해야될 점이 많았다. 가장 먼저 생각이 드는건 트래픽 문제였다. 많은 트래픽이 ES로 들어올 텐데 어떤식으로 설계를 해야 트래픽을 감당할 수 있을까를 많이 생각했다. 그중 하나가 'logstash와 filebeat 중에 어떤 것을 사용할까' 였다. 이에 대해 알아본 내용을 정리해볼려한다. 🔍 FileBeat vs Logstash Filebeat의 사용 여부 요즘 ELK를 구축하는 방법을 찾아보면 각 서버에 Filebeat를 통해 로그 데이터를 수집하고 logstash로 ..

728x90