根据数据类型增加Azure Log Analytics的数据保留时间

在日常的运维工作中,日志是我们分析系统运行情况、问题定位、系统优化分析等操作的主要数据源头。同时在很多客户的实际场景中,为了满足公司的审计等要求,也会需要对某种特定类型的日志数据进行持久的存储,如SecurityEvent等,从而满足公司的合规性。对于此类的需求,其实我们有多种方式可以满足,比如使用某些企业级的日志收集系统等。那么在Azure中,我们如何来持久的保存某些类型的日志记录呢?

其实在2019年10月8日,微软宣布支持每种数据类型独立增加保留时间。这意味着,如果要为SecurityEvent日志收集价值6个月的日志数据,则可以独立于其他数据类型的保留期限进行收集。具体可以参考官方文档,在撰写本文档时,要增加每种数据类型的保留时间,就需要利用Rest API进行这些更改。

需要注意的是:Usage 和 AzureActivity 不能使用数据类型设置自定义保留策略。默认情况下,它们会保留90天,并且保留90天是免费的。这些数据类型也免收数据摄取费用。他们将最多保留默认的工作空间或90天。

接下来让我们看看它是如何工作的,首先通过使用之前的方法来研究如何通过使用门户来增加保留,然后如何利用Rest API来为每种数据类型配置此功能。

通过Azure Portal调整保留时间
登录到Azure门户后,进入Log Analytics Workspace。为了配置您的数据保留,您将需要导航至“使用和估计成本”,然后导航至“数据保留”:


然后会弹出“数据保留选项卡”:

可以看出,我们可以滑动滑块来增加数据的保留周期。超过31天或更低的价格都包含在我们的定价计划中。因此,假设我们要捕获6个月的SecurityEvent日志数据,但我们想保留30天的其他所有数据保留时间。在2019年10月8日之前,这是不可能的。如果必须收集6个月的SecurityEvent Log数据,我们将有两个选择:

  • 将数据保留增加到6个月,并将Log Analytics Workspace中的所有数据保留6个月。不利的一面是将所有数据保留6个月的成本增加。
  • 仅为Azure SecurityEvent日志数据创建另一个Log Analytics Workspace,并将数据保留时间设置为6个月,而收集所有其他数据类型的数据的另一个Log Analytics Workspace保留30天。

但是由于此新功能于2019年10月8日推出,因此不再需要限于以上两个选项。

通过Rest API根据数据类型调整保留时间

接下来我们将使用ARMClient这个工具来进行一些必要的Rest API调用,从而帮助我们实现将SecurityEvent日志的保留时间增加到6个月,同时所有其他类型的日志保留时间不变。我们将使用Chocolatey安装ARMClient。命令如下:

choco install armclient --source=https://chocolatey.org/api/v2/

安装后,可以通过在命令提示符或PowerShell提示符中键入ARMClient来验证安装是否成功:

接下来我们看下如何使用ARMClient配置每种数据类型的保留

让我们使用以下命令登录PowerShell中的Azure订阅(此命令将弹出“现代身份验证”表单,要求输入组织ID用户名和密码):

ARMClient Login

登录成功后运行如下命令定义变量:

$Subscription = "00000000-0000-0000-0000-00000000000"
$ResourceGroup = "analytics-rg"
$LogAnalyticsName = "demo0327-LogAnalyticsWS"

然后运行如下命令来将保留时间设置为180天

ARMClient Put /subscriptions/$Subscription/resourceGroups/$ResourceGroup/providers/Microsoft.OperationalInsights/workspaces/$LogAnalyticsName/Tables/SecurityEvent?api-version=2017-04-26-preview "{properties: {retentionInDays: 180}}"


现在,我们的Log Analytics Workspace中为SecurityEvent收集的数据将保留180天,而没有指定的tentionInInDays属性的所有数据将保留我们在门户中配置的30天。

原文地址:https://blog.51cto.com/wuyvzhang/2482469

时间: 2024-10-12 02:44:40

根据数据类型增加Azure Log Analytics的数据保留时间的相关文章

WebSocket api与服务器返回的数据类型判断(文件、二进制数据)

一.为什么需要 WebSocket? 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起. 举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果.HTTP 协议做不到服务器主动向客户端推送信息. 这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦.我们只能使用"轮询":每隔一段时候,就发出一个

