NorthStar 分析原始和聚合数据保留
原始数据日志在 Elasticsearch 中保留用户可配置的天数。数据还每小时汇总(聚合)一次,并保留用户可配置的天数。聚合的目的是在磁盘空间有限的情况下,使数据保留更长的时间更可行。修改这些保留参数时,请记住,这会影响您的存储资源。
存储的每小时聚合数据文件名使用以下格式:rollups-northstar-yyyy-mm-dd。
表 1 中描述的参数协同工作以控制数据保留和聚合行为。您可以使用 NorthStar CLI 修改这些设置,如使用 NorthStar CLI 配置 NorthStar CLI 中所述。使用set northstar system scheduler tasks命令层次结构访问所有这些参数。
| 参数 |
描述 |
|---|---|
| 间隔(收集-清理) |
要进行修改,请使用命令 set northstar system scheduler tasks collection-cleanup interval 。 控制收集清理系统任务的运行频率(以“d”或“天”表示的天数)。示例:1 天、4 天。此任务执行 collector-utils.py 脚本来清理旧日志。默认值为一天 (1d)。要禁用集合清理,请将值设置为 0d。 collector-utils.py 脚本大约在凌晨 1:00(NorthStar 服务器时间)运行。 collector-utils.py 脚本使用 Elasticsearch API 清理“旧”数据,如下所示:
从 NorthStar 服务器调用收集清理任务。您可以通过导航到 Administration > Task Scheduler来查看(但不能修改)清理任务。 |
| 原始数据保留持续时间 |
要进行修改,请使用命令 set northstar system scheduler tasks collection-cleanup raw-data-retention-duration 。 定义被视为原始数据“旧”日志的内容(以天数为单位)。单位可以输入为“d”或“天”。默认值为 14 天(14 天或 14 天),这意味着原始数据日志在 Elasticsearch 中保留 14 天。要禁用原始数据日志的保留,请将该值设置为 0d。 |
| rollup-data-retention-duration |
要进行修改,请使用命令 set northstar system scheduler tasks collection-cleanup rollup-data-retention-duration 。 定义何项数据被视为“旧”聚合数据(以天数为单位)。单位可以输入为“d”或“天”。默认值为 180 天(180 天或 180 天),这意味着每小时的聚合数据在 Elasticsearch 中保留 180 天。要禁用聚合数据的保留,请将该值设置为 0d。 |
| 间隔(汇总) |
要进行修改,请使用命令 set northstar system scheduler tasks rollup interval 。
注意:
建议 不要更改此 默认值,除非禁用聚合。如果要禁用数据聚合,请将该值设置为 0h。 设置 ESRollup 系统任务的运行频率(以小时为单位)。单位可以输入为“h”或“小时”。ESRollup 系统任务执行 esrollup.py 脚本来聚合前一个间隔的数据。默认值为 1 小时(1 小时或 1 小时)。 esrollup.py 脚本使用 Elasticsearch API 来执行数据聚合。 从 NorthStar 服务器调用 ESRollup 任务。您可以通过导航到 Administration > Task Scheduler来查看(但不能修改)汇总任务。 |
NorthStar REST API 支持使用 表 2 中所述的其他参数进行遥测数据聚合。有关更多信息,请参阅 NorthStar REST API 文档。
| 参数 |
描述 |
|---|---|
| 禁用汇总查询 |
如果设置,则禁用每小时聚合数据的汇总查询功能。 |
| rollup-query-cutoff-interval |
如果设置,并且请求的时间范围大于 rollup-query-cutoff-interval from now,则查询使用汇总索引来搜索数据。 |
为了给您一个聚合参数如何协同工作的示例,假设您设置了以下内容:
collection-cleanup interval=7d
raw-data-retention-duration=30d
rollup-data-retention-duration=800d
在此示例中,超过 30 天的原始数据日志和超过 800 天的每小时聚合数据日志设置为每 7 天清除一次。
汇总任务中包含的数据(聚合类型、字段和计数器)在位于 /opt/northstar/utils 目录中的仅查看esrollup_config.json文件中定义。
要查看启动 esrollup.py 和 collector-utils.py 脚本的系统任务,请导航到 Administration NorthStar Web UI 中的 > Task Scheduler 。在“任务”列表中,“名称”列指示 CollectionCleanup 或 ESRollup 任务。在“类型”列中,它们被指定为 ExecuteScript。 图 1 显示了一个示例。
的任务列表
任务列表中有一个可选列,指示每个任务是否为系统任务。将鼠标悬停在任何列标题上,单击显示的向下箭头,然后突出显示 Columns 以显示可用列的列表。单击“系统任务”复选框以选择“系统任务”列 (true/false) 以包含在显示中。
选择系统任务时,窗口底部将显示“摘要”、“状态”和“历史记录”选项卡。