使用 influxdb 以编程方式配置 spring 启动千分尺
programmatically configuration for spring boot micrometer with influxdb
我在为我的应用程序配置 Spring Boot Micrometer
时遇到了一些挑战。 Micrometer 文档说我们可以通过 application.yml
文件配置 influxdb uri, userName, password, db
等,这对我的演示应用程序来说工作正常,但对于生产就绪的应用程序,我们使用 docker-compose
并且我们通过 docker-compose
。现在我面临着 -
这样的挑战
- 如何强制千分尺使用
docker-compose
环境变量 influxdb uri
- 对于
influxdb
密码,我们的应用程序将密码存储在 AWS secret Manager
中,micrometer 如何从秘密管理器访问密码?
- 我能否以编程方式配置所有这些千分尺属性(Spring Bean)?怎么样?
我不确定如何利用 AWS Secret Manager,但对于第 1 点和第 3 点我可以提供一些建议。
我对 Influx 不是特别熟悉,但是基于 javadoc 它使用 management.metrics.export.influx.username
来设置密码。
1- 要通过环境变量设置应用程序 属性,请使用典型的 'SCREAMING_SNAKE_CASE' 格式设置等效项:
MANAGEMENT_METRICS_EXPORT_INFLUX_USERNAME=myInfluxUser
或者,如果您已经有一个要在 application.yml 文件中引用的环境变量,您可以将其作为 属性:
引用
management.metrics.export.influx.username: ${INFLUX_USER}
3- 要以编程方式配置 Micromerter/influx,请在类型 InfluxProperties
:
上创建一个 bean
@Bean
public InfluxProperties influxProperties() {
return new InfluxProperties(); // Programatically set any properties here.
}
我在为我的应用程序配置 Spring Boot Micrometer
时遇到了一些挑战。 Micrometer 文档说我们可以通过 application.yml
文件配置 influxdb uri, userName, password, db
等,这对我的演示应用程序来说工作正常,但对于生产就绪的应用程序,我们使用 docker-compose
并且我们通过 docker-compose
。现在我面临着 -
- 如何强制千分尺使用
docker-compose
环境变量influxdb uri
- 对于
influxdb
密码,我们的应用程序将密码存储在AWS secret Manager
中,micrometer 如何从秘密管理器访问密码? - 我能否以编程方式配置所有这些千分尺属性(Spring Bean)?怎么样?
我不确定如何利用 AWS Secret Manager,但对于第 1 点和第 3 点我可以提供一些建议。
我对 Influx 不是特别熟悉,但是基于 javadoc 它使用 management.metrics.export.influx.username
来设置密码。
1- 要通过环境变量设置应用程序 属性,请使用典型的 'SCREAMING_SNAKE_CASE' 格式设置等效项:
MANAGEMENT_METRICS_EXPORT_INFLUX_USERNAME=myInfluxUser
或者,如果您已经有一个要在 application.yml 文件中引用的环境变量,您可以将其作为 属性:
引用management.metrics.export.influx.username: ${INFLUX_USER}
3- 要以编程方式配置 Micromerter/influx,请在类型 InfluxProperties
:
@Bean
public InfluxProperties influxProperties() {
return new InfluxProperties(); // Programatically set any properties here.
}