gpt4 book ai didi

elasticsearch - Logstash从sp_executesql提取值

转载 作者:行者123 更新时间:2023-12-03 01:59:17 25 4
gpt4 key购买 nike

我们正在跟踪SQL Server过程超时并将其发送到Elasticsearch,因此我们可以在Kibana中对其进行可视化以发现问题。

我们的某些SQL查询已参数化并使用sp_executesql

是否可以从查询中提取其参数及其值?

例如:

EXEC sp_executesql N'EXEC dbo.MySearchProcedure @UserId=@p0,@SearchPhrase=@p1'
, N'@p0 int,@p1 nvarchar(max)'
, @p0 = 11111
, @p1 = N'denmark';

并得到以下结果:
{
"Procedure": "dbo.MySearchProcedure",
"Statement": "exec sp_executesql N'exec Search.GetAnalysisResultsListTextSearch @SubscriberId=@p0,@SearchTerms=@p1,@SortType=@p2',N'@p0 int,@p1 nvarchar(max) ,@p2 int',@p0=47594,@p1=N'denmark',@p2=0",
"Parameters": {
"UserId": 11111,
"SearchPhrase": "denmark"
}
}

最佳答案

听起来像是ruby {}过滤器的工作。首先,在查询中找到所有键=值对(@ userid = @ p0,可能使用ruby的scan功能),然后找到分配(@ p0 = 1234,再次使用扫描),然后创建一个将两者结合在一起的新字段( userid = 1234)。在 ruby 过滤器中:

 event['userid'] = '1234'

关于elasticsearch - Logstash从sp_executesql提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34136921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com