【问题标题】:Extending Azure multistage yaml pipelines logs扩展 Azure 多阶段 yaml 管道日志
【发布时间】:2020-02-27 11:57:54
【问题描述】:

我正在尝试使用一些自定义详细信息记录多阶段 yaml 管道的每个阶段的完成情况。 如何将自定义详细信息添加到 https://dev.azure.com//_settings/audit 日志。 有没有办法将此信息持久保存在 sqldb 或任何其他持久存储选项中。 我如何订阅这些日志事件。

【问题讨论】:

  • 请问这个状态怎么样?以下解决方法是否适合您实现您想要的?
  • 我们希望将一些自定义管道变量发布到此审计数据库。由于无法自定义审计数据,我们将对 PaaS api 进行 REST 调用,并使用 REST API 调用任务在 IaaS sql db 实例中更新我们需要的内容。

标签: azure-devops azure-pipelines


【解决方案1】:

如何将自定义详细信息添加到 https://dev.azure.com//_settings/audit 日志。

恐怕这对你来说是无法实现的。

因为details的句子格式是由我们的后端类定义和固定的。一旦发生了相应的动作,除了动作类之外,还会调用事件方法来生成日志并记录到审计页面中。这些都是后端完成的。而且我们直到现在还没有向用户公开这个操作权限。

但基于我自己的观点,这是一个我们可以考虑扩展的好主意。因为自定义详细信息可以使details 对公司更具可读性。你可以提出你的想法here,投票和评论它。我们相应的产品组会定期审核这些建议,并考虑根据其优先级(投票)将其纳入我们的开发路线图。


如何订阅这些日志事件。

有一件重要的事情我需要告诉你,audit log 只能保留 90 天。它会在 90 天后被清除,包括我们的后端数据库。简而言之,如果您想要超过 90 天的审计日志,我们也无法帮助恢复。

所以我建议您可以使用Powershell 任务配置一个计划管道。

在此 powershell 任务中,运行此 api 以获取然后将其存储为您想要的任何文件类型,例如 .csv.json 等。

对于时间表值,您可以将其设置为您喜欢的任何时间段。只需不到 90 天,因此不会让您丢失任何审核事件日志。


有没有办法将此信息保存在 sqldb 或任何其他 持久存储选项。

如果您可以使用不同的数据库,我建议您考虑使用CouchDBDynamoDBMongoDB 等文档存储解决方案。

根据你的实际使用情况,你可以使用Command line task和self-agent来执行相应的存储命令。

作为示例,我使用的是 MongoDB,我可以运行以下命令来存储 api 之前生成的 JSON 文件:

C:\>mongodb\bin\mongoimport --jsonArray -d mer -c docs --file audit20191231.json

【讨论】:

    猜你喜欢
    • 2020-06-10
    • 2020-10-05
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 2022-09-23
    • 1970-01-01
    • 2020-09-12
    相关资源
    最近更新 更多