Glances 는 오픈 소스 시스템 크로스 플랫폼 모니터링 도구입니다. CPU, 메모리, 디스크, 네트워크 사용량 등 시스템의 다양한 측면을 실시간으로 모니터링할 수 있습니다. 또한 실행 중인 프로세스, 로그인한 사용자, 온도, 전압, 팬 속도 등을 모니터링할 수 있습니다. 또한 컨테이너 모니터링도 지원합니다. Docker, LXC와 같은 다양한 컨테이너 관리 시스템을 지원합니다. 정보는 읽기 쉬운 대시보드에 표시되며 웹 인터페이스나 명령줄 인터페이스를 통해 시스템을 원격으로 모니터링하는 데에도 사용할 수 있습니다. 설치와 사용이 간편하며, 관심 있는 정보만 표시되도록 맞춤 설정할 수 있습니다.
클라이언트/서버 모드에서는 터미널, 웹 인터페이스 또는 API(XML-RPC 및 RESTful)를 통해 원격 모니터링을 수행할 수 있습니다. 통계는 파일이나 외부 시간/값 데이터베이스, CSV로 내보내거나 STDOUT으로 직접 출력할 수도 있습니다.
Glances는 Python으로 작성되었으며 라이브러리를 사용하여 시스템에서 정보를 가져옵니다. 이는 개발자가 새로운 플러그인을 추가하거나 모듈을 내보낼 수 있는 개방형 아키텍처를 기반으로 합니다.
이 오픈 소스 프로젝트를 개선하려는 목표를 달성하는 데 도움을 주거나 다음과 같이 "감사합니다"라고 말할 수 있습니다.
모든 기여에 크게 감사드립니다.
python>=3.9
(낮은 Python 버전의 경우 Glances 3.4.x 사용)psutil
(최신 버전에서는 더 좋음)defusedxml
(monkey 패치 xmlrpc를 위해)packaging
(버전 비교용)orjson
(표준 json 모듈에 대한 최적화된 대안)Python 2 사용자를 위한 참고 사항
Glances 버전 4 이상은 Python 2(및 Python 3 < 3.9)를 지원하지 않습니다. Python 2 지원이 필요한 경우 Glances 버전 3.4.x를 사용하세요.
선택적 종속성:
batinfo
(배터리 모니터링용)bernhard
(Riemann 내보내기 모듈용)cassandra-driver
(Cassandra 내보내기 모듈용)chevron
(액션 스크립트 기능용)docker
(컨테이너 Docker 모니터링 지원용)elasticsearch
(Elastic Search 내보내기 모듈용)FastAPI
및 Uvicorn
(웹 서버 모드용)graphitesender
(Graphite 내보내기 모듈용)hddtemp
(HDD 온도 모니터링 지원용) [Linux 전용]influxdb
(InfluxDB 버전 1 내보내기 모듈용)influxdb-client
(InfluxDB 버전 2 내보내기 모듈용)jinja2
(템플릿용, FastAPI에서 내부적으로 사용됨)kafka-python
(Kafka 내보내기 모듈용)netifaces
(IP 플러그인용)nvidia-ml-py
(GPU 플러그인용)pycouchdb
(CouchDB 내보내기 모듈용)pika
(RabbitMQ/ActiveMQ 내보내기 모듈용)podman
(Containers Podman 모니터링 지원용)potsdb
(OpenTSDB 내보내기 모듈용)prometheus_client
(Prometheus 내보내기 모듈용)pygal
(그래프 내보내기 모듈용)pymdstat
(RAID 지원용) [Linux 전용]pymongo
(MongoDB 내보내기 모듈용)pysnmp-lextudio
(SNMP 지원용)pySMART.smartx
(HDD Smart 지원용) [Linux 전용]pyzmq
(ZeroMQ 내보내기 모듈용)requests
(포트, 클라우드 플러그인 및 RESTful 내보내기 모듈용)sparklines
(빠른 플러그인 스파크라인 옵션용)statsd
(StatsD 내보내기 모듈용)wifi
(wifi 플러그인용) [Linux 전용]zeroconf
(자동 검색 모드용) 시스템에 Glances를 테스트/설치하는 방법에는 여러 가지가 있습니다. 무기를 선택하세요!
Glances는 PyPI
에 있습니다. PyPI를 사용하면 최신 안정 버전을 사용하게 됩니다.
Glances를 설치하려면 pip
명령줄을 사용하면 됩니다.
경고: 최신 Linux 운영 체제에서는 pip
사용하려고 할 때 외부 관리 환경 오류 메시지가 나타날 수 있습니다. 이 경우 아래 PipX 섹션으로 이동하세요.
pip install --user glances
참고 : Glances 종속성인 psutil을 설치하려면 Python 헤더가 필요합니다. 예를 들어 Debian/Ubuntu에서 가장 간단한 방법 은 apt install python3-psutil
하거나 먼저 python-dev 패키지와 gcc(Fedora/CentOS/RHEL의 python-devel )를 설치해야 하는 것입니다. Windows의 경우 바이너리 설치 파일에서 psutil을 설치하면 됩니다.
기본적으로 Glances는 웹 인터페이스 종속성 없이 설치됩니다. 설치하려면 다음 명령을 사용하십시오.
pip install --user 'glances[web]'
전체 설치(모든 기능 포함):
pip install --user 'glances[all]'
Glances를 최신 버전으로 업그레이드하려면:
pip install --user --upgrade glances
현재 개발 브랜치는 test.pypi.org 패키지 인덱스에 게시됩니다. 개발 버전(불안정할 수 있음)을 테스트하려면 다음을 입력하십시오.
pip install --user -i https://test.pypi.org/simple/ Glances
시스템에 PipX를 설치합니다(Ubuntu에 pipx를 적절하게 설치).
Glances 설치(모든 기능 포함):
pipx install 'glances[all]'
glans 스크립트는 ~/.local/bin 폴더에 설치됩니다.
Glances Docker 이미지를 사용할 수 있습니다. 이를 사용하여 서버와 모든 컨테이너를 모니터링할 수 있습니다!
Glances 컨테이너를 가져옵니다.
docker pull nicolargo/glances:latest-full
다음 태그를 사용할 수 있습니다.
콘솔 모드 에서 Glances 컨테이너의 마지막 버전을 실행합니다.
docker run --rm -e TZ="${TZ}" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host --network host -it nicolargo/glances:latest-full
기본적으로 /etc/glances/glances.conf 파일이 사용됩니다(docker-compose/glances.conf 기반).
또한 자체적인 glans.conf 파일을 사용하려는 경우 자체 Dockerfile을 생성할 수 있습니다.
FROM nicolargo/glances:latest
COPY glances.conf /root/.config/glances/glances.conf
CMD python -m glances -C /root/.config/glances/glances.conf $GLANCES_OPT
또는 docker 실행 옵션을 사용하여 동일한 줄을 따라 무언가를 지정할 수 있습니다(glances 시작 명령에 대한 GLANCES_OPT 환경 변수 설정 매개변수에 유의하세요).
docker run -e TZ="${TZ}" -v $HOME/.config/glances/glances.conf:/glances.conf:ro -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host -e GLANCES_OPT="-C /glances.conf" -it nicolargo/glances:latest-full
$HOME/.config/glances/glances.conf는 시선.conf 파일이 포함된 로컬 디렉터리입니다.
웹 서버 모드 에서 컨테이너를 실행합니다.
docker run -d --restart="always" -p 61208-61209:61208-61209 -e TZ="${TZ}" -e GLANCES_OPT="-w" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host nicolargo/glances:latest-full
전체 옵션 목록은 Glances Docker 설명서 페이지를 참조하세요.
Glances는 다양한 Linux 배포판에서 사용할 수 있으므로 선호하는 패키지 관리자를 사용하여 Glances를 설치할 수 있습니다. 이 방법을 사용하면 Glances용 운영 체제 패키지가 최신 버전이 아닐 수 있으며 기본 플러그인만 활성화된다는 점에 유의하세요.
참고: Debian 패키지(및 기타 모든 Debian 기반 배포판)에는 웹 인터페이스에서 사용하는 JS 정적 파일이 더 이상 포함되지 않습니다( issue2021
참조). Glances 설치에 추가하려면 issue2021comment
지침을 따르세요. Glances 버전 4 이상에서는 정적 파일 경로를 구성할 수 있습니다( issue2612
참조).
바이너리 패키지를 설치하려면:
# pkg install py39-glances
포트에서 Glances를 설치하려면:
# cd /usr/ports/sysutils/py-glances/
# make install clean
glansautoinstall 스크립트를 사용하지 않으려면 다음 절차를 따르십시오.
macOS 사용자는 Homebrew
또는 MacPorts
사용하여 Glances를 설치할 수 있습니다.
$ brew install glances
$ sudo port install glances
Windows용 Python(Python 3.4+는 pip와 함께 제공)을 설치한 후 다음 명령을 실행합니다.
$ pip install glances
루팅된 장치와 Termux 애플리케이션(Google Play 스토어에서 사용 가능)이 필요합니다.
장치에서 Termux를 시작하고 다음을 입력하십시오.
$ apt update
$ apt upgrade
$ apt install clang python
$ pip install fastapi uvicorn jinja2
$ pip install glances
그리고 Glances를 시작하세요:
$ glances
Android 기기를 원격으로 모니터링하기 위해 서버 모드(-s 또는 -w)에서 Glances를 실행할 수도 있습니다.
소스에서 Glances를 설치하려면:
$ pip install https://github.com/nicolargo/glances/archive/vX.Y.tar.gz
참고 : psutil을 설치하려면 Python 헤더가 필요합니다.
인프라를 모니터링하는 데 사용할 수 있는 멋진 Chef
요리책: https://supermarket.chef.io/cookbooks/glances(Antoine Rouyer에게 감사드립니다)
Puppet
사용하여 Glances를 설치할 수 있습니다: https://github.com/rverchere/puppet-glances
Glances Ansible
역할을 사용할 수 있습니다: https://galaxy.ansible.com/zaxos/glances-ansible-role/
독립형 모드의 경우 다음을 실행하십시오.
$ glances
웹 서버 모드의 경우 다음을 실행합니다.
$ glances -w
즐겨찾는 웹 브라우저에 URL http://<ip>:61208
입력하세요.
클라이언트/서버 모드의 경우 다음을 실행합니다.
$ glances -s
서버 측에서 다음을 실행하십시오.
$ glances -c < ip >
클라이언트에서.
네트워크에서 사용 가능하거나 구성 파일에 정의된 모든 Glances 서버를 감지하고 표시할 수도 있습니다.
$ glances --browser
stdout에 원시 통계를 표시할 수도 있습니다.
$ glances --stdout cpu.user,mem.used,load
cpu.user: 30.7
mem.used: 3278204928
load: {'cpucore': 4, 'min1': 0.21, 'min5': 0.4, 'min15': 0.27}
cpu.user: 3.4
mem.used: 3275251712
load: {'cpucore': 4, 'min1': 0.19, 'min5': 0.39, 'min15': 0.27}
...
또는 stdout-csv 옵션 덕분에 CSV 형식으로 사용할 수 있습니다.
$ glances --stdout-csv now,cpu.user,mem.used,load
now,cpu.user,mem.used,load.cpucore,load.min1,load.min5,load.min15
2018-12-08 22:04:20 CEST,7.3,5948149760,4,1.04,0.99,1.04
2018-12-08 22:04:23 CEST,5.4,5949136896,4,1.04,0.99,1.04
...
또는 stdout-json 옵션 덕분에 JSON 형식으로 사용할 수 있습니다(실제 JSON 객체를 출력하기 위해 이 모드에서는 지원되지 않는 속성).
$ glances --stdout-json cpu,mem
cpu: {"total": 29.0, "user": 24.7, "nice": 0.0, "system": 3.8, "idle": 71.4, "iowait": 0.0, "irq": 0.0, "softirq": 0.0, "steal": 0.0, "guest": 0.0, "guest_nice": 0.0, "time_since_update": 1, "cpucore": 4, "ctx_switches": 0, "interrupts": 0, "soft_interrupts": 0, "syscalls": 0}
mem: {"total": 7837949952, "available": 2919079936, "percent": 62.8, "used": 4918870016, "free": 2919079936, "active": 2841214976, "inactive": 3340550144, "buffers": 546799616, "cached": 3068141568, "shared": 788156416}
...
그리고 RTFM, 항상.
전체 문서를 보려면 readthedocs 웹사이트를 살펴보세요.
질문이 있으시면(RTFM 이후!) 공식 Q&A 포럼에 올려주세요.
Glances는 통계를 CSV
파일, JSON
파일, InfluxDB
, Cassandra
, CouchDB
, OpenTSDB
, Prometheus
, StatsD
, ElasticSearch
, RabbitMQ/ActiveMQ
, ZeroMQ
, Kafka
, Riemann
, Graphite
및 RESTful
서버로 내보낼 수 있습니다.
Glances 프로젝트에 기여하고 싶다면 이 위키 페이지를 읽어보세요.
Glances 개발자 전용 채팅도 있습니다.
니콜라스 헤니온(@nicolargo) <[email protected]>
Glances는 LGPL 버전 3 라이선스에 따라 배포됩니다. 자세한 내용은 COPYING
참조하세요.