Glances เป็นเครื่องมือตรวจสอบข้ามแพลตฟอร์มของระบบโอเพ่นซอร์ส ช่วยให้สามารถตรวจสอบแง่มุมต่าง ๆ ของระบบของคุณแบบเรียลไทม์ เช่น CPU, หน่วยความจำ, ดิสก์, การใช้งานเครือข่าย ฯลฯ นอกจากนี้ยังช่วยให้ตรวจสอบกระบวนการที่ทำงานอยู่ ผู้ใช้ที่เข้าสู่ระบบ อุณหภูมิ แรงดันไฟฟ้า ความเร็วพัดลม ฯลฯ นอกจากนี้ยังรองรับการตรวจสอบคอนเทนเนอร์ รองรับระบบการจัดการคอนเทนเนอร์ต่างๆ เช่น Docker, LXC ข้อมูลจะถูกนำเสนอในแดชบอร์ดที่อ่านง่ายและยังสามารถใช้สำหรับการตรวจสอบระบบระยะไกลผ่านทางอินเทอร์เฟซเว็บหรืออินเทอร์เฟซบรรทัดคำสั่ง ติดตั้งและใช้งานง่ายและสามารถปรับแต่งให้แสดงเฉพาะข้อมูลที่คุณสนใจได้
ในโหมดไคลเอ็นต์/เซิร์ฟเวอร์ การตรวจสอบระยะไกลสามารถทำได้ผ่านเทอร์มินัล เว็บอินเทอร์เฟซ หรือ API (XML-RPC และ RESTful) สถิติยังสามารถส่งออกไปยังไฟล์หรือฐานข้อมูลเวลา/ค่าภายนอก, CSV หรือส่งออกโดยตรงไปยัง STDOUT
Glances เขียนด้วยภาษา Python และใช้ไลบรารีเพื่อดึงข้อมูลจากระบบของคุณ ขึ้นอยู่กับสถาปัตยกรรมแบบเปิดที่นักพัฒนาสามารถเพิ่มปลั๊กอินใหม่หรือส่งออกโมดูลได้
คุณสามารถช่วยให้ฉันบรรลุเป้าหมายในการปรับปรุงโครงการโอเพ่นซอร์สนี้ หรือเพียงแค่พูดว่า "ขอบคุณ" โดย:
การมีส่วนร่วมใด ๆ และทั้งหมดได้รับการชื่นชมอย่างมาก
python>=3.9
(ใช้ Glances 3.4.x สำหรับเวอร์ชัน Python ที่ต่ำกว่า)psutil
(ดีกว่ากับเวอร์ชันล่าสุด)defusedxml
(เพื่อลิงแพตช์ xmlrpc)packaging
(สำหรับการเปรียบเทียบเวอร์ชัน)orjson
(ทางเลือกที่ปรับให้เหมาะสมที่สุดสำหรับโมดูล json มาตรฐาน)หมายเหตุสำหรับผู้ใช้ Python 2
Glances เวอร์ชัน 4 หรือสูงกว่าไม่รองรับ Python 2 (และ Python 3 < 3.9) โปรดใช้ Glances เวอร์ชัน 3.4.x หากคุณต้องการการสนับสนุน Python 2
การพึ่งพาเพิ่มเติม:
batinfo
(สำหรับการตรวจสอบแบตเตอรี่)bernhard
(สำหรับโมดูลส่งออก Riemann)cassandra-driver
(สำหรับโมดูลส่งออก Cassandra)chevron
(สำหรับคุณลักษณะสคริปต์การดำเนินการ)docker
(สำหรับการสนับสนุนการตรวจสอบคอนเทนเนอร์นักเทียบท่า)elasticsearch
(สำหรับโมดูลส่งออก Elastic Search)FastAPI
และ Uvicorn
(สำหรับโหมดเว็บเซิร์ฟเวอร์)graphitesender
(สำหรับโมดูลส่งออกกราไฟท์)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
(สำหรับการสนับสนุนการตรวจสอบคอนเทนเนอร์ 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
หมายเหตุ : จำเป็นต้องใช้ส่วนหัว Python เพื่อติดตั้ง psutil ซึ่งเป็นการพึ่งพา Glances ตัวอย่างเช่น บน Debian/Ubuntu สิ่งที่ง่ายที่สุด คือ apt install python3-psutil
หรืออีกทางหนึ่งจำเป็นต้องติดตั้งแพ็คเกจ python-dev และ gcc ก่อน ( python-devel บน Fedora/CentOS/RHEL) สำหรับ 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 บนระบบของคุณ (ควรติดตั้ง pipx บน Ubuntu)
ติดตั้ง Glances (พร้อมคุณสมบัติทั้งหมด):
pipx install 'glances[all]'
สคริปต์การชำเลืองมองจะถูกติดตั้งในโฟลเดอร์ ~/.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)
นอกจากนี้ หากคุณต้องการใช้ไฟล์เหลือบมอง.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
หรือคุณสามารถระบุบางสิ่งในบรรทัดเดียวกันด้วยตัวเลือกการเรียกใช้นักเทียบท่า (สังเกตพารามิเตอร์การตั้งค่าตัวแปรสภาพแวดล้อม 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 เป็นไดเร็กทอรีในเครื่องที่มีไฟล์ glances.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 อาจไม่ใช่เวอร์ชันล่าสุด และเปิดใช้งานเฉพาะปลั๊กอินพื้นฐานเท่านั้น
หมายเหตุ: แพ็คเกจ Debian (และการแจกแจงแบบอิง Debian อื่นๆ ทั้งหมด) จะไม่รวมไฟล์สถิติ JS ที่ใช้โดยเว็บอินเทอร์เฟซอีกต่อไป (ดู issue2021
) หากคุณต้องการเพิ่มลงในการติดตั้ง Glances ให้ทำตามคำแนะนำ: issue2021comment
ใน Glances เวอร์ชัน 4 ขึ้นไป สามารถกำหนดค่าเส้นทางไปยังไฟล์สถิติได้ (ดู issue2612
)
ในการติดตั้งแพ็คเกจไบนารี:
# pkg install py39-glances
ในการติดตั้ง Glances จากพอร์ต:
# cd /usr/ports/sysutils/py-glances/
# make install clean
หากคุณไม่ต้องการใช้สคริปต์ติดตั้งอัตโนมัติอย่างรวดเร็ว ให้ทำตามขั้นตอนนี้
ผู้ใช้ macOS สามารถติดตั้ง Glances ได้โดยใช้ Homebrew
หรือ MacPorts
$ brew install glances
$ sudo port install glances
ติดตั้ง Python สำหรับ Windows (Python 3.4+ มาพร้อมกับ pip) จากนั้นรันคำสั่งต่อไปนี้:
$ pip install glances
คุณต้องมีอุปกรณ์ที่รูทและแอปพลิเคชัน Termux (มีอยู่ใน Google Play Store)
เริ่ม Termux บนอุปกรณ์ของคุณแล้วป้อน:
$ apt update
$ apt upgrade
$ apt install clang python
$ pip install fastapi uvicorn jinja2
$ pip install glances
และเริ่ม Glances:
$ glances
คุณยังสามารถเรียกใช้ Glances ในโหมดเซิร์ฟเวอร์ (-s หรือ -w) เพื่อตรวจสอบอุปกรณ์ Android ของคุณจากระยะไกล
วิธีติดตั้ง Glances จากแหล่งที่มา:
$ pip install https://github.com/nicolargo/glances/archive/vX.Y.tar.gz
หมายเหตุ : ต้องใช้ส่วนหัว Python เพื่อติดตั้ง psutil
มีตำราอาหาร Chef
ที่ยอดเยี่ยมสำหรับตรวจสอบโครงสร้างพื้นฐานของคุณ: https://supermarket.chef.io/cookbooks/glances (ขอบคุณ Antoine Rouyer)
คุณสามารถติดตั้ง Glances โดยใช้ Puppet
: 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}
...
หรือในรูปแบบ CSV ด้วยตัวเลือก stdout-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
...
หรือในรูปแบบ JSON ด้วยตัวเลือก stdout-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!) โปรดโพสต์ไว้ในฟอรัมถามตอบอย่างเป็นทางการ
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
สำหรับรายละเอียดเพิ่มเติม