클러스터를 모니터링하는 서버에서 간혹 ssh 접속이 안되는 문제가 발생할 때가 있다. 모니터링 서버는 주기적으로 클러스터 서버에 접속해서 돌고 있어야하는 프로세스가 잘 돌고 있는지, 커널 로그에 에러 메시지가 남아있는지를 확인하는 동작을 하는데, 간혹 ssh 접속이 실패하면서 서버에 문제가 있다고 리포팅을 하고 있었다. 특이한 점은 특정 호스트만 접속오류를 보이는게 아니라 랜덤하게 ssh connection timed out 메시지를 보이는 호스트 주소가 바뀌는 것이었다. 에러 리포팅 이후 문제를 확인하기 위해 직접 문제의 서버로 ssh 접속을 하면 또 문제없이 접속이 잘 되었다. 귀신을 잡는 느낌으로 문제의 원인을 분석해봤다. 1. nf_conntrack: table full dropping packe..
lsof는 list open files의 약자로 시스템에서 열려있는 파일에 대한 정보를 출력해주는 명령어다. (대략 '엘에스오브'라고 발음하는 것 같다) 리눅스와 유닉스는 일반 파일과 디렉토리, 소켓, 파이프, 블록 디바이스, 캐릭터 디바이스에 대한 관리를 파일 시스템을 통해서 할 수 있다. 따라서 특정 프로세스가 열고 있는 파일 디스크립터(fd)를 조회해보는 행위는 시스템을 모니터링하는데 굉장한 도움이 된다. 유닉스 계열의 운영체제에서는 프로세스가 열고 있는 파일을 지웠을 때, 파일 시스템에서 ls로 보이지는 않지만 reference count가 0이 아니기 때문에 실제로 지워지지 않고 남아있는 경우가 더러 있다. 이 때, 프로세스가 열고 있는 파일이 위치한 디스크를 정상적으로 언마운트할 수 없기 때문..
우분투에서 패키지를 설치하기 위해 apt-get 명령을 많이 사용한다. apt-get은 Advanced Packaging Tool의 약자로 우분투를 포함한 데비안 계열의 리눅스에서 사용되는 패키지 관리 툴이다. 터미널을 통해 간편하게 패키지를 설치할 수 있어 GUI 기반의 패키지 설치 도구보다 더 널리, 많이 사용되는 소프트웨어다. apt-get에는 update와 upgrade 명령이 있는데 유사해보이지만 분명 다른 역할을 하는 명령이다. apt-get update 'apt-get update'는 운영체제에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트하는 명령어다. 설치되어 있는 패키지를 최신으로 업데이트하는 것이 아닌 설치가능한 리스트를 업데이트하는 것이다. apt-get install 명..
도커를 사용할 때 우분투 이미지를 기본 이미지로 이것저것 많이 설치하곤 한다. 도커에서 얻을 수 있는 기본 우분투 이미지에는 거의 아무것도 설치가 안되어 있어서 하나하나 다 설치를 해야하는데, 그 중에 네트워크와 관련된 테스트를 하기 위한 'ping'과 'ifconfig' 명령을 사용해야할 필요가 있다. 우선 apt-get으로 설치가능한 패키지와 버전을 최신으로 업데이트하자. sudo apt-get update ping 유틸을 설치한다. sudo apt-get install iputils-ping ifconfig 유틸을 설치한다. sudo apt-get install net-tools 이제 우분투 환경에서 ping 명령과 ifconfig 명령을 사용할 수 있다.
서버 머신의 네트워크 트래픽을 모니터링 할 일이 생겨서 여러가지 툴을 알아보다 'iftop' 명령과 'nethogs' 명령을 알게 되었다. iftop 명령이 서버의 NIC 레벨에서 트래픽을 모니터링하는 도구였다면 'nethogs' 명령은 서버의 운영체제에서 프로세스 레벨로 트래픽을 모니터링 할 수 있는 도구다. nethogs 설치 nethogs 명령은 패키지 관리 유틸리티인 yum 혹은 apt-get으로 쉽게 설치할 수 있다. # Ubuntu $ sudo apt-get install nethogs # Centos $ sudo yum install nethogs nethogs 사용법 'nethogs' 명령의 사용법은 굉장히 간단하다. $ sudo nethogs {인터페이스 이름} nethogs 명령의 인자..
서버 머신의 네트워크 트래픽을 모니터링 할 일이 생겨서 여러가지 툴을 알아보다 'iftop' 이라는 툴을 알게 되었다. 이름에서 알 수 있듯이 'top' 명령어를 이용해 CPU와 메모리 사용 현황을 모니터링하는 것처럼 iftop 명령을 이용해서 네트워크 인터페이스의 트래픽을 모니터링 할 수 있다. 네트워크 인터페이스를 통해 오고가는 트래픽을 프로토콜 별, 소스별, 목적지 별로 모니터링 할 수 있으며 다양한 형태의 응용을 할 수 있도록 옵션들이 제공된다. iftop 설치 iftop 사용을 위해서 libpcap과 libcurses가 설치되어 있어야 할 수 있으니 미리 설치해두자. # Centos yum install iftop # ubuntu apt-get install iftop 각 운영체제에 맞는 패키징..
- Total
- Today
- Yesterday
- 자바
- 상추 재배기
- 화분
- 지킬
- Jekyll
- 상추
- hadoop
- 하둡
- 청양고추
- InterlliJ
- pycharm
- java
- 파이참
- linux
- 깃허브
- MacOS
- monitoring
- 텃밭
- GitHub
- nf_conntrack
- 베란타 텃밭
- okhttp
- 고추
- docker
- 파이썬
- Python
- 베란다 텃밭
- 화분 버리기
- 도커
- 리눅스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |