Skywalking agent.config配置属性表

嵇出野
2023-12-01

Table of Agent Configuration Properties

This is the properties list supported in agent/config/agent.config.

property keyDescriptionSystem Environment VariableDefault
agent.namespaceNamespace isolates headers in cross process propagation. The HEADER name will be HeaderName:Namespace.SW_AGENT_NAMESPACENot set
agent.service_nameThe service name to represent a logic group providing the same capabilities/logic. Suggestion: set a unique name for every logic service group, service instance nodes share the same code, Max length is 50(UTF-8 char). Optional, once service_name follows <group name>::<logic name> format, OAP server assigns the group name to the service metadata.SW_AGENT_NAMEYour_ApplicationName
agent.sample_n_per_3_secsNegative or zero means off, by default.SAMPLE_N_PER_3_SECS means sampling N TraceSegment in 3 seconds tops.SW_AGENT_SAMPLENot set
agent.authenticationAuthentication active is based on backend setting, see application.yml for more details.For most scenarios, this needs backend extensions, only basic match auth provided in default implementation.SW_AGENT_AUTHENTICATIONNot set
agent.trace_segment_ref_limit_per_spanThe max number of TraceSegmentRef in a single span to keep memory cost estimatable.SW_TRACE_SEGMENT_LIMIT500
agent.span_limit_per_segmentThe max number of spans in a single segment. Through this config item, SkyWalking keep your application memory cost estimated.SW_AGENT_SPAN_LIMIT300
agent.ignore_suffixIf the operation name of the first span is included in this set, this segment should be ignored.SW_AGENT_IGNORE_SUFFIXNot set
agent.is_open_debugging_classIf true, skywalking agent will save all instrumented classes files in /debugging folder. SkyWalking team may ask for these files in order to resolve compatible problem.SW_AGENT_OPEN_DEBUGNot set
agent.is_cache_enhanced_classIf true, SkyWalking agent will cache all instrumented classes files to memory or disk files (decided by class cache mode), allow another java agent to enhance those classes that enhanced by SkyWalking agent. To use some Java diagnostic tools (such as BTrace, Arthas) to diagnose applications or add a custom java agent to enhance classes, you need to enable this feature.SW_AGENT_CACHE_CLASSfalse
agent.class_cache_modeThe instrumented classes cache mode: MEMORY or FILE. MEMORY: cache class bytes to memory, if instrumented classes is too many or too large, it may take up more memory. FILE: cache class bytes in /class-cache folder, automatically clean up cached class files when the application exits.SW_AGENT_CLASS_CACHE_MODEMEMORY
agent.instance_nameInstance name is the identity of an instance, should be unique in the service. If empty, SkyWalking agent will generate an 32-bit uuid. Default, use UUID@hostname as the instance name. Max length is 50(UTF-8 char)SW_AGENT_INSTANCE_NAME""
agent.instance_properties[key]=valueAdd service instance custom properties. Notice it could be overridden by agent.instance_properties_json , if the key duplication.Not set
agent.instance_properties_json={"key":"value"}Add service instance custom properties in json format.SW_INSTANCE_PROPERTIES_JSONNot set
agent.cause_exception_depthHow depth the agent goes, when log all cause exceptions.SW_AGENT_CAUSE_EXCEPTION_DEPTH5
agent.force_reconnection_period Force reconnection period of grpc, based on grpc_channel_check_interval.SW_AGENT_FORCE_RECONNECTION_PERIOD1
agent.operation_name_threshold The operationName max length, setting this value > 190 is not recommended.SW_AGENT_OPERATION_NAME_THRESHOLD150
agent.keep_tracingKeep tracing even the backend is not available if this value is true.SW_AGENT_KEEP_TRACINGfalse
agent.force_tlsForce open TLS for gRPC channel if this value is true.SW_AGENT_FORCE_TLSfalse
agent.ssl_trusted_ca_pathgRPC SSL trusted ca file.SW_AGENT_SSL_TRUSTED_CA_PATH/ca/ca.crt
agent.ssl_key_pathThe private key file. Enable mTLS when ssl_key_path and ssl_cert_chain_path exist.SW_AGENT_SSL_KEY_PATH""
agent.ssl_cert_chain_pathThe certificate file. Enable mTLS when ssl_key_path and ssl_cert_chain_path exist.SW_AGENT_SSL_CERT_CHAIN_PATH""
osinfo.ipv4_list_sizeLimit the length of the ipv4 list size.SW_AGENT_OSINFO_IPV4_LIST_SIZE10
collector.grpc_channel_check_intervalgrpc channel status check interval.SW_AGENT_COLLECTOR_GRPC_CHANNEL_CHECK_INTERVAL30
collector.heartbeat_periodagent heartbeat report period. Unit, second.SW_AGENT_COLLECTOR_HEARTBEAT_PERIOD30
collector.properties_report_period_factorThe agent sends the instance properties to the backend every collector.heartbeat_period * collector.properties_report_period_factor secondsSW_AGENT_COLLECTOR_PROPERTIES_REPORT_PERIOD_FACTOR10
collector.backend_serviceCollector SkyWalking trace receiver service addresses.SW_AGENT_COLLECTOR_BACKEND_SERVICES127.0.0.1:11800
collector.grpc_upstream_timeoutHow long grpc client will timeout in sending data to upstream. Unit is second.SW_AGENT_COLLECTOR_GRPC_UPSTREAM_TIMEOUT30 seconds
collector.get_profile_task_intervalSniffer get profile task list interval.SW_AGENT_COLLECTOR_GET_PROFILE_TASK_INTERVAL20
collector.get_agent_dynamic_config_intervalSniffer get agent dynamic config intervalSW_AGENT_COLLECTOR_GET_AGENT_DYNAMIC_CONFIG_INTERVAL20
collector.is_resolve_dns_periodicallyIf true, skywalking agent will enable periodically resolving DNS to update receiver service addresses.SW_AGENT_COLLECTOR_IS_RESOLVE_DNS_PERIODICALLYfalse
logging.levelLog level: TRACE, DEBUG, INFO, WARN, ERROR, OFF. Default is info.SW_LOGGING_LEVELINFO
logging.file_nameLog file name.SW_LOGGING_FILE_NAMEskywalking-api.log
logging.outputLog output. Default is FILE. Use CONSOLE means output to stdout.SW_LOGGING_OUTPUTFILE
logging.dirLog files directory. Default is blank string, means, use "{theSkywalkingAgentJarDir}/logs " to output logs. {theSkywalkingAgentJarDir} is the directory where the skywalking agent jar file is locatedSW_LOGGING_DIR""
logging.resolverLogger resolver: PATTERN or JSON. The default is PATTERN, which uses logging.pattern to print traditional text logs. JSON resolver prints logs in JSON format.SW_LOGGING_RESOLVERPATTERN
logging.pattern Logging format. There are all conversion specifiers:
  * %level means log level.
  * %timestamp means now of time with format yyyy-MM-dd HH:mm:ss:SSS.
  * %thread means name of current thread.
  * %msg means some message which user logged.
  * %class means SimpleName of TargetClass.
  * %throwable means a throwable which user called.
  * %agent_name means agent.service_name. Only apply to the PatternLogger.
