天天看點

skywalking8.5.0 agent配置覆寫配置覆寫系統屬性agent選項系統環境變量覆寫優先級

詳見中文官方文檔:

https://github.com/SkyAPM/document-cn-translation-of-skywalking/blob/master/docs/zh/8.0.0/setup/service-agent/java-agent/Setting-override.md

詳見英文官方文檔:

https://github.com/apache/skywalking/blob/master/docs/en/setup/service-agent/java-agent/Setting-override.md

配置覆寫

預設情況下,SkyWalking為agent提供了

agent.config

配置檔案。

配置覆寫意味着使用者可以通過系統屬性或agent選項覆寫配置檔案中的配置。

系統屬性

使用

skywalking.

+ 配置檔案中的配置名 作為系統屬性的配置名來覆寫配置檔案中的值。

  • 為什麼需要這個字首?

    因為agent系統屬性是和目标應用共享的,加字首是為了避免沖突。

  • 例子

    通過下面的系統屬性覆寫

    agent.application_code

    -Dskywalking.agent.application_code=31200

agent選項

在JVM參數的agent路徑後面添加選項。

-javaagent:/path/to/skywalking-agent.jar=[option1]=[value1],[option2]=[value2]

  • 例子

    通過下面的配置覆寫

    agent.application_code、logging.level

    -javaagent:/path/to/skywalking-agent.jar=agent.application_code=31200,logging.level=debug

  • 特殊字元

如果在選項或選項值中有分隔符(

,

或者

=

),應該用引号包起來。

-javaagent:/path/to/skywalking-agent.jar=agent.ignore_suffix='.jpg,.jpeg'

系統環境變量

  • 例子

    通過下面的配置覆寫

    agent.application_code

    logging.level

# The service name in UI
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}

# Logging level
logging.level=${SW_LOGGING_LEVEL:INFO}
           

如果

SW_AGENT_NAME

環境變量在你的作業系統中已存在,并且,它的值為

skywalking-agent-demo

,那麼這裡的

agent.service_name

的值将會被覆寫為

skywalking-agent-demo

, 否則, 它将會被設定成

Your_ApplicationName

另外,占位符嵌套也是支援的,比如

${SW_AGENT_NAME:${ANOTHER_AGENT_NAME:Your_ApplicationName}}

。 在這種情況下,如果

SW_AGENT_NAME

環境變量不存在,但是

ANOTHER_AGENT_NAME

環境變量存在,并且它的值為

skywalking-agent-demo

, 那麼這裡的

agent.service_name

的值将會被覆寫為

skywalking-agent-demo

, 否則, 它将會被設定成

Your_ApplicationName

覆寫優先級

agent選項 > 系統屬性(-D) > 系統環境變量 > 配置檔案

繼續閱讀