当前位置: 首页 > 知识库问答 >
问题:

是否有方法指定目标日志文件,以便microsoft monitoring agent监听并从代码中提取日志?

卫开济
2023-03-14

我正在考虑使用Microsoft monitoring agent从系统上的日志文件中收集一些日志记录,并将它们发送到日志分析工作区。是否有一种方法指定目标文件(自定义日志文件),代理将监听并将日志直接流式传输到azure工作区。我知道可以通过azure portal在工作区中添加一个额外的数据源(由此链接https://docs.microsoft.com/en-us/azure/azure-monitor/platform/data-sources-custom-logs指定)来实现。我正在寻找一种从C#代码/PowerShell脚本配置这些数据源的方法。(可能是我不知道的api或sdk)。

共有1个答案

司徒阳曜
2023-03-14

若要添加自定义日志,请使用New-AzOperationalInsightScustomLogDataSource。

下面是其他powershell命令,它们可以方便地查询和创建LogAnalytics数据源。

get-azoperationalinsightsdatasource
New-AzOperationalInsightsApplicationInsightsDataSource 
New-AzOperationalInsightsAzureActivityLogDataSource
New-AzOperationalInsightsComputerGroup
New-AzOperationalInsightsCustomLogDataSource
New-AzOperationalInsightsLinuxPerformanceObjectDataSource
New-AzOperationalInsightsLinuxSyslogDataSource
New-AzOperationalInsightsSavedSearch
New-AzOperationalInsightsStorageInsight
New-AzOperationalInsightsWindowsEventDataSource
New-AzOperationalInsightsWindowsPerformanceCounterDataSource

https://docs.microsoft.com/en-us/powershell/module/az.operationalinsights/get-azoperationalinsightsdatasource?view=AZPS-2.7.0

https://docs.microsoft.com/en-us/rest/api/loganalytics/https://docs.microsoft.com/en-us/rest/api/loganalytics/datasources/createorupdate

PowerShell

链接:https://docs.microsoft.com/en-us/Azure/Azure-Monitor/Platform/PowerShell-workspace-configuration

$CustomLog = @"
{
    "customLogName": "sampleCustomLog1",
    "description": "Example custom log datasource",
    "inputs": [
        {
            "location": {
            "fileSystemLocations": {
                "windowsFileTypeLogPaths": [ "e:\\iis5\\*.log" ],
                "linuxFileTypeLogPaths": [ "/var/logs" ]
                }
            },
        "recordDelimiter": {
            "regexDelimiter": {
                "pattern": "\\n",
                "matchIndex": 0,
                "matchIndexSpecified": true,
                "numberedGroup": null
                }
            }
        }
    ],
    "extractions": [
        {
            "extractionName": "TimeGenerated",
            "extractionType": "DateTime",
            "extractionProperties": {
                "dateTimeExtraction": {
                    "regex": null,
                    "joinStringRegex": null
                    }
                }
            }
        ]
    }
"@




# Custom Logs

New-AzOperationalInsightsCustomLogDataSource -ResourceGroupName $ResourceGroup -WorkspaceName $WorkspaceName -CustomLogRawJson "$CustomLog" -Name "Example Custom Log Collection"
  • ARM模板

对于自定义日志的Arm模板格式如下所示。请参阅详细链接https://docs.microsoft.com/en-us/azure/azure-monitor/platform/template-workspace-configuration


{
          "apiVersion": "2015-11-01-preview",
          "type": "dataSources",
          "name": "[concat(parameters('workspaceName'), parameters('customlogName'))]",
          "dependsOn": [
            "[concat('Microsoft.OperationalInsights/workspaces/', parameters('workspaceName'))]"
          ],
          "kind": "CustomLog",
          "properties": {
            "customLogName": "[parameters('customlogName')]",
            "description": "this is a description",
            "extractions": [
              {
                "extractionName": "TimeGenerated",
                "extractionProperties": {
                  "dateTimeExtraction": {
                    "regex": [
                      {
                        "matchIndex": 0,
                        "numberdGroup": null,
                        "pattern": "((\\d{2})|(\\d{4}))-([0-1]\\d)-(([0-3]\\d)|(\\d))\\s((\\d)|([0-1]\\d)|(2[0-4])):[0-5][0-9]:[0-5][0-9]"
                      }
                    ]
                  }
                },
                "extractionType": "DateTime"
              }
            ],
            "inputs": [
              {
                "location": {
                  "fileSystemLocations": {
                    "linuxFileTypeLogPaths": null,
                    "windowsFileTypeLogPaths": [
                      "[concat('c:\\Windows\\Logs\\',parameters('customlogName'))]"
                    ]
                  }
                },
                "recordDelimiter": {
                  "regexDelimiter": {
                    "matchIndex": 0,
                    "numberdGroup": null,
                    "pattern": "(^.*((\\d{2})|(\\d{4}))-([0-1]\\d)-(([0-3]\\d)|(\\d))\\s((\\d)|([0-1]\\d)|(2[0-4])):[0-5][0-9]:[0-5][0-9].*$)"
                  }
                }
              }
            ]
          }
        }
 类似资料:
  • 问题内容: 我在我的logback.xml配置文件中有这个添加器: 因此我指定了通过classpath以相对方式在其中打印日志的文件的路径,但是它不起作用,没有创建和写入文件addressbookLog.log。它仅适用于/home/andrea/…/resources/addressbookLog.log等绝对路径,您对如何使其与类路径一起使用有任何想法吗? 问题答案: 在第3章:配置的logb

  • 使用总和,我如何对消息部分是json(所以不完全是)的日志条目执行查询? 示例条目: 生产。警告:我们受到速率限制{ " class ":" App \ WebhookService \ WebhookExecutor "," headers":{"Date":["Thu,2020年4月30日02:10:32 GMT"]," Content-Type ":[" application/JSON "

  • 问题内容: 使用-L标志运行Screen时,将创建一个名为“ screenlog.0”的文件,并将所有输出写入该文件(很棒),但是我将运行多个Screen会话,我需要用唯一的编号标识日志。是否可以更改日志文件名? 问题答案: 您可以编辑文件并添加如下内容: 日志文件/ tmp / myownlog 在 不依赖于.screenrc的情况下指定屏幕输出的日志名称时, 也会回答 该问题 。

  • 本文向大家介绍lua日志文件处理代码,包括了lua日志文件处理代码的使用技巧和注意事项,需要的朋友参考一下 目前我找到的文件夹的搜索工具,最多可以完成把搜索到的单行的内容,进行输出出来,或者进行一些简单的处理,但是不够灵活。 因此就用lua自己写了个,可以完成自己定义搜索处理函数,进行一些数据的处理,省去了将搜索结果放到excel中再处理的过程。 使用代码可以如下(貌似支持网络路径的): 唯一不满

  • 本文向大家介绍CentOS7按时间段截取指定的Tomcat日志到指定文件的方法,包括了CentOS7按时间段截取指定的Tomcat日志到指定文件的方法的使用技巧和注意事项,需要的朋友参考一下 CentOS7之按时间段截取指定的Tomcat日志到指定文件的方法,很多朋友对此都不是很清楚,下面由脚步之家小编给大家讲解下。 将 catalina.out 文件的中的日志信息,按 2016-11-02 15

  • 在log4j中,我可以这样指定文件: 但是在log4j2中,我不知道如何在一个句子中重写