发布于: 2023-7-6最后更新: 2023-7-25字数 00 分钟

  1. flask prometheus metrics:
    flask_prometheus_metrics
    pilosusUpdated Apr 18, 2023
  1. prometheus: Getting started | Prometheus --- 入门 |普罗 米修斯
flask_prometheus_metrics是一个用于将Prometheus监控指标集成到Flask Web应用程序中的工具库。其中,register_metrics是模块中的一个函数,可以使用它来注册自定义的Prometeus指标。
register_metrics的常用语法如下:
参数说明:
  • app:Flask应用程序实例。
  • app_version:应用程序的版本号,可以是一个字符串,也可以是一个返回字符串的函数。
  • additional_buckets:指定自定义的histogram_metrics缺省bucket。
  • counter_metrics:用于存储一组Counter型的Metric数据结构。
  • histogram_metrics:用于存储一组Histogram型的Metric数据结构。
示例:
假设我们有一个简单的Flask应用程序,用于提供用户管理功能,示例代码如下:
现在,我们想要使用Prometheus监控该应用程序的指标。我们可以使用register_metrics函数将某些自定义指标注册到应用程序中。例如,我们可以为用户数量、添加用户请求数量和添加用户处理时间三个指标分别创建一个Counter和两个Histogram,示例代码如下:
在上面的代码中,我们首先定义了三个自定义指标,分别使用Counter和Histogram类型创建。然后,在添加用户的Flask处理函数中,我们更新了三个自定义指标的值,每次成功添加用户时,增加用户计数器(users),增加添加用户请求数量计数器(add_user_requests),并记录添加用户处理时间直方图(add_user_processing_time)。最后,我们调用register_metrics函数将自定义指标注册到Flask应用程序中。注意,我们需要将Counter和Histogram对象作为参数传递到register_metrics函数中。
使用上面的代码启动Flask应用程序后,即可在Prometheus监控指标中看到这几个自定义指标的值。例如,可以使用以下表达式查询用户计数指标的值:
除了自定义指标外,flask_prometheus_metrics还提供了一些默认指标,例如请求数(requests_total)、HTTP方法数(http_requests_total)、请求处理时间(flask_http_request_duration_seconds)、HTTP请求大小(http_request_size_bytes)和HTTP响应大小(http_response_size_bytes)等。这些指标在应用程序启动时会自动注册到Prometheus监控器中。
可以使用以下表达式查询这些默认指标的值:
使用flask_prometheus_metrics,可以方便地将Prometheus监控指标集成到Flask应用程序中,并对应用程序的性能进行监控和优化。

Flask JWT Extended
Flask JWT Extended

Flask JWT Extended是一个Flask扩展,用于实现JSON Web Token(JWT)的认证和授权。它提供了易于使用的工具,支持多种身份验证方案,包括HTTP基本身份验证、OAuth和OpenID Connect等。您需要设置一些配置选项,如密钥、令牌过期时间、刷新令牌过期时间和请求头名称。然后,您可以使用装饰器来保护您的视图函数,并使用JWT来进行身份验证和授权。


认证和授权
认证和授权

本文介绍了OAuth2.0的授权码模式和密码模式,以及PKCE的扩展。授权码模式是OAuth2.0的标准模式,密码模式不安全,PKCE是为了防止CSRF和授权代码注入攻击而设计的。本文还介绍了如何在Postman中使用PKCE。