TIPS
This article is based on Skywalking 6.6.0 To write , Except for the specific sections , theoretical support Skywalking 6.0+.
This paper discusses in detail Java Agent Configuration of .
Java Agent Supported configuration properties
TIPS
This form is based on Skywalking 6.6.0, Official documents can be found in :
https://github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/service-agent/java-agent/README.md
, Other version configuration items Not exactly the same , Please send the link tov6.6.0
Change it to the version you are using .
Property name | describe | The default value is |
---|---|---|
agent.namespace |
Namespace , Used to isolate cross process propagation header. If configured ,header Will be for HeaderName:Namespace . |
Not set |
agent.service_name |
stay SkyWalking UI The service name shown in .5.x The version corresponds to Application,6.x The version corresponds to Service. Suggest : Set a unique name for each service , Multiple service instances of a service have the same service name | Your_ApplicationName |
agent.sample_n_per_3_secs |
Negative or 0 It means no sampling , No sampling by default .SAMPLE_N_PER_3_SECS each 3 Second sampling N strip . | Not set |
agent.authentication |
Whether authentication is enabled depends on the configuration of the back end , You can see application.yml Detailed description of . For most scenarios , The back end needs to extend the authentication . At present, only the basic authentication function has been realized . | Not set |
agent.span_limit_per_segment |
Single segment Medium span Maximum number of . Through this configuration item ,Skywalking Assesses application memory usage . | 300 |
agent.ignore_suffix |
If this set contains the first span Operation name of , This segment Will be ignored . | Not set |
agent.is_open_debugging_class |
If true,skywalking Will take all the Scriptures Instrument The converted class file is saved to /debugging Under the folder .Skywalking The team will ask you to provide these class files to solve the compatibility problem . |
Not set |
agent.active_v2_header |
Whether to use by default v2 Version of header. | true |
agent.instance_uuid |
example id.skywalking Will give examples of id Think of the same as an example . If it is empty ,skywalking agent Will generate a 32 Bit uuid. | "" |
agent.instance_properties[key]=value |
Add custom properties of the service instance . | Not set |
agent.cause_exception_depth |
agent When the record is abnormal , The depth of the agent's entry | 5 |
agent.active_v1_header |
Whether to use by default v1 Version of header. | false |
agent.cool_down_threshold |
received reset After the command , How long should the agent wait ( In minutes ) To re register with OAP The server . | 10 |
agent.force_reconnection_period |
according to grpc_channel_check_interval Force reconnection grpc. | 1 |
agent.operation_name_threshold |
operationName Maximum length , Setting this value to > 500. | 500 |
collector.grpc_channel_check_interval |
Check grpc Of channel The time interval between States . | 30 |
collector.app_and_service_register_check_interval |
Time interval to check the registration status of applications and services . | 3 |
collector.backend_service |
receive skywalking trace Back end address of the data | 127.0.0.1:11800 |
collector.grpc_upstream_timeout |
grpc Timeout when client sends data upstream , Unit second . | 30 second |
logging.level |
The level of logging . The default is debug. | DEBUG |
logging.file_name |
Log file name | skywalking-api.log |
logging.output |
Log output , Default FILE.CONSOLE Means output to stdout. | FILE |
logging.dir |
Log directory . The default is empty string , Said the use of ”system.out” Output log . | "" |
logging.pattern |
Log format . All conversion specifiers : * %level Indicates the log level .* %timestamp It means the present time , Format yyyy-MM-dd HH:mm:ss:SSS .* %thread Represents the name of the current thread .* %msg A message .* %class Express TargetClass Of SimpleName.* %throwable Abnormal said .* %agent_name Express agent.service_name |
%level %timestamp %thread %class : %msg %throwable |
logging.max_file_size |
Maximum log file size . When the log file size exceeds this number , Archive the current log file , Write the log to a new file . | 300 * 1024 * 1024 |
logging.max_history_files |
Maximum history log file . When a flip occurs , If the log file exceeds this value , The earliest files will be deleted . By default , A negative number or zero means turn off . | -1 |
jvm.buffer_size |
collect JVM The information of buffer Size . | 60 * 10 |
buffer.channel_size |
buffer Of channel size . | 5 |
buffer.buffer_size |
buffer Size | 300 |
dictionary.service_code_buffer_size |
The buffer size of application codes and peer | 10 * 10000 |
dictionary.endpoint_name_buffer_size |
The buffer size of endpoint names and peer | 1000 * 10000 |
plugin.peer_max_length |
Peer Maximum description limit | 200 |
plugin.mongodb.trace_param |
If true, Record all visits MongoDB Parameter information of . The default is false, Indicates that only the operation name is recorded , Parameter information is not recorded . | false |
plugin.mongodb.filter_length_limit |
If you set it to a positive number ,WriteRequest.params Will be truncated to that length , Otherwise it will be completely preserved , This can cause performance problems . |
256 |
plugin.elasticsearch.trace_dsl |
If true, Record all visits ElasticSearch Of DSL Information . The default is false. | false |
plugin.springmvc.use_qualified_name_as_endpoint_name |
If true,endpoint Of name Give a fully qualified name to a method , It's not a request URL. The default is false. | false |
plugin.toolit.use_qualified_name_as_operation_name |
If true,operation Of name Give a fully qualified name to a method , Not given operation name. The default is false. | false |
plugin.mysql.trace_sql_parameters |
If set to true, Will collect sql Parameters of ( Usually it is java.sql.PreparedStatement ). |
false |
plugin.mysql.sql_parameters_max_length |
If set to a positive number ,db.sql.parameters Will be truncated to that length , Otherwise it will be completely preserved , This can cause performance problems . |
512 |
plugin.postgresql.trace_sql_parameters |
If set to true, Will collect sql Parameters of ( Usually it is java.sql.PreparedStatement ). |
false |
plugin.postgresql.sql_parameters_max_length |
If set to a positive number ,db.sql.parameters Will be truncated to that length , Otherwise it will be completely preserved , This can cause performance problems . |
512 |
plugin.solrj.trace_statement |
If true, It's in Solr All query parameters are tracked in the query request ( Include deleteByIds and deleteByQuery) | false |
plugin.solrj.trace_ops_params |
If true, Then track Solr All operation parameters in the request | false |
plugin.light4j.trace_handler_chain |
If true, Please follow up Light4J All middleware requested by / Business handler. | false |
plugin.opgroup.* |
Support the operation name to customize the rules of groups in different plug-ins . See Plug ins that support group rules | Not set |
plugin.springtransaction.simplify_transaction_definition_name |
Set to true, Simplify the transaction definition name . | false |
plugin.jdkthreading.threading_class_prefixes |
Will match the name with any THREADING_CLASS_PREFIXES ( Multiple uses , Separate ) Matching threaded classes ( java.lang.Runnable and java.util.concurrent.Callable ) And its subclasses Instrument, Make sure that only narrow prefixes are specified as you want Instrument The prefix of ( Safety considerations , java. and javax. Will be ignored ) |
Not set |
Java Agent Configuration mode
agent There are many positions in the configuration , The above changes agent.config
Value in file , It's just one of them . The following is devoted to agent Supported configuration mode .
System attribute (-D)
Use -Dskywalking.
+ agent.config In the configuration file key
that will do . for example :
agent.config
The file has an attribute named agent.service_name
, So if you use system properties , So we can write this as
1 |
java -javaagent:/opt/agent/skywalking-agent.jar -Dskywalking.agent.service_name= The value you want to set -jar somr-spring-boot.jar |
Proxy options
stay JVM After the proxy path in the parameter, add the attribute . Format :
1 |
-javaagent:/path/to/skywalking-agent.jar=[option1]=[value1],[option2]=[value2] |
for example :
1 |
java -javaagent:/opt/agent/skywalking-agent.jar=agent.service_name= The value you want to set -jar somr-spring-boot.jar |
System environment variable
agent.config
The default uppercase value in the file , Can be referenced as environment variables . for example ,agent.config
It has the following contents
1 |
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName} |
This explanation Skywalking I can read it and call it SW_AGENT_NAME
Environment variables of .
priority
Proxy options
> System attribute (-D)
> System environment variable
> The configuration file
Reference documents
https://github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/service-agent/java-agent/README.md