在AWS控制台中,我们可以轻松地为step function statemachine启用cloudwatch日志记录和X-ray,但我希望我的资源完全由Terraform管理,从以下页面:https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sfn_state_machine
目前,Terraform似乎不支持这一点(另请参见:https://github.com/hashicorp/terraform-provider-aws/issues/12192)
有人知道是否有任何解决方法可以实现这一点吗?我非常希望能够启用两个cloudwatch日志
目前,这仍然是Terraform上正在进行的功能请求,您可以跟踪github问题的状态。
更新:此is功能最近发布了3.27.0(2021 2月5日)
相应的文档链接:sfn\u state\u machine#logging
您可以将用于在terraform null\u资源中启用日志记录的命令包装起来,如链接的IssueEnable步骤函数logging To CloudWatch#12192中所示,如下所示:
先决条件:
aws-cli/2.1.1
之前:
{
"stateMachineArn": "arn:aws:states:us-east-1:1234567890:stateMachine:mystatemachine",
"name": "my-state-machine",
"status": "ACTIVE",
"definition": "{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Pass\",\n \"End\": true\n }\n }\n}\n",
"roleArn": "arn:aws:iam::1234567890:role/service-role/StepFunctions-MyStateMachine-role-a6146d54",
"type": "STANDARD",
"creationDate": 1611682259.919,
"loggingConfiguration": {
"level": "OFF",
"includeExecutionData": false
}
}
resource "aws_sfn_state_machine" "sfn_state_machine" {
name = "mystatemachine"
role_arn = "arn:aws:iam::1234567890:role/service-role/StepFunctions-MyStateMachine-role-a6146d54"
definition = <<EOF
{
"Comment": "A Hello World example of the Amazon States Language using an AWS Lambda Function",
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Pass",
"End": true
}
}
}
EOF
}
resource "aws_cloudwatch_log_group" "yada" {
name = "/aws/vendedlogs/states/myloggroup"
}
resource "null_resource" "enable_step_function_logging" {
triggers = {
state_machine_arn = aws_sfn_state_machine.sfn_state_machine.arn
logs_params=<<PARAMS
{
"level":"ALL",
"includeExecutionData":true,
"destinations":[
{
"cloudWatchLogsLogGroup":{
"logGroupArn":"${aws_cloudwatch_log_group.yada.arn}:*"
}
}
]
}
PARAMS
}
provisioner "local-exec" {
command = <<EOT
set -euo pipefail
aws stepfunctions update-state-machine --state-machine-arn ${self.triggers.state_machine_arn} --tracing-configuration enabled=true --logging-configuration='${self.triggers.logs_params}'
EOT
# interpreter = ["bash"]
}
}
之后:
{
"stateMachineArn": "arn:aws:states:us-east-1:1234567890:stateMachine:mystatemachine",
"name": "mystatemachine",
"status": "ACTIVE",
"definition": "{\n \"Comment\": \"A Hello World example of the Amazon States Language using an AWS Lambda Function\",\n \"StartAt\": \"HelloWorld\",\n \"States\": {\n \"HelloWorld\": {\n \"Type\": \"Pass\",\n \"End\": true\n }\n }\n}\n",
"roleArn": "arn:aws:iam::1234567890:role/service-role/StepFunctions-MyStateMachine-role-a6146d54",
"type": "STANDARD",
"creationDate": 1611687676.151,
"loggingConfiguration": {
"level": "ALL",
"includeExecutionData": true,
"destinations": [
{
"cloudWatchLogsLogGroup": {
"logGroupArn": "arn:aws:logs:us-east-1:1234567890:log-group:/aws/vendedlogs/states/myloggroup:*"
}
}
]
}
}
我想调试ffmpeg。我添加以下代码来打印日志: 或 但它不能工作。没有任何调试信息。 然后启用调试生成选项: 它不能工作。 我确信我添加跟踪的地方会被执行。 我只想打印一些简单的信息,怎么做?
我正在为日志创建一个Spring Bootjar。我在我的主要spring boot项目中添加了这个依赖项。我可以在主项目的控制台中获取日志。但是没有登录到文件中。 我在文件中添加了以下application.yml 谁能帮我一下吗。提前谢谢!
如何获得Spring Security的调试输出?
问题内容: 我在另一个项目中使用了雅加达公用HttpClient,我希望使用相同的线路记录输出,但是使用“标准” HttpUrlConnection。 我已经使用Fiddler作为代理,但是我想直接从Java记录流量。 捕获连接输入和输出流的内容还不够,因为HTTP标头是由HttpUrlConnection类编写和使用的,因此我将无法记录标头。 问题答案: 我已经能够记录所有SSL流量,并在默认端
我下载了kafka-clients-0.9.0.0。jar与maven一起使用,我希望我会看到类似于Kafka日志链接中的日志记录 然而,我不知道为什么我没有得到任何日志记录,即使我设置了引导。purpuse上的服务器错误,但它只是在没有发出任何警告的情况下被卡住了。我添加了几行代码以使用log4j打印到一个文件中,这似乎是可行的,但不知道为什么Kafka不能将事件记录到log4j中。 请注意,s
问题内容: 我使用spring-data-elasticsearch框架从elasticsearch服务器获取查询结果,如下所示的Java代码: 虽然我怎么知道发送到elasticssearch服务器的原始http查询?我如何启用日志记录,我尝试添加log4j,但是似乎spring-data- elasticsearch没有记录查询。 问题答案: 我没有针对Spring Data Elastics