nikoutel / tritonsysteminfoapi
一个RESTful API,用于获取系统信息和指标的表现形式。
Requires
- php: >=7.1.3
- ext-json: *
- jenssegers/model: ^1.2
- laravel/lumen-framework: 5.8.*
- nikoutel/helionconfig: ^2.0
Requires (Dev)
- nikoutel/phpdebugr: ^1.2
This package is not auto-updated.
Last update: 2024-10-01 07:24:47 UTC
README
一个RESTful API,用于获取系统信息和指标的表现形式。
使用易于导航和配置的RESTful web-service(使用Lumen制作),可以轻松获取系统信息(如操作系统、主机名、公共IP、服务状态),指标(如CPU使用率、可用内存、Web服务器负载),甚至配置(如apache2.conf和php.ini)。
Triton采用HAL(超媒体应用语言)约定来表示资源及其与超媒体链接的关系。
资源以JSON格式进行格式化,并具有媒体类型"application/hal+json"。
仅实现了GET http方法,其他方法不允许。
状态
当前状态: 在我的机器上运行正常!
意义:它仍在开发中,目前仅支持Debian Gnu/Linux系统(带有systemd)。
它应该在其他基于Debian的系统上运行(带有systemd),但尚未进行全面测试。
警告!!
这将暴露关于您系统的关键信息!请谨慎使用!
信息/指标 - 端点
- 系统
- 信息 -
/api/system/info - 平均负载 -
/api/system/load - CPU -
/api/system/cpu- 信息 -
/api/system/cpu/info - 扩展信息 -
/api/system/cpu/extended-info - 使用率(%) -
/api/system/cpu/usage
- 信息 -
- 网络 -
/api/system/network- 信息 -
/api/system/network/info - 使用率(KiB/Sec) -
/api/system/network/usage
- 信息 -
- 内存 -
/api/system/memory- 使用率 -
/api/system/memory/usage
- 使用率 -
- 磁盘 -
/api/system/disk- 信息 -
/api/system/disk/info - 使用率 -
/api/system/disk/usage
- 信息 -
- 信息 -
- 服务 -
/api/services- {Service} - 例如
/api/services/apache2、/api/services/mysql- 信息 - 例如
/api/services/apache2/info - 状态 - 例如
/api/services/apache2/status - 负载 - 例如
/api/services/apache2/load - 配置 - 例如
/api/services/apache2/config- {Config} - 例如
/api/services/apache2/config/sites-enabled、/api/services/mysql/mysql/config/my.conf
- {Config} - 例如
- 信息 - 例如
- {Service} - 例如
- 软件 -
/api/system/software- php -
/api/system/software/php- phpinfo -
/api/system/software/php/phpinfo - 配置 -
/api/system/software/php/config- {Config} - 例如
/api/system/software/php/config/php.ini、/api/system/software/php/config/php.ini-cli
- {Config} - 例如
- phpinfo -
- php -
服务
在.env文件中定义的环境变量(ALLOWED_SERVICES)控制哪些服务可以处理。
任何其他服务将导致404错误。
配置
类似地,环境变量(ALLOWED_CONF)控制哪些配置允许。
动态定义的允许服务,同时定义了允许的配置,必须包含在环境变量TYPES_WITH_SEC_PARAMETER中,并且它们的配置必须使用环境变量ALLOWED_CONF{service_name}(例如ALLOWED_CONFAPACHE2)定义。
配置路径通过PATH_{conf_name}变量(例如PATH_MYCNF=/etc/mysql/my.cnf)定义。
要求
- PHP 7.1.3(最小版本)
安装
composer
作为独立应用程序
composer create-project nikoutel/tritonsysteminfoapi
作为库
composer require nikoutel/tritonsysteminfoapi
配置
根据.env.example创建一个.env配置文件(如果不存在)。
.env文件存储应用程序的环境变量。
环境变量名称仅由大写字母、数字和下划线 '_' 组成(IEEE Std 1003.1-2001)
许可证
本软件遵循 MPL 2.0 许可协议
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.