Enable logging to CloudWatch logs on my IoT Greengrass core device

0

Hey there,

I've been trying to send the logs of my IoT Greengrass core device to Cloudwatch following this guide. It says to create a deployment and inserting this:

{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true"
    }
  }
}

and this, accordingly:

{
  "logsUploaderConfiguration": {
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
      
      }
    }
  }
}

I just don't get how and where I have to insert those. It's really not explained that much... My last attempt was to create a deployment.json file that looked as follows and push it to AWS through the CLi command aws greengrassv2 create-deployment --cli-input-json file://deployment.json, but that doesn't work:

{
    "targetArn": "arn:aws:iot:<myregion>:<mynumber>:thinggroup/groupname",
    "deploymentName": "test_deployments",
    "components": {
        "aws.greengrass.Cloudwatch": {
            "componentVersion": "3.1.0"
        },
        "aws.greengrass.LogManager": {
            "componentVersion": "2.3.1",
            "logsUploaderConfiguration": {
                "systemLogsConfiguration": {
                    "uploadToCloudWatch": "true"
                },
                "componentLogsConfigurationMap":{
                    "com.example.MyPrivateDockerComponent": {
                        
                    }
                }
            }
        },
        "com.example.MyPrivateDockerComponent": {
            "componentVersion": "1.1.5",
            "runWith": {}
        }
    },
    "deploymentPolicies": {
        "failureHandlingPolicy": "ROLLBACK",
        "componentUpdatePolicy": {
            "timeoutInSeconds": 60,
            "action": "NOTIFY_COMPONENTS"
        }
    },
    "iotJobConfiguration": {
        "jobExecutionsRolloutConfig": {
            "maximumPerMinute": 1000
        }
    },

    "tags": {}
}

Can anyone tell me where to place the "logsUploaderConfiguration" that I can accordingly update my deployment to log to Cloudwatch? Also, is this somehow possible through the AWS console in addition to the CLI? Thanks a lot for your help!

1 Resposta
2

Review https://docs.aws.amazon.com/greengrass/v2/APIReference/API_CreateDeployment.html for using the API properly.

"aws.greengrass.LogManager": {
    "componentVersion": "2.3.1",
    "configurationUpdate": {
        "merge": "{\"logsUploaderConfiguration\":{\"systemLogsConfiguration\":{\"uploadToCloudWatch\":\"true\"},\"componentLogsConfigurationMap\":{\"com.example.MyPrivateDockerComponent\":{}}}}"
    }
}

You can of course use the Console to do this. Edit the deployment and on the page titled "Configure components - optional", select the radio button next to the log manager component and then click on the button at the top to configure the component.

AWS
ESPECIALISTA
respondido há um ano

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas