Category Archives: Development

TcpDump Rolling command

이러저러한 이유로 패킷을 캡쳐해서 분석해야 일이 있을때 좋은 명령이다. 해당 패킷을 캡쳐하는 시기를 알 수 있으면 쉽게 캡쳐하면 되지만 언제인지 알 수 없을 경우에는 난감하다. 계속 패킷을 캡쳐하자니 용량이 너무 커지고.. 그런 걱정을 덜기위해 tcpdump해 rolling 을 할 수 있는 옵션이 있다. -i eth0 : 캡쳐할 장치 -C 100 : 한 파일당 최대 100메가 -W… Read More »

Network monitoring by process using nethogs

서비스를 하다보면 원인 모를 트래픽이 증가하는 경우가 있다. 대부분 이런 경우는 크롤링일 경우가 많은데 그렇지 않을경우 어디서 트래픽을 발생되는지 궁금할 때가 있다. 그럴때 좋은툴이 nethogs 이다. 네트워크를 사용하는 프로세스별로 송/수신 양을 보여준다. ubuntu 나 centos 경우는 패키지 매니저로 쉽게 설치 할 수 있다. 그 외에 리눅스의 경우 소스를 빌드해서 사용하면 된다. 나같은 경우는 Amazon Linux에서… Read More »

Elasticsearch Plugin Build

전체 과정 요약 elasticsearch 소스 다운로드 소스에서 plugin example 별도 복사 build.gradle 수정 및 plugin 빌드 elasticsearch 에 빌드한 플러그인 설치 테스트 1. elasticsearch source download 2. copy plugin example – rest-handler 3. edit build.gradle and build 4. elasticsearch plugin install 5. Test

Elasticsearch 7.x build via IntelliJ IDEA

Intellij 에서 elasticsearch 빌드 및 디버그 환경 구성하기. 사전 준비 IntelliJ JDK 15 or high 소스 다운로드 및 빌드 3. Intellij 에서 해당 프로젝트를 열기File -> Open -> elasticsearch 를 다운받은 폴더를 선택합니다. ( /Users/mars1/Temp/elasticsearch) 4. 빌드하기Build -> Build Project 5. 실행server프로젝트의 src/main/java/org/elasticsearch/bootstrap/Elasticsearch 의 main 클래스를 실행하면 됩니다. 하지만 그냥 실행하면 몇가지 오류를 만나게 됩니다.

Docker Logging Disk Full

어느날 서버 디스크가 full이 되었다. 원인을 찾아보니 원인은 docker container의 log파일이 17기가였다. 한 컨테이너의 로그파일이…;; docker의 기본 loggin driver는 json-file (그 외에도 local, syslog 등 여러가지가 있음.) json-file의 경우 max-size는 -1이다. 즉 무제한이다…;; 설정값 참고 : https://docs.docker.com/config/containers/logging/json-file/ 요렇게 max-size를 지정해주면 지정한 사이즈 이상 커지지 않는다. docker-compose에서 적용은

Spring @PostConstruct

스프링으로 개발하다 보면 객체가 생성될때 초기화 작업을 하고 싶을때가 있다. 이럴때 클래스의 생성자에 코드를 많이 넣는데 만약 value injection 된 값을 가지고 할경우에 두가지 방법이 있다. 첫번째로 생성자 부분에 @Value 어노테이션을 사용해 값을 주입하는 방법 두번째로 @PostContruct를 활용하는 방법 @PostContruct는 Injection이 끝난 후에 실행되기 때문에 가능하다.