Spring+AWS CloudWatch集中日志

一图胜千言

AWS CloudWatch集中日志

思路

Spring正常向本地输出日志文件,然后,通过amazon-cloudwatch-agent代理收集日志集中到CloudWatch中。并通过EC2实例ID进行区分。

步骤

添加托管策略:CloudWatchAgentServerPolicy

为EC2运行到角色添加托管CloudWatchAgentServerPolicy策略。类似如下:
CloudWatchAgentServerPolicy托管策略

安装amazon-cloudwatch-agent

sudo yum install amazon-cloudwatch-agent

创建配置文件amazon-cloudwatch-agent.json

为amazon-cloudwatch-agent创建配置文件,内容如下:

{
  "logs": {
    "logs_collected": {
      "files": {
        "collect_list": [
          {
            "file_path": "/var/xxx/log/xxx.log",
            "log_group_name": "xxx-xxx-spring-logging",
            "log_stream_name": "xxx-xxx-spring-logging-{instance_id}.log",
            "timestamp_format": "%Y-%m-%d %H:%M:%S.%f",
            "multi_line_start_pattern": "{timestamp_format}"
          }
        ]
      }
    }
  }
}

部署配置文件

在进行文件上传之前,需要停止amazon-cloudwatch-agent服务,类似如下:

sudo systemctl stop amazon-cloudwatch-agent

接着使用,如下命令确定amazon-cloudwatch-agent状态:

sudo systemctl status amazon-cloudwatch-agent

然后,将上述配置文件上传到EC2的目录中即可,具体目录为:

/opt/aws/amazon-cloudwatch-agent/etc/

如果因为权限问题无法上传文件,则需要解开相关文件夹权限,类似如下:

sudo chmod 757 /opt/aws/amazon-cloudwatch-agent/etc/

上传完成后,需要恢复成原来的权限:

sudo chmod 755 /opt/aws/amazon-cloudwatch-agent/etc/

上传成功后,需要对上传的文件拥有者以及拥有组权限进行修改和调整,类似如下:

sudo chown root:root /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

重启amazon-cloudwatch-agent

sudo amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

确认重启状态:

sudo systemctl status amazon-cloudwatch-agent

验证CloudWatch日志组

查看CloudWatch日志
从上图可知,CloudWatch收到Spring的日志了。
CloudWatch日志详情
CloudWatch也可以向kibana那样进行简单的全文搜索了。

总结

这就是AWS CloudWatch集中日志方案了,如果进行简单的日志集中的话,不需要使用ELK或者EFK。

参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AWS CloudWatch是一项监控和管理AWS资源和应用程序的服务。它可以收集来自AWS资源和应用程序的指标和日志数据,以及监控AWS资源的状态和性能。以下是AWS CloudWatch的详细说明: 1. 监控:CloudWatch可以监控AWS资源(例如EC2实例,RDS数据库实例等)的状态和性能,并生成指标数据。这些指标数据可以用来观察系统运行状况,识别和解决问题。 2. 日志CloudWatch Logs可以收集、监控和存储应用程序和系统日志。用户可以使用CloudWatch Logs来分析日志数据,查找故障和安全事件,以及生成指标数据。 3. 仪表板:用户可以使用CloudWatch仪表板创建自定义可视化仪表板,以查看指标数据和日志数据。用户可以将多个指标数据和日志数据放在同一个仪表板上,以便更轻松地监控系统状态和性能。 4. 报警:用户可以使用CloudWatch报警创建自定义报警,以在系统状态或性能出现异常时接收通知。用户可以定义报警触发条件,并选择通知方式(例如电子邮件、SMS等)。 5. 事件:CloudWatch Events可以监视AWS资源的状态和性能,并在特定事件发生时触发自定义操作。例如,用户可以配置CloudWatch Events在EC2实例启动时自动运行脚本。 总之,AWS CloudWatchAWS资源和应用程序的全面监控和管理服务,它可以收集、监控和存储指标数据和日志数据,并帮助用户识别和解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值