서버 머신의 네트워크 트래픽을 모니터링 할 일이 생겨서 여러가지 툴을 알아보다 '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 각 운영체제에 맞는 패키징..
문자열 형태로 표현된 날짜 데이터를 파싱하여 소스코드에서 사용할 수 있는 날짜 타입으로 변환하는 파싱 방법에 대해서 알아보자. 파이썬 프로그램을 작성할 때, 사용자로부터 날짜 데이터를 입력 받을 일이 있는데, 사용자가 어떤 값을 입력 할지 모르기 때문에 검증해야 할 필요가 있다. 파이썬의 'datetime' 라이브러리를 이용하여 문자열을 파싱하는 방법으로 날짜 포맷을 검증할 수 있다. 다음 코드를 보자. import datetime date_string = '20191101' date_format = '%Y%m%d' try: date_obj = datetime.datetime.strptime(date_string, date_format) print(date_obj) except ValueError: pr..
파이썬 스크립트를 작성하다가 파이썬 2.x 버전과 파이썬 3.x 버전을 선택할 수 있는 방법을 찾아봤다. 셔뱅(Shebang) 리눅스 환경에서 Command Line 스크립트의 첫 번째 줄에 '#!'로 시작하는 코드가 있다. '셔뱅(Shebang)'이라고하는 이 코드는 스크립트를 실행시켜줄 프로그램의 경로를 지정하는 역할을 담당한다. 셔뱅은 'Sharp(#)' + 'Bang(!)'의 합성어라고 한다. 샤-뱅, 해시뱅, 파운드-뱅, 해시-플링, 크런치뱅 등으로 불리기도 한다. (링크 : 셔뱅 - 위키피디아) #!interpreter [optional-arg] 위 형태로 '#!'라는 매직 바이트를 시작으로 바로 뒤에 인터프리터 경로가 나온다. 그 이후로 인터프리터를 위한 인자들이 오게 된다. 인터프리터 경로..
자바나 C 언어에서 여러 라인을 주석처리 할 때 '/*'와 '*/'를 사용한다. 두 문자 사이에 있는 내용은 컴파일러가 바이트코드 혹은 바이너리에 포함시키지 않는다. 디버깅 과정에서 특정 코드를 동작에서 제외할 때 주로 사용하게 된다. 파이썬의 주석 파이썬에서는 기본적으로 '#' 문자를 이용한 라인 주석 밖에 없다. 멀티라인을 주석처리 하기 위해서는 여러 라인을 '#' 문자로 주석처리해야한다. 파이썬을 만든 '귀도 반 로썸(Guido van Rossum)'은 자신의 트위터를 통해 '멀티라인 문자열(multi-line string)'을 이용하여 멀티라인 주석처리를 하는 팁을 알려줬다. (링크 : 귀도 반 로썸 트윗) 예를 들어서, print("Hello") """ print("This part of cod..
코드의 양을 줄이는 것은 많은 장점을 가지고 있다. 그 중 3항 연산자는 불필요한 if - else 구문을 한줄로 줄여줘서 간단한 조건문을 한줄로 표현할 수 있게 해준다. Java나 C 언어에서의 3항 연산자는 다음과 같이 사용한다. variable = condition ? result1 : result2 condition 값이 참(true)일 때는 result1이 변수 'variable'에 할당되고, condition 값이 거짓(false)일 때는 result 2가 할당된다. 파이썬 3항 연산자 파이썬의 3항 연산자는 2.5 버전부터 적용되었다. (링크 : PEP 308: Conditional Expressions) 파이썬 3항 연산자의 문법은 다음과 같다. variable = {true_value} ..
메이븐(Maven) 프로젝트를 빌드하고 배포하는 스크립트를 만들어서 바이너리를 만들고 설치하는 과정을 단순화시켜 작업을 하고 있었다. 개발서버의 노후화로 장비 교체를 하였고, 개발중인 리파지토리를 새로운 장비에서 clone 하고 빌드&배포 스크립트를 실행시켰더니 다음과 같은 에러 메시지를 받게 되었다. ... [ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.5: Could not transfer ..
파이썬으로 프로그래밍을 하다가 SytaxError 메시지를 받게 되었다. SyntaxError: Non-ASCII character '\xec' in file /Users/user/workspace/test/test.py on line 123, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details 'Non-ASCII' 문자가 파이썬 스크립트에 있어서 실행할 수 없다는 의미의 에러메시지가 출력되었다. 소스코드를 보니 한글 주석을 사용했었고, 파이썬이 이 주석에 쓰인 한글 문자의 인코딩을 이해할 수 없어서 발생한 에러 메시지다. 구글링을 해보니 해결방법은 간단하다. 다음 코드처럼 스크립트의 초반에 한글을 지원하는 인코딩을..
- Total
- Today
- Yesterday
- 리눅스
- 상추 재배기
- 텃밭
- 파이썬
- 자바
- 도커
- monitoring
- linux
- pycharm
- Python
- java
- 고추
- hadoop
- Jekyll
- MacOS
- InterlliJ
- 하둡
- 화분
- 지킬
- 화분 버리기
- GitHub
- 깃허브
- 청양고추
- okhttp
- 파이참
- 베란타 텃밭
- 상추
- docker
- 베란다 텃밭
- nf_conntrack
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |