在上一节我们提到,Broker日志的采集有三种方式:
在第一章创建集群时,我们已经将Broker的日志打到了CloudWatch Logs:
通过CloudWatch Log我们可以对日志进行关键字搜索,例如查看所有的ERROR事件:
之前我们将集群升级到了2.7.1
版本,我们想确认升级的时间点,也可以进行搜索:
或者创建Metric Filter
, 检测到某个事件发生后发送报警。
在aws cli 2.0版本之后,有一个新的命令:可以使用cli实时查看cloudwatch logs的日志。
我们需要确认当前aws cli的版本在2.0以上,可以参考 https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html 来更新cli版本
例如在cloud 9下:
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install aws --version # 确认版本在2.0以上
在cloud9上执行完上述命令后,可能要打开一个新的terminal才会生效
执行:
aws logs tail <LogGroupName> --follow --region <YOUR-REGION>
在控制台上可以看到日志的实时输出。当我们创建一个topic,会发现过几秒后,其事件输出在控制台
其中--follow
参数表示持续接收Cloudwatch Log group中最新的的消息。
将日志收集到S3,可以用于长期的备份(CloudWatch Logs的价格着实有些贵)。
我们可以直接在现有集群上开启这个设置:
创建一个bucket,并输入bucket名称,然后点击保存。
等更新生效后,在对应的S3 Bucket下能找到Broker日志文件:
这一部分不做详细介绍。
值得一提的是,Firehose本身可以和Splunk/ElasticSearch
很方便的集成,所以这种方式可用于将Broker日志收集到Splunk / OpenSearch
。