psdash-为开发、测试人员提供简单的方法,在web界面查看服务器的运行情况(网络,带宽,磁盘,CPU), 同时可以在web界面查看日志
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