跳到主要内容

环境变量配置

介绍

环境变量是配置Zipkin服务器的关键方式之一,它允许你动态调整参数而无需修改代码或配置文件。对于初学者来说,理解环境变量的作用及其配置方法,是部署和运维Zipkin的重要基础。

为什么使用环境变量?
  • 灵活性:无需重新打包应用即可更改配置。
  • 安全性:敏感信息(如密码)可通过环境变量注入,避免硬编码。
  • 跨环境一致性:开发、测试、生产环境使用同一套配置逻辑。

核心环境变量

以下是Zipkin常用的环境变量及其作用:

变量名默认值说明
ZIPKIN_STORAGE_TYPEmem存储类型(如 elasticsearchmysqlcassandra)。
STORAGE_ES_HOSTSlocalhostElasticsearch节点地址(逗号分隔)。
ZIPKIN_UI_ENABLEDtrue是否启用Web界面。
JAVA_OPTS-传递JVM参数(如堆内存设置 -Xmx1g)。

配置步骤

1. 基础配置示例

通过环境变量启动Zipkin容器(Docker示例):

bash
docker run -d \
-e ZIPKIN_STORAGE_TYPE=elasticsearch \
-e STORAGE_ES_HOSTS=http://elasticsearch:9200 \
-p 9411:9411 \
openzipkin/zipkin
备注
  • -e 标志用于设置环境变量。
  • 此示例将存储切换为Elasticsearch,并指定其地址。

2. 多节点存储配置

若需连接多个Elasticsearch节点:

bash
-e STORAGE_ES_HOSTS=http://node1:9200,http://node2:9200

实际案例

场景:生产环境配置

假设生产环境需要:

  • 禁用Web界面以节省资源。
  • 使用Cassandra作为存储。
  • 调整JVM堆内存。
bash
docker run -d \
-e ZIPKIN_STORAGE_TYPE=cassandra \
-e CASSANDRA_CONTACT_POINTS=db1.example.com,db2.example.com \
-e ZIPKIN_UI_ENABLED=false \
-e JAVA_OPTS="-Xms2g -Xmx2g" \
-p 9411:9411 \
openzipkin/zipkin

验证配置

通过Zipkin的 /info 端点检查生效的配置:

bash
curl http://localhost:9411/info

输出示例(部分):

json
{
"storage.type": "cassandra",
"ui.enabled": false
}

总结

  • 环境变量是动态配置Zipkin的高效方式。
  • 关键变量包括存储类型、地址和JVM参数。
  • 生产环境中建议禁用UI并优化内存设置。

延伸阅读