I는 시스템 모니터링 도구를 찾고 있어요 GUI 및 CLI 또는 웹 기반 등 기본 기능 등을
-
CPU 사용량
-
램 사용법
-
스왑 사용량
-
디스크 사용량 (공간 / I / O)
-
열 모니터링
사용할 수있는 도구가 많이 있다는 것을 알고 있지만 이러한 기본 기능이있는 단일 도구를 찾고 있습니다.
답변
개요-시스템을 한 눈에
Glances 는 텍스트 인터페이스에서 GNU / Linux 또는 BSD 운영 체제를 모니터링 할 수있는 무료 소프트웨어 (LGPL 라이센스)입니다. Glances는 라이브러리 libstatgrab를 사용하여 시스템에서 정보를 검색하며 Python으로 개발되었습니다.
설치
터미널 ( Ctrl+ Alt+ T)을 열고 다음 명령을 실행하십시오.
Ubuntu 16.04 이상 sudo apt install glances
에서는 입력 만 할 수 있지만 버전 2.3 에는이 버그가 있습니다. 그밖에:
쉬운 스크립트 설치 눈짓
curl -L https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash
또는
wget -O- https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash
수동 설치
sudo apt-get install python-pip build-essential python-dev lm-sensors
sudo pip install psutil logutils bottle batinfo https://bitbucket.org/gleb_zhulik/py3sensors/get/tip.tar.gz zeroconf netifaces pymdstat influxdb elasticsearch potsdb statsd pystache docker-py pysnmp pika py-cpuinfo bernhard
sudo pip install glances
기본 사용법
시작하려면 glances
입력 단순히 glances
터미널을한다.
한눈에 CPU,로드, 메모리, 스왑 네트워크, 디스크 I / O 및 프로세스와 같은 시스템 리소스에 대한 많은 정보가 한 페이지에 표시됩니다. 기본적으로 색상 코드는 다음을 의미합니다.
GREEN : the statistic is “OK”
BLUE : the statistic is “CAREFUL” (to watch)
VIOLET : the statistic is “WARNING” (alert)
RED : the statistic is “CRITICAL” (critical)
Glances가 실행 중일 때 특수 키를 눌러 명령을 내릴 수 있습니다.
c: Sort processes by CPU%
m: Sort processes by MEM%
p: Sort processes by name
i: Sort processes by IO Rate
d: Show/hide disk I/O stats
f: Show/hide file system stats
n: Show/hide network stats
s: Show/hide sensors stats
b: Bit/s or Byte/s for network IO
w: Delete warning logs
x: Delete warning and critical logs
1: Global CPU or Per Core stats
h: Show/hide this help message
q: Quit (Esc and Ctrl-C also work)
l: Show/hide log messages
CPU, 램, 스왑 모니터링
디스크 모니터링
시스템 열 모니터링
입력 glances --help
하면 -e
센서 모듈 사용 (Linux 전용) 을 찾을 수 있습니다.
glances -e
구성 파일
GNU / Linux의 Glances 구성 파일에서 임계 값을 설정할 수 있으며 기본 구성 파일은에 있습니다 /etc/glances/glances.conf
.
클라이언트 / 서버 모드
이 모니터링 도구의 또 다른 흥미로운 기능은 입력하는 것만으로 서버 모드에서 시작할 수 있다는 것입니다 glances -s
. 이것은 Glances 서버가 0.0.0.0:61209에서 실행되는 것처럼 출력을 제공하고 glances -c @를 사용하여 다른 컴퓨터에서 연결할 수 있습니다. server @server는 서버의 IP 주소 또는 호스트 이름입니다.
Glances는 XML / RPC 서버를 사용하며 다른 클라이언트 소프트웨어에서 사용할 수 있습니다. 서버 모드에서 바인드 주소 (-B ADDRESS) 및 수신 TCP 포트 (-p PORT)를 설정할 수 있으며 기본 바인딩 주소는 0.0.0.0 (모든 네트워크 인터페이스에서 한 눈에 들어)이며 TCP 포트는 61209입니다. 클라이언트 모드에서는 서버의 TCP 포트 (-p 포트)를 설정할 수 있습니다. 클라이언트 / 서버 모드에서 제한은 서버 측에서 설정합니다. 버전 1.6에는 서버에 설정된 경우 서버에 액세스 할 수있는 선택적 비밀번호 (-P 비밀번호)가 도입되었습니다 (-P 비밀번호).
추가 소스 : PyPI , Github , Linuxaria
최신 정보
일을 같이하는 방법을 단지 예를 들어 주주 컨테이너를 모니터링 큰 이미지
터미널 1 번에서 Glances가 서버 모드에서 실행 중이고 터미널 2 번에서 Juju 컨테이너가 실행 중이고 apt-get update
터미널 3 glances -c 192.168.1.103
Glances가 컨테이너 IP에 연결되어 있음
CPU 사용량 살펴보기
내장 된 시스템 모니터 사용량 그래프에서 알 수 있듯이 활성 상태에서 CPU 사용량의주기 급증이 필요합니다. 그래프가 정확한 경우-한 눈에 볼 때 시스템에서 약 1/4의 CPU를 포기합니다. 이것은 서버의 CPU 부하를 모니터링하는 사람들에게 효과적입니다.
답변
표시기 SysMonitor
Indicator-SysMonitor는 약간 수행하지만 잘 수행합니다. 설치 및 실행되면 상단 패널에 CPU 및 RAM 사용량이 표시됩니다. 단순한.
여기 에서 다운로드
콘키
내가 개인적으로 좋아하는 것 중 하나
Screenlet
당신은 Ubuntu Software Center에서 이용 가능한 screenlets-all 패키지에 포함 된 다양한 스타일의 CPU 및 RAM 모니터를 찾을 수 있습니다.
한눈에
설치하기 위해서:
sudo apt-get install python-pip build-essential python-dev
sudo pip install Glances
sudo pip install PySensors
VMSTAT
CPU, 메모리, 프로세스 등에 대한 정보를 표시합니다.
IOSTAT
이 명령 줄 도구는 CPU, 하드 디스크 파티션에 대한 I / O 정보, NFS (Network File System) 등에 대한 통계를 표시합니다. iostat를 설치하려면 다음 명령을 실행하십시오.
sudo apt-get install sysstat
보고서를 시작하려면 다음 명령을 실행하십시오.
iostat
CPU 통계 만 확인하려면 다음 명령을 사용하십시오.
iostat -c
더 많은 매개 변수를 보려면 다음 명령을 사용하십시오.
iostat --help
MPSTAT
mpstat 명령 줄 유틸리티는 프로세서 당 평균 CPU 사용량을 표시합니다. 실행하려면 다음 명령을 사용하십시오.
mpstat
프로세서 당 CPU 사용량의 경우 다음 명령을 사용하십시오.
mpstat -P ALL
사이 다르
또한 Saidar는 명령 줄을 통해 시스템 장치 활동을 모니터링 할 수 있습니다.
다음 명령을 사용하여 설치할 수 있습니다.
sudo apt-get install saidar
모니터링을 시작하려면 다음 명령을 실행하십시오.
saidar -c -d 1
통계는 1 초마다 새로 고침됩니다.
GKrellM
GKrellM은 데스크탑 시스템 장치 정보 (CPU, 온도, 메모리, 네트워크 등)에 표시되는 다양한 테마를 갖춘 사용자 정의 가능한 위젯입니다.
GKrellM을 설치하려면 다음 명령을 실행하십시오 :
sudo apt-get install gkrellm
Monitorix
Monitorix는 시스템 장치 모니터링을위한 웹 기반 사용자 인터페이스가있는 또 다른 응용 프로그램입니다.
다음 명령으로 설치하십시오 :
sudo add-apt-repository ppa:upubuntu-com/ppa
sudo apt-get update
sudo apt-get install monitorix
이 URL을 통해 Monitorix를 시작하십시오.
http://localhost/monitorix/
답변
다음은 리눅스 시스템을 모니터링하기위한 도구입니다
- 시스템과 같은 명령을
top
,free -m
,vmstat
,iostat
,iotop
,sar
,netstat
등 당신은 문제를 디버깅 할 때 아무것도 이러한 리눅스 유틸리티 근처에 온다. 이 명령은 서버 내부로가는 명확한 그림을 제공합니다 - SeaLion : 에이전트는 # 1 (또한 사용자 정의)에 언급 된 모든 명령을 실행 하며이 명령의 출력은 아름다운 웹 인터페이스에서 액세스 할 수 있습니다. 이 도구는 설치가 간단하여 수백 대의 서버에서 디버깅 할 때 편리합니다. 그리고 그 무료
- Nagios : 모든 모니터링 / 경고 도구의 어머니입니다. 그것은 많은 사용자 정의이지만 초보자를 위해 설정하는 것은 매우 어렵습니다. 거의 모든 중요한 Linux 지표를 다루는 nagios 플러그인이라는 도구 세트가 있습니다.
- 무닌
- 서버 밀도 : 중요한 Linux 메트릭을 수집하고 사용자가 자체 플러그인을 작성할 수있는 클라우드 기반 유료 서비스입니다.
- 새로운 유물 : 또 다른 잘 알려진 호스팅 모니터링 서비스.
- 자 빅스
답변
답변
상단
top은 CPU / RAM 사용량, 전체 CPU / RAM 사용량 등을 포함한 모든 프로세스를 나열하는 소프트웨어 모니터링입니다. 또한 대부분 기본적으로 설치됩니다
멈춤
htop은 top의 확장 버전과 같습니다. 위의 모든 기능이 있지만 자식 프로세스를보고 모든 표시를 사용자 정의 할 수 있습니다. 색상도 있습니다.
아이오 톱
iotop은 특히 하드 리브 I / O 모니터링을위한 것입니다. 모든 프로세스를 나열하고 읽기 및 쓰기에 대한 하드 드라이브 사용량을 보여줍니다.
답변
sysmon 을 시도 할 수 있습니다 . Glances만큼 화려하지는 않지만 매우 간단하고 사용하기 쉽습니다.
더러워지고 파이썬에서 약간의 스크립팅을하고 싶다면 파이썬을 사용하여 시스템을 모니터링하는 몇 가지 기본 사항을 시작하십시오.
psutil
대부분의 것을 모니터링 하려면 외부 모듈이 필요합니다 . 소스에서 빌드하는 대신 외부 모듈 설치 프로그램을 사용하는 것이 가장 쉽습니다.
참고 :이 예제는 Python 2.7로 작성되었습니다.
sudo apt-get install pip
sudo pip install psutil
이제 모듈을 설치 했으므로 코딩을 시작할 수 있습니다.
먼저이라는 파일을 만듭니다 usage.py
.
gedit ~/usage.py
가져 오기로 시작 psutil
import psutil
그런 다음 CPU 코어가 실행중인 백분율을 모니터하는 함수를 작성하십시오.
def cpu_perc():
cpu_perc = psutil.cpu_percent(interval=1, percpu=True)
for i in range(len(cpu_perc)):
print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"
조금만 자세히 살펴 보자.
첫 번째 줄 cpu_num = psutil.cpu_percent(interval=1, percpu=True)
은 CPU의 코어가 실행중인 백분율을 찾아서라는 목록에 할당합니다 cpu_perc
.
여기이 루프
for i in range(len(cpu_num)):
print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"
각 CPU 코어의 현재 백분율을 인쇄하는 for 루프입니다.
RAM 사용량을 추가하겠습니다.
라는 함수를 만듭니다 ram_perc
.
def ram_perc():
mem = psutil.virtual_memory()
mem_perc = mem.percent
print "RAM: ", mem_perc, "%"
psutil.virtual_memory
컴퓨터의 RAM에 대한 다른 사실을 포함하는 데이터 세트를 제공합니다.
다음으로 네트워크에 대한 몇 가지 사실을 추가 할 수 있습니다.
def net():
net = psutil.net_io_counters()
mbytes_sent = float(net.bytes_sent) / 1048576
mbytes_recv = float(net.bytes_recv) / 1048576
print "MB sent: ", mbytes_sent
print "MB received: ", mbytes_recv
psutil.net_io_counters()
바이트 단위로 보내고받는 패킷에 대한 정보 만 제공 하므로 일부 변환이 필요했습니다.
스왑 공간에 대한 정보를 얻으려면이 함수를 추가하십시오.
def swap_perc():
swap = psutil.swap_memory()
swap_perc = swap.percent
이것은 매우 간단합니다.
온도는 어려우므로 하드웨어에 어떤 기능이 작동하는지 알아 내기 위해 직접 조사해야 할 수도 있습니다. 특정 파일의 내용을 표시해야합니다.
디스크 사용은 온도보다 훨씬 쉽습니다. 모니터링하려는 디스크 (예 🙂 /
를 특정 기능을 통해 전달하기 만하면됩니다.
def disks():
if len(sys.argv) > 1:
for disk in range(1, len(sys.argv)):
tmp = psutil.disk_usage(sys.argv[disk])
print sys.argv[disk], "\n"
print "Megabytes total: ",
print str(float(tmp.total) / 1048576)
print "Megabytes used: ",
print str(float(tmp.used) / 1048576)
print "Megabytes free: ",
print str(float(tmp.free) / 1048576)
print "Percentage used: ",
print tmp.percent, "\n"
원래 출력 psutil.disk_usage
않습니다,
>>>psutil.disk_usage('/')
sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)
하지만 당신은 또한 단지받을 수 total
, used
, free
, 또는 percent
.
완성 된 프로그램 : (위에 언급 된 기능들이 결합 됨)
import psutil, os, sys
mem_perc = 0 #init var
swap_perc = 0 #init var
mbytes_sent = 0 #init var
mbytes_recv = 0 #init var
cpu_perc = 0 #init var
swap = 0 #init var
mem = 0 #init var
net = 0 #init var
def disp(degree):
global cpu_perc
global swap
global swap_perc
global mem
global mem_perc
global net
global mbytes_sent
global mbytes_recv
cpu_perc = psutil.cpu_percent(interval=1, percpu=True)
swap = psutil.swap_memory()
swap_perc = swap.percent
mem = psutil.virtual_memory()
mem_perc = mem.percent
net = psutil.net_io_counters()
mbytes_sent = float(net.bytes_sent) / 1048576
mbytes_recv = float(net.bytes_recv) / 1048576
os.system('clear') #clear the screen
print "-"*30
print "CPU"
print "-"*30
print "CPU Temperature: " , degree, "'C"
for i in range(len(cpu_perc)):
print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"
print "-"*30
print "MEMORY"
print "-"*30
print "RAM: ", mem_perc, "%"
print "Swap: ", swap_perc, "%"
print "-"*30
print "NETWORK"
print "-"*30
print "MB sent: ", mbytes_sent
print "MB received: ", mbytes_recv
print "-"*30
print "DISKS"
print "-"*30
if len(sys.argv) > 1:
for disk in range(1, len(sys.argv)):
tmp = psutil.disk_usage(sys.argv[disk])
print sys.argv[disk], "\n"
print "Megabytes total: ",
print str(float(tmp.total) / 1048576)
print "Megabytes used: ",
print str(float(tmp.used) / 1048576)
print "Megabytes free: ",
print str(float(tmp.free) / 1048576)
print "Percentage used: ",
print tmp.percent, "\n"
def main():
print("Press Ctrl+C to exit")
while True:
temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')
temp = float(temp) / 1000
disp(temp)
main()
회선 temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')
이 하드웨어 구성에서 작동하지 않을 수 있습니다.
명령 행에서이 프로그램을 실행하십시오. 명령 줄에서 모니터 할 디스크를 인수로 전달하십시오.
$ python usage.py /
Press Ctrl+C to exit
------------------------------
CPU
------------------------------
CPU Temperature: 39.0 'C
CPU Core 1 : 4.8 %
CPU Core 2 : 1.0 %
CPU Core 3 : 0.0 %
CPU Core 4 : 4.9 %
------------------------------
MEMORY
------------------------------
RAM: 33.6 %
Swap: 6.4 %
------------------------------
NETWORK
------------------------------
MB sent: 2.93382358551
MB received: 17.2131490707
------------------------------
DISKS
------------------------------
/
Megabytes total: 13952.484375
Megabytes used: 8542.6640625
Megabytes free: 4678.5703125
Percentage used: 61.2
/media/calvin/Data
Megabytes total: 326810.996094
Megabytes used: 57536.953125
Megabytes free: 269274.042969
Percentage used: 17.6
도움이 되었기를 바랍니다! 궁금한 점이 있으면 의견을 말하십시오.