cboxdk/statamic-overseer

此包的最新版本(dev-main)没有可用的许可信息。

dev-main 2024-09-04 11:01 UTC

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,请按照以下步骤操作

  1. 使用 Composer 将 Overseer 扩展添加到您的 Statamic 项目中
composer require cboxdk/statamic-overseer
  1. 可选地发布扩展配置
php artisan vendor:publish --tag=statamic-overseer-config
  1. 如果您想使用除默认连接以外的连接,请配置数据库连接
    例如,对于 flatfile 设置,您可能想使用 sqlite。
    对于高流量网站,您可能想使用次要数据库进行日志记录。

  2. 运行数据库迁移

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。