Công cụ giám sát hiệu suất hệ thống Linux Glances: Hướng dẫn sử dụng

Giới thiệu Glances

Glances là một công cụ giám sát đa nền tảng, được thiết kế để hiển thị thông tin giám sát rộng rãi thông qua giao diện curses hoặc dựa trên web. Thông tin này được điều chỉnh động theo kích thước của giao diện người dùng.

Công cụ cũng có thể hoạt động ở chế độ client/server. Giám sát từ xa có thể được thực hiện thông qua terminal, giao diện web hoặc API (XML-RPC và RESTful). Thống kê cũng có thể được xuất sang file hoặc cơ sở dữ liệu thời gian/giá trị bên ngoài.

Glances được viết bằng Python và sử dụng các thư viện để lấy thông tin từ hệ thống của bạn. Nó dựa trên kiến trúc mở, cho phép nhà phát triển thêm plugin mới hoặc module xuất.

Thay thế mạnh mẽ cho htop/top.

Tài liệu tham khảo

Cài đặt Glances

Yêu cầu cài đặt

  • Python ≥ 2.7 hoặc Python ≥ 3.4

Cài đặt tự động

Cách 1

$ curl -L https://bit.ly/glances | /bin/bash

Cách 2

$ wget -O- https://bit.ly/glances | /bin/bash

Cài đặt qua pip

Lệnh cài đặt Glances

# Chọn một trong ba cách sau
$ pip install glances
$ pip install glances[all]
$ pip install glances[action,browser,cloud,cpuinfo,docker,export,folders,gpu,graph,ip,raid,snmp,web,wifi]

Lệnh nâng cấp Glances

# Chọn một trong ba cách
$ pip install --upgrade glances
$ pip install --upgrade psutil
$ pip install --upgrade glances[all]

Cài đặt từ nguồn

Hệ thống Ubuntu

root@wgs:~# apt -y install glances

Hệ thống CentOS 7

[root@wgs ~]# yum -y install glances

Hướng dẫn sử dụng Glances

Xem lệnh trợ giúp
root@wgs:~# glances -h
usage: glances [-h] [-V] [-d] [-C CONF_FILE] [--modules-list] [--disable-plugin DISABLE_PLUGIN] [--enable-plugin ENABLE_PLUGIN] [--disable-process] [--disable-webui] [--light] [-0] [-1] [-2] [-3] [-4] [-5] [-6] [--disable-history] [--disable-bold] [--disable-bg]
               [--enable-irq] [--enable-process-extended] [--export EXPORT] [--export-csv-file EXPORT_CSV_FILE] [--export-csv-overwrite] [--export-json-file EXPORT_JSON_FILE] [--export-graph-path EXPORT_GRAPH_PATH] [-c CLIENT] [-s] [--browser] [--disable-autodiscover]
               [-p PORT] [-B BIND_ADDRESS] [--username] [--password] [-u USERNAME_USED] [--snmp-community SNMP_COMMUNITY] [--snmp-port SNMP_PORT] [--snmp-version SNMP_VERSION] [--snmp-user SNMP_USER] [--snmp-auth SNMP_AUTH] [--snmp-force] [-t TIME] [-w]
               [--cached-time CACHED_TIME] [--open-web-browser] [-q] [-f PROCESS_FILTER] [--process-short-name] [--stdout STDOUT] [--stdout-csv STDOUT_CSV] [--hide-kernel-threads] [-b] [--diskio-show-ramfs] [--diskio-iops] [--fahrenheit] [--fs-free-space]
               [--sparkline] [--theme-white] [--disable-check-update]

