AWS CloudWatch日志组命名约定

问题描述 投票:0回答:2

我必须将日志从AWS EC2服务器发送到AWS CloudWatch日志。为此,我创建了一个CloudWatch配置文件来收集日志,例如

{
    "agent": {
            "run_as_user": "root"
    },
    "logs": {
            "logs_collected": {
                    "files": {
                            "collect_list": [
                                    {
                                            "file_path": "/var/log/testing.log",
                                            "log_group_name": "/project/development",
                                            "log_stream_name": "{instance_id}_testing-logs"
                                    }
                            ]
                    }
            }
    }
}

我已经在AWS CodeDeploy中创建了一个名为project的应用程序,其中包含三个组,即developmentstagingproduction。我希望CloudWatch使用诸如/project/development之类的命名约定,并类似地为其命名为stagingproduction以命名其日志组log_group_name。为此,我不想为每个环境创建三个单独的文件。

[是否有任何可用于CodeDeploy的CloudWatch变量,我可以使用它来命名log_group_name,就像{instance_id}可以使用的命名变量可以自动选择实例ID。

linux amazon-web-services amazon-ec2 amazon-cloudwatch aws-code-deploy
2个回答
0
投票

log_stream_name指定目标日志流。您可以使用文字字符串或预定义变量({instance_id},{hostname},{ip_address})或两者的组合来定义日志流名称。如果尚不存在,则会自动创建一个日志流。

CloudWatch日志只能访问上面的那些变量。

阅读documentation以了解更多详细信息。


0
投票

查看CloudWatch Agent Configuration File Logs Section文档。对于log_stream_name

作为名称的一部分,您可以在名称中使用{instance_id}{hostname}{local_hostname}和> {ip_address}作为变量。

© www.soinside.com 2019 - 2024. All rights reserved.