使用Python创建MySQL数据库实现字段动态增加以及动态的插入数据

应用场景: 我们需要设计一个数据库来保存多个文档中每个文档的关键字.假如我们每个文档字符都超过了1000,取其中出现频率最大的为我们的关键字. 假设每个文档的关键字都超过了300,每一个文件的0-299号存储的是我们的关键字.那我们要建这样一个数据库,手动输入这样的一个表是不现实的,我们只有通过程序来帮我实现这个重复枯燥的操作. 具体的示意图如下所示: 首先图1是我们的原始表格: 图1 这个时候我们需要程序来帮我们完成自动字段的创建和数据的插入. 图2 上图是我们整个表的概况.下面我们就用程序来

使用Microsoft Azure Backup备份Hyper-V数据

在之前的文章中讲到了微软的云计算备份解决方案-Microsoft Azure Backup,通过技术可以备份Azure中的VM以及企业内部的Hyper-V.关于Microsoft Azure Backup可参见之前写的文章<Microsoft Azure Backup介绍>: http://ericxuting.blog.51cto.com/8995534/1641104 今天主要为大家带来如何通过Azure Backup备份企业内部Hyper-V数据.(PS:本文档基于国际版Azure,由世

使用Microsoft Azure Backup恢复Hyper-V数据

在实际环境中经常会出现这样一种场景,由于误操作或者计划外的任务导致相关数据丢失从而造成企业损失,在上一篇文章中谈到了适应Microsoft Azure Backup备份Hyper-V数据,今天主要演示当造成企业数据丢失后,如何通过Microsoft Azure Backup恢复之前备份的数据,从而降低企业损失. 1.登陆Azure门户网站查看之前备份的数据,确认备份的数据依然存在 2.登陆服务器"SH-VMHost-01",打开Azure Backup或者Windows Server

JDBC增加、更新、删除数据

JDBC增加.更新.删除数据 st.executeUpdate(sql) 进行插入.更新.删除操作返回的是受影响的记录的条数 注意:输入的sql语句中,vachar类型记住加单引号 完整代码如下: public class JDBCTest { //建立连接 public static Connection getConnection(){ Connection conn=null; try { Class.forName("com.mysql.cj.jdbc.Driver").new

Azure CosmosDB (13) CosmosDB数据建模

<Windows Azure Platform 系列文章目录> 我们在使用NoSQL的时候,如Azure Cosmos DB,可以非常快速的查询非结构化,或半结构化的数据.我们需要花一些时间,研究Cosmos DB的数据建模,来保证查询性能和可扩展性,同事降低成本. 阅读完这篇文章后,我们将学会: 1.什么是数据建模,为什么我们要关注数据建模 2.如何在Azure Cosmos DB进行数据建模,与传统关系型数据库有什么不同 3.如何在非关系型数据库中,保存关系型数据 4.什么时候执行嵌入(e

Vbs 清理备份数据-保留数据量

我们前面文章介绍了,通过vbs脚本对文件进行压缩备份,但是通过计划任务备份的话,备份的数据会越来越多,对于我们的磁盘空间利用来说比较浪费,所以我们又通过以下 脚本进行判断,将多余的备份数据清理, 我们需要将D盘下的backup目录下的备份数据只保留3份,其他的删除. 备份数据脚本见上一篇文章. Set dic = CreateObject("scripting.dictionary") set fso=CreateObject("Scripting.FileSystemObj

使Decimal类型数据保留N位小数且不进行四舍五入操作(C#)

一 问题描述 开发中,需要使Decimal类型数据保留小数点后的两位小数且不需要进行四舍五入操作,即直接截取小数点后面的两位小数即可.例如:1.245M --> 1.24,而不是1.25 使用Decimal.Round()方法可以实现保留Decimal类型数据小数点后的若干位小数,但是该方法会进行四舍五入操作,而不是直接截取.所以,该方法不可取,在网上搜寻一番也没有找到合适的方法,便自己实现了一个截取Decimal类型数据小数点后若干位的方法. 二 详细的实现代码 using System; n

js数据保留小数位数

1000.12345.toFixed(2)=1000.12: 1000.12987.toFixed(2)=1000.13: 1000.1.toFixed(2)=1000.10 js数据保留小数位数,布布扣,bubuko.com