optional arguments:
  -h, --help            hiển thị thông tin trợ giúp và thoát
  -V, --version         hiển thị phiên bản chương trình và thoát
  -d, --debug           bật chế độ gỡ lỗi
  -C CONF_FILE, --config CONF_FILE
                        đường dẫn đến file cấu hình
  --modules-list, --module-list
                        hiển thị danh sách module (plugin & export) và thoát
  --disable-plugin DISABLE_PLUGIN, --disable-plugins DISABLE_PLUGIN
                        vô hiệu hóa plugin (danh sách phân cách bằng dấu phẩy)
  --enable-plugin ENABLE_PLUGIN, --enable-plugins ENABLE_PLUGIN
                        bật plugin (danh sách phân cách bằng dấu phẩy)
  --disable-process     vô hiệu hóa module tiến trình
  --disable-webui       vô hiệu hóa giao diện Web
  --light, --enable-light
                        chế độ nhẹ cho giao diện Curses UI (vô hiệu hóa tất cả trừ menu trên cùng)
  -0, --disable-irix    sử dụng CPU của tác vụ sẽ được chia cho tổng số CPU
  -1, --percpu  #chạy Glances ở chế độ mỗi CPU
  -2, --disable-left-sidebar
                        #vô hiệu hóa module mạng, I/O đĩa, FS và cảm biến
  -3, --disable-quicklook
                        #vô hiệu hóa module xem nhanh
  -4, --full-quicklook #vô hiệu hóa tất cả trừ module xem nhanh và tải
  -5, --disable-top #vô hiệu hóa menu trên cùng (QL, CPU, MEM, SWAP và LOAD)
  -6, --meangpu #chạy Glances ở chế độ GPU trung bình
  --disable-history #vô hiệu hóa lịch sử thống kê
  --disable-bold #vô hiệu hóa chế độ in đậm trong terminal
  --disable-bg #vô hiệu hóa màu nền trong terminal
  --enable-irq #bật module IRQ
  -enable-process-extended
                        #bật thống kê mở rộng cho tiến trình hàng đầu
  --export EXPORT #bật module xuất (danh sách phân cách bằng dấu phẩy)
  --export-csv-file EXPORT_CSV_FILE
                        #đường dẫn file cho trình xuất CSV
  --export-csv-overwrite
                        #ghi đè file CSV hiện có
  --export-json-file EXPORT_JSON_FILE
                        #đường dẫn file cho trình xuất JSON
  --export-graph-path EXPORT_GRAPH_PATH
                       #đường dẫn cho trình xuất đồ thị
  -c CLIENT, --client CLIENT
                        #kết nối đến server Glances qua địa chỉ IPv4/IPv6 hoặc hostname
  -s, --server #chạy Glances ở chế độ server
  --browser #khởi chạy trình duyệt client (danh sách server)
  --disable-autodiscover
                        #vô hiệu hóa chức năng tự động phát hiện
  -p PORT, --port PORT #định nghĩa cổng TCP client/server [mặc định: 61209]
  -B BIND_ADDRESS, --bind BIND_ADDRESS
                        #ràng buộc server với địa chỉ IPv4/IPv6 hoặc hostname đã cho
  --username #định nghĩa tên người dùng client/server
  --password #định nghĩa mật khẩu client/server
  -u USERNAME_USED #sử dụng tên người dùng client/server đã cho
 --snmp-community SNMP_COMMUNITY
                        #community SNMP
  --snmp-port SNMP_PORT
                        #cổng SNMP
  --snmp-version SNMP_VERSION
                        #phiên bản SNMP (1, 2c hoặc 3)
  --snmp-user SNMP_USER
                        #tên người dùng SNMP (chỉ dành cho SNMPv3)
  --snmp-auth SNMP_AUTH
                        #khóa xác thực SNMP (chỉ dành cho SNMPv3)
  --snmp-force #bắt buộc chế độ SNMP
  -t TIME, --time TIME #đặt thời gian làm mới theo giây [mặc định: 3 giây]
  -w, --webserver #chạy Glances ở chế độ server web
  --cached-time CACHED_TIME #đặt thời gian cache server [mặc định: 1 giây]
                        
  --open-web-browser  #cố gắng mở giao diện Web UI trong trình duyệt mặc định
  -q, --quiet #không hiển thị giao diện curses
  -f PROCESS_FILTER, --process-filter PROCESS_FILTER
                        #đặt chế độ lọc tiến trình (biểu thức chính quy)
  --process-short-name #buộc tên tiến trình ngắn gọn
  --stdout STDOUT       #hiển thị thống kê ra đầu ra chuẩn, mỗi dòng một thống kê (danh sách plugin/plugins.attribute phân cách bằng dấu phẩy)
  --stdout-csv STDOUT_CSV #hiển thị thống kê ra đầu ra chuẩn, định dạng csv (danh sách plugin/plugins.attribute phân cách bằng dấu phẩy)
                        
  --hide-kernel-threads #ẩn thread kernel trong danh sách tiến trình (không khả dụng trên Windows)
                        
  -b, --byte #hiển thị tốc độ mạng theo byte mỗi giây
  --diskio-show-ramfs #hiển thị RAM Fs trong plugin DiskIO
  --diskio-iops #hiển thị IO mỗi giây trong plugin DiskIO
  --fahrenheit #hiển thị nhiệt độ theo độ F (mặc định là độ C)
  --fs-free-space #hiển thị không gian FS trống thay vì đã sử dụng
  --sparkline #hiển thị đồ thị nhỏ trong giao diện curses thay vì biểu đồ thanh
  --theme-white #tối ưu màu hiển thị cho nền trắng
  --disable-check-update #vô hiệu hóa kiểm tra phiên bản Glances trực tuyến
                        