SW_LOGGING_PATTERN%level %timestamp %thread %class : %msg %throwable
logging.max_file_sizeThe max size of log file. If the size is bigger than this, archive the current file, and write into a new file.SW_LOGGING_MAX_FILE_SIZE300 * 1024 * 1024
logging.max_history_filesThe max history log files. When rollover happened, if log files exceed this number,then the oldest file will be delete. Negative or zero means off, by default.SW_LOGGING_MAX_HISTORY_FILES-1
statuscheck.ignored_exceptionsListed exceptions would not be treated as an error. Because in some codes, the exception is being used as a way of controlling business flow.SW_STATUSCHECK_IGNORED_EXCEPTIONS""
statuscheck.max_recursive_depthThe max recursive depth when checking the exception traced by the agent. Typically, we don’t recommend setting this more than 10, which could cause a performance issue. Negative value and 0 would be ignored, which means all exceptions would make the span tagged in error status.SW_STATUSCHECK_MAX_RECURSIVE_DEPTH1
correlation.element_max_numberMax element count in the correlation context.SW_CORRELATION_ELEMENT_MAX_NUMBER3
correlation.value_max_lengthMax value length of each element.SW_CORRELATION_VALUE_MAX_LENGTH128
correlation.auto_tag_keysTag the span by the key/value in the correlation context, when the keys listed here exist.SW_CORRELATION_AUTO_TAG_KEYS""
jvm.buffer_sizeThe buffer size of collected JVM info.SW_JVM_BUFFER_SIZE60 * 10
buffer.channel_sizeThe buffer channel size.SW_BUFFER_CHANNEL_SIZE5
buffer.buffer_sizeThe buffer size.SW_BUFFER_BUFFER_SIZE300
profile.activeIf true, skywalking agent will enable profile when user create a new profile task. Otherwise disable profile.SW_AGENT_PROFILE_ACTIVEtrue
profile.max_parallelParallel monitor segment countSW_AGENT_PROFILE_MAX_PARALLEL5
profile.durationMax monitor segment time(minutes), if current segment monitor time out of limit, then stop it.SW_AGENT_PROFILE_DURATION10
profile.dump_max_stack_depthMax dump thread stack depthSW_AGENT_PROFILE_DUMP_MAX_STACK_DEPTH500
profile.snapshot_transport_buffer_sizeSnapshot transport to backend buffer sizeSW_AGENT_PROFILE_SNAPSHOT_TRANSPORT_BUFFER_SIZE4500
meter.activeIf true, the agent collects and reports metrics to the backend.SW_METER_ACTIVEtrue
meter.report_intervalReport meters interval. The unit is secondSW_METER_REPORT_INTERVAL20
meter.max_meter_sizeMax size of the meter poolSW_METER_MAX_METER_SIZE500
log.max_message_sizeThe max size of message to send to server.Default is 10 MB.SW_GRPC_LOG_MAX_MESSAGE_SIZE10485760
plugin.mountMount the specific folders of the plugins. Plugins in mounted folders would work.SW_MOUNT_FOLDERSplugins,activations
plugin.peer_max_length Peer maximum description limit.SW_PLUGIN_PEER_MAX_LENGTH200
plugin.exclude_plugins Exclude some plugins define in plugins dir.Plugin names is defined in Agent plugin listSW_EXCLUDE_PLUGINS""
plugin.mongodb.trace_paramIf true, trace all the parameters in MongoDB access, default is false. Only trace the operation, not include parameters.SW_PLUGIN_MONGODB_TRACE_PARAMfalse
plugin.mongodb.filter_length_limitIf set to positive number, the WriteRequest.params would be truncated to this length, otherwise it would be completely saved, which may cause performance problem.SW_PLUGIN_MONGODB_FILTER_LENGTH_LIMIT256
plugin.elasticsearch.trace_dslIf true, trace all the DSL(Domain Specific Language) in ElasticSearch access, default is false.SW_PLUGIN_ELASTICSEARCH_TRACE_DSLfalse
plugin.springmvc.use_qualified_name_as_endpoint_nameIf true, the fully qualified method name will be used as the endpoint name instead of the request URL, default is false.SW_PLUGIN_SPRINGMVC_USE_QUALIFIED_NAME_AS_ENDPOINT_NAMEfalse
plugin.toolit.use_qualified_name_as_operation_nameIf true, the fully qualified method name will be used as the operation name instead of the given operation name, default is false.SW_PLUGIN_TOOLIT_USE_QUALIFIED_NAME_AS_OPERATION_NAMEfalse
plugin.jdbc.trace_sql_parametersIf set to true, the parameters of the sql (typically java.sql.PreparedStatement) would be collected.SW_JDBC_TRACE_SQL_PARAMETERSfalse
plugin.jdbc.sql_parameters_max_lengthIf set to positive number, the db.sql.parameters would be truncated to this length, otherwise it would be completely saved, which may cause performance problem.SW_PLUGIN_JDBC_SQL_PARAMETERS_MAX_LENGTH512
plugin.jdbc.sql_body_max_lengthIf set to positive number, the db.statement would be truncated to this length, otherwise it would be completely saved, which may cause performance problem.SW_PLUGIN_JDBC_SQL_BODY_MAX_LENGTH2048
plugin.solrj.trace_statementIf true, trace all the query parameters(include deleteByIds and deleteByQuery) in Solr query request, default is false.SW_PLUGIN_SOLRJ_TRACE_STATEMENTfalse
plugin.solrj.trace_ops_paramsIf true, trace all the operation parameters in Solr request, default is false.SW_PLUGIN_SOLRJ_TRACE_OPS_PARAMSfalse
plugin.light4j.trace_handler_chainIf true, trace all middleware/business handlers that are part of the Light4J handler chain for a request.SW_PLUGIN_LIGHT4J_TRACE_HANDLER_CHAINfalse
plugin.springtransaction.simplify_transaction_definition_nameIf true, the transaction definition name will be simplified.SW_PLUGIN_SPRINGTRANSACTION_SIMPLIFY_TRANSACTION_DEFINITION_NAMEfalse
plugin.jdkthreading.threading_class_prefixesThreading classes (java.lang.Runnable and java.util.concurrent.Callable) and their subclasses, including anonymous inner classes whose name match any one of the THREADING_CLASS_PREFIXES (splitted by ,) will be instrumented, make sure to only specify as narrow prefixes as what you’re expecting to instrument, (java. and javax. will be ignored due to safety issues)SW_PLUGIN_JDKTHREADING_THREADING_CLASS_PREFIXESNot set
plugin.tomcat.collect_http_paramsThis config item controls that whether the Tomcat plugin should collect the parameters of the request. Also, activate implicitly in the profiled trace.SW_PLUGIN_TOMCAT_COLLECT_HTTP_PARAMSfalse
plugin.springmvc.collect_http_paramsThis config item controls that whether the SpringMVC plugin should collect the parameters of the request, when your Spring application is based on Tomcat, consider only setting either plugin.tomcat.collect_http_params or plugin.springmvc.collect_http_params. Also, activate implicitly in the profiled trace.SW_PLUGIN_SPRINGMVC_COLLECT_HTTP_PARAMSfalse
plugin.httpclient.collect_http_paramsThis config item controls that whether the HttpClient plugin should collect the parameters of the requestSW_PLUGIN_HTTPCLIENT_COLLECT_HTTP_PARAMSfalse
plugin.http.http_params_length_thresholdWhen COLLECT_HTTP_PARAMS is enabled, how many characters to keep and send to the OAP backend, use negative values to keep and send the complete parameters, NB. this config item is added for the sake of performance.SW_PLUGIN_HTTP_HTTP_PARAMS_LENGTH_THRESHOLD1024
plugin.http.http_headers_length_thresholdWhen include_http_headers declares header names, this threshold controls the length limitation of all header values. use negative values to keep and send the complete headers. Note. this config item is added for the sake of performance.SW_PLUGIN_HTTP_HTTP_HEADERS_LENGTH_THRESHOLD2048
plugin.http.include_http_headersSet the header names, which should be collected by the plugin. Header name must follow javax.servlet.http definition. Multiple names should be split by comma.SW_PLUGIN_HTTP_INCLUDE_HTTP_HEADERS``(No header would be collected)
plugin.feign.collect_request_bodyThis config item controls that whether the Feign plugin should collect the http body of the request.SW_PLUGIN_FEIGN_COLLECT_REQUEST_BODYfalse
plugin.feign.filter_length_limitWhen COLLECT_REQUEST_BODY is enabled, how many characters to keep and send to the OAP backend, use negative values to keep and send the complete body.SW_PLUGIN_FEIGN_FILTER_LENGTH_LIMIT1024
plugin.feign.supported_content_types_prefixWhen COLLECT_REQUEST_BODY is enabled and content-type start with SUPPORTED_CONTENT_TYPES_PREFIX, collect the body of the request , multiple paths should be separated by ,SW_PLUGIN_FEIGN_SUPPORTED_CONTENT_TYPES_PREFIXapplication/json,text/
plugin.influxdb.trace_influxqlIf true, trace all the influxql(query and write) in InfluxDB access, default is true.SW_PLUGIN_INFLUXDB_TRACE_INFLUXQLtrue
plugin.dubbo.collect_consumer_argumentsApache Dubbo consumer collect arguments in RPC call, use Object#toString to collect arguments.SW_PLUGIN_DUBBO_COLLECT_CONSUMER_ARGUMENTSfalse
plugin.dubbo.consumer_arguments_length_thresholdWhen plugin.dubbo.collect_consumer_arguments is true, Arguments of length from the front will to the OAP backendSW_PLUGIN_DUBBO_CONSUMER_ARGUMENTS_LENGTH_THRESHOLD256
plugin.dubbo.collect_provider_argumentsApache Dubbo provider collect arguments in RPC call, use Object#toString to collect arguments.SW_PLUGIN_DUBBO_COLLECT_PROVIDER_ARGUMENTSfalse
plugin.dubbo.provider_arguments_length_thresholdWhen plugin.dubbo.collect_provider_arguments is true, Arguments of length from the front will to the OAP backendSW_PLUGIN_DUBBO_PROVIDER_ARGUMENTS_LENGTH_THRESHOLD256
plugin.kafka.bootstrap_serversA list of host/port pairs to use for establishing the initial connection to the Kafka cluster.SW_KAFKA_BOOTSTRAP_SERVERSlocalhost:9092
plugin.kafka.get_topic_timeoutTimeout period of reading topics from the Kafka server, the unit is second.SW_GET_TOPIC_TIMEOUT10
plugin.kafka.producer_configKafka producer configuration. Read producer configure to get more details. Check Kafka report doc for more details and examples.sw_plugin_kafka_producer_config
plugin.kafka.producer_config_jsonConfigure Kafka Producer configuration in JSON format. Notice it will be overridden by plugin.kafka.producer_config[key], if the key duplication.SW_PLUGIN_KAFKA_PRODUCER_CONFIG_JSON
plugin.kafka.topic_meterSpecify which Kafka topic name for Meter System data to report to.SW_PLUGIN_KAFKA_TOPIC_METERskywalking-meters
plugin.kafka.topic_metricsSpecify which Kafka topic name for JVM metrics data to report to.SW_PLUGIN_KAFKA_TOPIC_METRICSskywalking-metrics
plugin.kafka.topic_segmentSpecify which Kafka topic name for traces data to report to.SW_PLUGIN_KAFKA_TOPIC_SEGMENTskywalking-segments
plugin.kafka.topic_profilingSpecify which Kafka topic name for Thread Profiling snapshot to report to.SW_PLUGIN_KAFKA_TOPIC_PROFILINGSskywalking-profilings
plugin.kafka.topic_managementSpecify which Kafka topic name for the register or heartbeat data of Service Instance to report to.SW_PLUGIN_KAFKA_TOPIC_MANAGEMENTskywalking-managements
plugin.kafka.topic_loggingSpecify which Kafka topic name for the logging data to report to.SW_PLUGIN_KAFKA_TOPIC_LOGGINGskywalking-logging
plugin.kafka.namespaceisolate multi OAP server when using same Kafka cluster (final topic name will append namespace before Kafka topics with - ).SW_KAFKA_NAMESPACE``
plugin.springannotation.classname_match_regexMatch spring beans with regular expression for the class name. Multiple expressions could be separated by a comma. This only works when Spring annotation plugin has been activated.SW_SPRINGANNOTATION_CLASSNAME_MATCH_REGEXAll the spring beans tagged with @Bean,@Service,@Dao, or @Repository.
plugin.toolkit.log.transmit_formattedWhether or not to transmit logged data as formatted or un-formatted.SW_PLUGIN_TOOLKIT_LOG_TRANSMIT_FORMATTEDtrue
plugin.lettuce.trace_redis_parametersIf set to true, the parameters of Redis commands would be collected by Lettuce agent.SW_PLUGIN_LETTUCE_TRACE_REDIS_PARAMETERSfalse
plugin.lettuce.redis_parameter_max_lengthIf set to positive number and plugin.lettuce.trace_redis_parameters is set to true, Redis command parameters would be collected and truncated to this length.SW_PLUGIN_LETTUCE_REDIS_PARAMETER_MAX_LENGTH128
plugin.jedis.trace_redis_parametersIf set to true, the parameters of Redis commands would be collected by Jedis agent.SW_PLUGIN_JEDIS_TRACE_REDIS_PARAMETERSfalse
plugin.jedis.redis_parameter_max_lengthIf set to positive number and plugin.jedis.trace_redis_parameters is set to true, Redis command parameters would be collected and truncated to this length.SW_PLUGIN_JEDIS_REDIS_PARAMETER_MAX_LENGTH128
plugin.redisson.trace_redis_parametersIf set to true, the parameters of Redis commands would be collected by Redisson agent.SW_PLUGIN_REDISSON_TRACE_REDIS_PARAMETERSfalse
plugin.redisson.redis_parameter_max_lengthIf set to positive number and plugin.redisson.trace_redis_parameters is set to true, Redis command parameters would be collected and truncated to this length.SW_PLUGIN_REDISSON_REDIS_PARAMETER_MAX_LENGTH128
plugin.neo4j.trace_cypher_parametersIf set to true, the parameters of the cypher would be collected.SW_PLUGIN_NEO4J_TRACE_CYPHER_PARAMETERSfalse
plugin.neo4j.cypher_parameters_max_lengthIf set to positive number, the db.cypher.parameters would be truncated to this length, otherwise it would be completely saved, which may cause performance problem.SW_PLUGIN_NEO4J_CYPHER_PARAMETERS_MAX_LENGTH512
plugin.neo4j.cypher_body_max_lengthIf set to positive number, the db.statement would be truncated to this length, otherwise it would be completely saved, which may cause performance problem.SW_PLUGIN_NEO4J_CYPHER_BODY_MAX_LENGTH2048

Dynamic Configurations

All configurations above are static, if you need to change some agent settings at runtime, please read CDS - Configuration Discovery Service document for more details.


参考官方文档:docs/en/setup/service-agent/java-agent/configurations.md

 类似资料: