Thundra Python层的免提监控

距Re:Invent仅仅2周,创建无服务器公告的兴奋仍然很高。 在许多公告中,对我来说最令人兴奋的是AWS Lambda Layers的发布。 Thundra是此公告的发布合作伙伴之一,这对我们来说是一个激动人心的时刻。 但是,此外,我相信Lambda Layers是一项非常强大的功能,尤其是与AWS Lambda Runtime API打包在一起时。

对于不熟悉AWS Lambda的最新功能的人,Lambda Layers允许AWS Lambda用户在其无服务器应用程序内甚至跨多个AWS Lambda函数快速,高效地部署,管理和配置AWS Lambda本身未提供的常见元素。或帐户。 Lambda层是常用代码的模块化软件包,您可以与自己的应用程序分开部署,这些代码可能会经常更新。 Lambda层通常与数据,自定义运行时和/或库打包在一起,具体取决于用例。

Lambda层和运行时API的例子已经很多,非常有趣。 其中的一些示例包括The Serverless Framework的The Serverless Open Runtime,Blu Age的Serverless COBOL(我个人最喜欢的自定义运行时),Stackery的PHP Layer和我们自己的Thundra Java和Node.js层。

对于Java和Node.js,我们为这两种语言提供了自定义运行时和库的层支持。 Java自定义运行时通过减少冷启动次数和冷启动持续时间来提高Java应用程序的性能。 添加Thundra Java层时,您可以选择为Java Lambda函数选择Java自定义运行时或AWS提供的Java运行时。 请记住,由于您是与应用程序的业务逻辑分开部署此层的,因此您自己的Java函数可以占用最小的空间。

对于Node.js,我们的Node.js层随附的自定义运行时允许您将监视添加到Node.js函数中,而无需手动包装处理程序。 您还可以选择使用AWS的Node.js运行时之一。 但是,在这种情况下,您将需要使用Thundra手动包装处理程序以获取监视数据。

今天,我们很高兴宣布将Thundra层的支持扩展到第三层,这一次是针对Python的。 众所周知,Python很容易从中收集监视数据,这意味着我们不需要提供特殊的运行时来自动化仪器。

我们全新的Python层具有高级跟踪功能。 将Thundra Python层添加到应用程序后,Thundra会立即自动开始跟踪您的功能。 在新的Python层中包含我们更新的Python库之后,默认情况下,Thundra将收集有关以下操作的详细跟踪数据:

AWS开发工具包操作,其中包括对以下内容的调用:

  • SQS
  • 社交网络
  • DynamoDB
  • S3
  • 运动学
  • 消防水带
  • 拉姆达
  • Redis操作

HTTP调用,使您能够跟踪诸如Stripe,Auth0等的第三方API。

关系数据库活动,包括MySQL和PostgreSQL。

如果您希望收集较少的数据,则可以通过通过注释进行配置来禁用任何这些跟踪功能(请参见此处的示例)。 您还可以在函数上添加注释,以收集其他上下文的其他数据(请记住,完整上下文包括来自可观察性的所有“三个支柱”的数据!),包括跟踪方法参数,返回值和错误。 请注意,即使收集其他数据,也无需更改任何业务逻辑。 您需要做的就是使用`@ thundra`注释配置您的跟踪。

让我们逐步完成将Thundra Python层添加到无服务器应用程序的步骤。 您可以使用AWS CLI,AWS SAM,无服务器框架或AWS控制台配置Lambda层。 在我们的示例中,我们将逐步介绍AWS控制台的方式。 首先,您需要转到AWS Lambda功能页面,然后在Designers选项卡中单击`Layers`。

然后单击“添加图层”,并使用以下ARN添加Thundra Python图层:

  arn:aws:lambda:$ {region}:{willcomelater}:layer:thundra-lambda-python-layer:1 

请注意,ARN的区域部分是动态的,因此您需要根据部署功能的区域进行更改。 在此示例中,假设您将Lambda函数部署到俄勒冈州(`us-west-2`)区域。 因此,ARN层将是:

  arn:aws:lambda:us-west-2:269863060030:layer:thundra-lambda-python-layer:1 

最后,将Thundra处理程序设置为您的处理程序。 然后,您需要先告诉我们您的处理程序,然后输入带有环境变量的Thundra API密钥。 输入您的环境变量,如下所示:

你们都准备好了!

Thundra将自动开始从功能中收集数据,而无需重新部署应用程序。 只需按一下AWS控制台右上方的“测试”按钮,您就可以在Thundra Web控制台中执行Python函数的方式。

是否想查看您的数据可能是什么样? 查看我们的交互式演示环境,以查看从示例Python函数收集的数据。 您还可以看到如下所示的跟踪图:

作为AWS的高级技术合作伙伴,Thundra致力于使AWS Lambda用户能够以最小的努力收集深刻的见解和可观察性。 我们希望使用AWS Lambda的Python开发人员将发现我们新的Python代理功能和Python Lambda Layer易于使用且有价值,无论您是在开发初期还是在生产中监视Python函数。 Thundra是免费使用的,设置仅需几分钟。 获取您的帐户,立即开始使用Thundra。


最初发布在 blog.thundra.io上