Ví dụ sử dụng:
  Giám sát máy cục bộ (chế độ độc lập):
    $ glances

  Hiển thị tất cả module Glances (plugin và exporter) và thoát:
    $ glances --module-list

  Giám sát máy cục bộ với giao diện Web và khởi chạy server RESTful:
    $ glances -w
    Glances web server started on http://0.0.0.0:61208/

  Chỉ khởi chạy API RESTful (không có WebUI):
    $ glances -w --disable-webui
    Glances API available on http://0.0.0.0:61208/api/

  Giám sát máy cục bộ và xuất thống kê ra file CSV (chế độ độc lập):
    $ glances --export csv --export-csv-file /tmp/glances.csv

  Giám sát máy cục bộ và xuất thống kê ra server InfluxDB với thời gian làm mới 5s (chế độ độc lập):
    $ glances -t 5 --export influxdb

  Khởi chạy server Glances XML/RCP:
    $ glances -s

  Kết nối Glances với server Glances XML/RCP (chế độ client):
    $ glances -c <ip_server>

  Kết nối Glances với server Glances và xuất thống kê ra server StatsD (chế độ client):
    $ glances -c <ip_server> --export statsd

  Khởi chạy trình duyệt client (chế độ browser):
    $ glances --browser

  Hiển thị thống kê ra stdout (một thống kê mỗi dòng):
    $ glances --stdout now,cpu.user,mem.used,load

  Hiển thị thống kê CSV ra stdout (tất cả thống kê trong một dòng):
    $ glances --stdout-csv now,cpu.user,mem.used,load

  Vô hiệu hóa một số plugin (danh sách phân cách bằng dấu phẩy):
    $ glances --disable-plugin network,ports

  Bật một số plugin (danh sách phân cách bằng dấu phẩy):
    $ glances --enable-plugin sensors

Chế độ chạy Glances

Chế độ độc lập (Standalone Mode)

Thay thế mạnh mẽ cho htop/top

Nếu muốn giám sát máy cục bộ, mở console/terminal và chạy glances, nhấn "q" hoặc "ESC" để thoát

root@wgs:~# glances

Sử dụng tương tác với các phím tắt sau:

  • h : Hiển thị thông tin trợ giúp
  • q : Thoát chương trình
  • c : Sắp xếp tiến trình theo tải CPU thời gian thực
  • m : Sắp xếp tiến trình theo sử dụng bộ nhớ
  • i : Sắp xếp tiến trình theo sử dụng I/O
  • p : Sắp xếp theo tên tiến trình
  • d : Hiển thị tình trạng đọc/ghi đĩa
  • w : Xóa file log
  • l : Hiển thị log
  • s : Hiển thị thông tin cảm biến
  • f : Hiển thị thông tin hệ thống
  • 1 : Hiển thị sử dụng của từng nhân CPU

Chế độ Client/Server

Server

Trong chế độ server, bạn có thể sử dụng -B ADDRESS để đặt địa chỉ ràng buộc và -p PORT để chỉ định cổng TCP.

Mặc định địa chỉ ràng buộc là `0.0.0.0` (Glances sẽ lắng nghe trên tất cả các interface mạng có sẵn), cổng TCP là `61209`.

root@server:~# glances -s

Client

root@client:~# glances -c @server

Chế độ server web

Server

root@server:~# glances -w

Client

Truy cập http://@server:61208 qua trình duyệt

@server thay bằng IP của server

Thay đổi tần suất làm mới trang

Làm mới mỗi 10 giây

http://@server:61208/10

@server thay bằng IP của server

Thẻ: glances linux system-monitoring performance-monitoring python

Đăng vào ngày 19 tháng 6 lúc 08:37