cboxdk / statamic-overseer
Requires
- flowframe/laravel-trend: ^0.2.0
- statamic/cms: ^5.0
Requires (Dev)
- larastan/larastan: ^2.0
- laravel/pint: ^1.16
- orchestra/testbench: ^9.0
- pestphp/pest: 3.x-dev
- phpunit/phpunit: ^11.3
- tv2regionerne/statamic-cache: dev-main
This package is auto-updated.
Last update: 2024-09-04 11:01:21 UTC
README
简介
Statamic 的 Overseer 是一个强大的 Statamic 扩展,用于收集审计和事件数据,允许管理员轻松跟踪谁做了什么,何时何地。凭借全面的日志记录功能和直观的用户界面,Overseer 确保记录下每个动作和请求,为您的 Statamic 网站的运营提供无与伦比的可见性。
特性
- HTTP 请求记录:跟踪所有到达您的 Statamic 网站的 HTTP 请求。
- SQL 查询记录:监控和记录网站执行的所有 SQL 查询。
- 事件记录:捕获包括以下关键事件
- 登录和注销活动
- 条目的创建、更新和删除
- 分类法、资产、蓝图、集合和资产容器的更改
- 表单提交和表单管理操作
- 用户界面:通过 Statamic 控制面板轻松查看和搜索事件。UI 使导航和筛选日志变得简单,为网站活动提供清晰的视图。
- Fieldtype 集成:通过自定义字段类型无缝查看单个条目的更改。
- 可定制跟踪器:每个跟踪器都可以单独定制和配置。还可以添加更多跟踪器或创建自己的跟踪器。
数据存储
Overseer 提供灵活的数据存储选项以满足您的需求
- SQLite
- MySQL
- PostgreSQL
- 其他兼容数据库
Overseer 收集的数据也可以发送到云服务器进行长期存储和高级分析,帮助识别异常流量模式和潜在的安全威胁。请注意,云服务器集成目前处于 alpha 阶段,将在未来的版本中提供。
安装
要安装 Statamic 的 Overseer,请按照以下步骤操作
- 使用 Composer 将 Overseer 扩展添加到您的 Statamic 项目中
composer require cboxdk/statamic-overseer
- 可选地发布扩展配置
php artisan vendor:publish --tag=statamic-overseer-config
-
如果您想使用除默认连接以外的连接,请配置数据库连接
例如,对于 flatfile 设置,您可能想使用 sqlite。
对于高流量网站,您可能想使用次要数据库进行日志记录。 -
运行数据库迁移
php artisan migrate
存储
根据您首选的数据库系统(SQLite、MySQL、PostgreSQL 等)配置 config/statamic/overseer.php
文件中要使用的数据库连接。
请记住在默认的 config/databases.php
中配置您的连接
(可选)如果您计划使用云集成进行长期存储和分析,请配置云服务器设置。
配置示例
配置文件(config/statamic/overseer.php
)允许您启用或禁用 Overseer,设置存储选项,并配置单个跟踪器。
您不必修改此文件,但可以设置 .env 变量来配置扩展。
<?php return [ 'enabled' => env('OVERSEER_ENABLED', false), 'storage' => [ 'enabled' => env('OVERSEER_STORAGE_ENABLED', true), 'connection' => env('OVERSEER_STORAGE_CONNECTION', config('database.default')), 'retention' => env('OVERSEER_STORAGE_RETENTION', 60), 'queue' => env('OVERSEER_STORAGE_QUEUE', false), ], 'server' => [ 'enabled' => env('OVERSEER_SERVER_ENABLED', false), 'endpoint' => env('OVERSEER_SERVER_ENDPOINT', 'https://www.overseercloud.com'), 'token' => env('OVERSEER_SERVER_TOKEN', null), 'site' => env('OVERSEER_SERVER_SITE', null), 'queue' => env('OVERSEER_SERVER_QUEUE', false), ], 'trackers' => [ \Cboxdk\StatamicOverseer\Trackers\RequestTracker::class => [ 'ignore_http_paths' => [ '_debugbar/*', ], 'ignore_middlewares' => [ 'web', ], ], \Cboxdk\StatamicOverseer\Trackers\QueryTracker::class => [ 'ignore_connections' => ['sqlite'], 'slow_query_time' => 100, 'log_only_write' => true, 'trace_max' => 20, ], \Cboxdk\StatamicOverseer\Trackers\LogTracker::class => [], \Cboxdk\StatamicOverseer\Trackers\EventTracker::class => [ 'events' => [ ...\Cboxdk\StatamicOverseer\Presets\EventPresets::all(), ], ], ], 'query' => [ 'enabled' => env('OVERSEER_QUERY_ENABLED', true), 'slow' => env('OVERSEER_QUERY_SLOW', 100), 'ignore_connections' => [], ], ];
使用
安装和配置后,Overseer 将自动开始记录指定的事件和请求。
您可以通过 Statamic 控制面板或直接查询数据库来查看和管理日志。
直观的 UI 允许轻松搜索和筛选事件,自定义字段类型提供了对单个条目更改的详细视图。
路线图
- 云服务器集成: 完全实现向云服务器发送和存储数据,并具有高级流量分析功能。
- 仪表板增强: 改进了Statamic控制面板中查看和过滤日志的用户界面。
- 额外事件钩子: 扩展可记录的事件和动作范围。
贡献
我们欢迎为改进Statamic的Overseer做出贡献。
如果您遇到任何问题或有关于新功能的一些建议,请打开GitHub上的问题或提交一个pull request。