psdash是linux的系統信息web指示板主要由使用數據psutil——由此得名。
github地址:https://github.com/Jahaja/psdash
特性
- 概述
儀表板概述系統的數據顯示cpu、磁盤、網絡、用戶、內存、交換和網絡。 -
流程
流程列表(top
)和查看詳細流程每個進程的信息。除了詳細的過程概述這也可以為每個流程:
- 打開的文件
- 打開的連接
- 內存映射
- 子進程
- 資源限制
- 磁盤
所有磁盤和分區列表信息。 - 網絡
在所有網絡接口信息和當前列表的吞吐量。 清單與過濾系統打開的連接。 有點像netstat
。 - 日志
尾巴和搜索日志。 模式(如添加日志/var/log/*.log
定期檢查),考慮到新的或刪除文件。 - 多節點集群/支持多個代理節點指定一個配置或將注冊自己創業共同psdash節點上運行的web界面。
- 所有的數據都是自動更新,不需要刷新
GUI非常多的一個修改引導我不是設計師。 如果你有一個感覺等設計和改善psdash的UI部分,請創建一個拉請求您的更改。 它將會感謝有很多改進的余地。
安裝
確保你的系統能夠建立Python C擴展。 在Debian衍生品如Ubuntu安裝這應該翻譯build-essential
和python-dev
包使用apt-get
:
# apt-get install build-essential python-dev
在RHEL(Fedora,CentOS等等。)分布:
# yum groupinstall "Development Tools"
# yum install python-devel
使用pip安裝:$ pip install psdash
由於皮普1.5.1你是被迫加入--allow-external argparse
因為最近argparse是托管在google代碼。
從源代碼安裝:$ python setup.py install
開始
開始psdash:$ psdash
開始一個psdash代理:$ psdash -a --register-to [http|https]://[host]:[port] --register-as my-agent-node
這將啟動psdash代理模式並試着注冊節點主psdash節點指向的--register-to
選擇。 一個代理節點將設置一個RPC服務器而不是指定的主機和端口的網絡服務器-p/--port
和-b/--bind
分別。 主要psdash節點(HTTP服務)將注冊節點的列表可用之間進行切換。
可用命令行參數:
$ psdash --help
usage: psdash [-h] [-l path] [-b host] [-p port] [-d] [-a]
[--register-to host:port] [--register-as name]
psdash [version] - system information web dashboard
optional arguments:
-h, --help show this help message and exit
-l path, --log path log files to make available for psdash. Patterns (e.g.
/var/log/**/*.log) are supported. This option can be
used multiple times.
-b host, --bind host host to bind to. Defaults to 0.0.0.0 (all interfaces).
-p port, --port port port to listen on. Defaults to 5000.
-d, --debug enables debug mode.
-a, --agent Enables agent mode. This launches a RPC server, using
zerorpc, on given bind host and port.
--register-to host:port
The psdash node running in web mode to register this
agent to on start up. e.g 10.0.1.22:5000
--register-as name The name to register as. (This will default to the
node's hostname)
配置
psdash使用提供的配置處理瓶。 環境變量配置文件指出PSDASH_CONFIG
將在啟動時讀取。
例句:$ PSDASH_CONFIG=/home/user/config.py psdash
除了內置的配置值,燒瓶有很多psdash具體的:
的名字 | 描述 |
---|---|
PSDASH_AUTH_USERNAME |
當這個值,PSDASH_AUTH_PASSWORD 是集,基本身份驗證將啟用提供憑證。 基本身份驗證的用戶名 |
PSDASH_AUTH_PASSWORD |
密碼的基本身份驗證 |
PSDASH_ALLOWED_REMOTE_ADDRESSES |
如果這是集,只提供ip地址將被允許訪問psdash。 地址是由一個逗號分開。 例句:PSDASH_ALLOWED_REMOTE_ADDRESSES = "10.0.0.2, 192.29.20.2" |
PSDASH_URL_PREFIX |
這可以用來制造psdash從非根位置服務。 例句:PSDASH_URL_PREFIX = "/psdash" 將使psdash服務從/ psdash頁面 |
PSDASH_LOG_LEVEL |
日志級別設置為psdash(傳入logging.basicConfig )。默認為logging.INFO 。 |
PSDASH_LOG_LEVEL |
日志格式為psdash(通過設置logging.basicConfig )。默認為%(levelname)s | %(name)s | %(message)s 。 |
PSDASH_NODES |
psDash代理節點的列表(每個節點dict)登記在啟動時。 如[{'name': 'mywebnode', 'host': '10.0.0.2', 'port': 5000}] |
PSDASH_NET_IO_COUNTER_INTERVAL |
的間隔秒數更新計數器用於計算網絡流量。默認為3。 |
PSDASH_LOGS_INTERVAL |
的間隔秒數重新日志模式,確保文件系統的變化應用(日志文件被創建或刪除)。默認為60。 |
PSDASH_REGISTER_INTERVAL |
的間隔秒數注冊代理主機psdash節點。 這樣做是定期能夠確定任何節點已經消失,在什么時候。默認為60 |
PSDASH_LOGS |
在啟動時應用日志模式。 如['/var/log/*.log'] 。 覆蓋使用命令行中使用這個選項-l/--log 參數的選擇。 |
PSDASH_REGISTER_TO |
在代理模式下運行時,這是用於設置psdash節點注冊代理節點。 如http://10.0.20.2:5000 。 |
PSDASH_REGISTER_AS |
在代理模式下運行時,這是用於設置名稱注冊為指定的主機psdash節點PSDASH_REGISTER_TO 。 |
PSDASH_HTTPS_KEYFILE |
使用SSL密鑰文件路徑,使啟動psdash在HTTPS模式下網絡服務器。 如/home/user/private.key |
PSDASH_HTTPS_CERTFILE |
使用SSL證書文件路徑,使啟動psdash在HTTPS模式下網絡服務器。 如/home/user/certificate.crt |
PSDASH_ENVIRON_WHITELIST |
如果設置,只有env var這個列表將顯示與價值。 如['HOME'] |
截圖
概述:清單過程:
概述的過程:
連接的過程:
環境的過程:
網絡:
磁盤:
跟蹤日志:
搜索日志:
實踐證明,針對psdash -l 指定日志目錄時,/var/log/*.log這樣的形式,程序報錯所以就采用了最笨的方法
psdash -l /data/supervisorLog/ma-account.error.log -l /data/supervisorLog/ma-account.log -l /data/supervisorLog/ma-contact-behavior.error.log -l /data/supervisorLog/ma-contact-behavior.log -l /data/supervisorLog/ma-contact.error.log -l /data/supervisorLog/ma-contact.error.log -l /data/supervisorLog/ma-core.error.log -l /data/supervisorLog/ma-core.log -l /data/supervisorLog/ma-datachange-listener.error.log -l /data/supervisorLog/ma-datachange-listener.log -l /data/supervisorLog/ma-delay.error.log -l /data/supervisorLog/ma-delay.log -l /data/supervisorLog/ma-sales-acceleration.error.log -l /data/supervisorLog/ma-sales-acceleration.log -l /data/supervisorLog/ma-semi-automatic-action.error.log -l /data/supervisorLog/ma-semi-automatic-action.log -l /data/supervisorLog/ma-subscriber.error.log -l /data/supervisorLog/ma-subscriber.log -l /data/supervisorLog/ma-timing-task.error.log -l /data/supervisorLog/ma-timing-task.log
代理模式的機器也是這樣:
psdash -a --register-to http://10.10.10.19:5000 --register-as PMP-DB -l /data/logs/pmpweb/pmp-web-1.out -l /data/tengine/logs/error.log -l /data/tengine/logs/access.log -l /data/logs/eureka-server/error.log -l /data/logs/base-service/error.log -l /data/logs/base-service/base.out -l /data/logs/task-service/task.out -l /data/logs/crm-service/crm.out -l /data/logs/crm-service/error.log -l /data/logs/prospect-api/error.log -l /data/logs/prospect-api/api.out -l /data/logs/crm-service/error.log -l /data/logs/prospect-api/error.log -l /data/logs/report-service/error.log -l /data/logs/sps-task-service/error.log -l /data/logs/report-service/error.log -l /data/logs/report-service/report.out -l /data/logs/nginx/pmp_web_error.log -l /data/logs/nginx/pmp_web.log -l /data/logs/nginx/fcaapp_error.log -l /data/logs/nginx/fcaapp_web.log -l /data/logs/nginx/sales_adm.log -l /data/logs/nginx/sales_adm_error.log