无需Lambda Insights,监控Lambda临时存储使用情况
Lambda临时存储使用量的日志监控方案
核心结论
默认情况下,Lambda的CloudWatch日志不会自动记录临时存储(/tmp目录)的使用数据,无法直接通过现有日志监控。但可以通过在Lambda代码中主动收集存储使用情况并输出到日志,再用你已有的日志扫描脚本提取数据。
Python代码实现示例
下面是可直接集成到Lambda函数中的代码片段,用于获取并打印/tmp目录的存储使用情况:
import shutil def get_tmp_storage_usage(): # 获取/tmp目录的磁盘使用信息 disk_usage = shutil.disk_usage('/tmp') used_mb = disk_usage.used / (1024 * 1024) total_mb = disk_usage.total / (1024 * 1024) usage_percent = (disk_usage.used / disk_usage.total) * 100 # 格式化日志输出,方便后续脚本提取 return f"[TMP_STORAGE_USAGE] Used: {used_mb:.2f} MB, Total: {total_mb:.2f} MB, Usage: {usage_percent:.2f}%" # 在Lambda函数的合适位置调用并输出日志 def lambda_handler(event, context): # 输出临时存储使用情况到日志 print(get_tmp_storage_usage()) # 你的原有业务逻辑代码 # ... return { 'statusCode': 200, 'body': 'Success' }
集成建议
- 在函数启动时和关键操作完成后(比如处理文件、生成临时数据后)调用这个函数,捕获不同阶段的存储使用变化。
- 输出的日志字符串里加上
[TMP_STORAGE_USAGE]这类特殊标记,方便你现有的日志扫描脚本快速识别和提取数据,和已有的警告、错误标记逻辑保持一致。
额外说明
Lambda的临时存储默认大小为512MB(可配置到10GB),通过上述代码可以准确获取当前函数实例的/tmp目录已用空间、总空间和使用率,完全满足日志监控的需求。
内容的提问来源于stack exchange,提问作者autonopy
相关产品推荐
相关产品推荐

