psdash-爲開發、測試人員提供簡單的方法,在web界面查看服務器的運行狀況(網絡,帶寬,磁盤,CPU), 同時能夠在web界面查看日誌

psdash是linux的系統信息web指示板主要由使用數據psutil——由此得名。node

github地址:https://github.com/Jahaja/psdashpython

特性

  • 概述
    儀表板概述系統的數據顯示cpu、磁盤、網絡、用戶、內存、交換和網絡。
  • 流程
    流程列表(top)和查看詳細流程每一個進程的信息。linux

    除了詳細的過程概述這也能夠爲每一個流程:nginx

    • 打開的文件
    • 打開的鏈接
    • 內存映射
    • 子進程
    • 資源限制
  • 磁盤
    全部磁盤和分區列表信息。
  • 網絡
    在全部網絡接口信息和當前列表的吞吐量。 清單與過濾系統打開的鏈接。 有點像netstat
  • 日誌
    尾巴和搜索日誌。 模式(如添加日誌/var/log/*.log按期檢查),考慮到新的或刪除文件。
  • 多節點集羣/支持多個代理節點指定一個配置或將註冊本身創業共同psdash節點上運行的web界面。
  • 全部的數據都是自動更新,不須要刷新

GUI很是多的一個修改引導我不是設計師。 若是你有一個感受等設計和改善psdash的UI部分,請建立一個拉請求您的更改。 它將會感謝有不少改進的餘地。git

安裝

確保你的系統可以創建Python C擴展。 在Debian衍生品如Ubuntu安裝這應該翻譯build-essentialpython-dev包使用apt-get:github

# apt-get install build-essential python-devweb

在RHEL(Fedora,CentOS等等。)分佈:flask

# yum groupinstall "Development Tools"
# yum install python-devel

使用pip安裝:
$ pip install psdashapi

因爲皮普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']

截圖

概述:Overview清單過程:Processes概述的過程:Process overview鏈接的過程:Process connections環境的過程:Process environment網絡:Network磁盤:Network跟蹤日誌:Log搜索日誌:Log search

 

實踐證實,針對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

相關文章
相關標籤/搜索