jop-software/typo3-loki

Grafana Loki 集成到 TYPO3

安装量: 3,649

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 1

分支: 1

开放问题: 5

类型:typo3-cms-extension

v1.1.0 2022-10-06 09:31 UTC

This package is auto-updated.

Last update: 2024-09-06 13:27:31 UTC


README

TYPO3 Loki 客户端

监控您的 TYPO3 安装日志输出

专业支持

专业支持可供选择,如需更多信息,请联系 info@jop-software.de

配置

使用此扩展有两种可能的方式。

  1. 使用 JsonWriter 将所有日志转换为 JSON 格式后再写入日志文件。
    这种方式,您可以使用不同的 Loki 客户端处理日志,例如 Promtail
$GLOBALS['TYPO3_CONF_VARS']['LOG']['writerConfiguration'] = [
    // Log handling configuration for ERROR logs
    // Set this to DEBUG to process all logs.
    \TYPO3\CMS\Core\Log\LogLevel::ERROR => [
        // Convert all logs to JSON to scrape them with loki clients like Promtail
        \Jops\TYPO3\Loki\Log\Writers\JsonWriter::class => [],
    ],
];
  1. 使用 LokiWriter 直接将日志发送到配置的 Loki 实例。
    您在此处可以定义标签,这些标签将被附加到发送到 Loki 的日志行。
    参见:配置 Loki 实例
$GLOBALS['TYPO3_CONF_VARS']['LOG']['writerConfiguration'] = [
    // Log handling configuration for ERROR logs
    // Set this to DEBUG to process all logs.
    \TYPO3\CMS\Core\Log\LogLevel::ERROR => [
        // Configure LokiWrite to send logs to Loki
        \Jops\TYPO3\Loki\Log\Writers\LokiWriter::class => [
            "labels" => [
                "key" => "value",
            ],
        ],
    ],
];

配置 Loki 实例。

如果您想使用 LokiWriter,则需要配置 Loki 实例。这可以通过后端中的扩展配置或 AdditionalConfiguration.php 完成。
如果您的 Loki 安装通过 http 基本认证进行保护,您也可以在此提供这些凭据。请注意,凭据 将以纯文本形式存储在配置文件中

以下是一个示例配置

$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['loki'] = [
    "base-url" => "https://loki.example.com",
    // Optional: Add basic-auth credentials if needed
    "basic-auth" => [
        "username" => "username",
        "password" => "secure-password",
    ],
];

支持的 TYPO3 版本

此扩展仅正式提供和发布给 TYPO3 11。

如果您需要在旧项目中使用它,您可以在 typo3-9-10-compatability 分支中找到与 TYPO3 9 和 10 兼容的版本。使用 dev-typo3-9-10-compatability 作为 composer 中的版本。

本地开发

我们使用 DDEV 进行本地开发。

此存储库中包含完整的 ddev 设置,只需运行 ddev start

许可证

此项目受 GPL-2.0-or-later 许可,有关更多信息,请参阅 LICENSE 文件。

© 2022, jop-software Inh. Johannes Przymusinski