Skywalking系列博客4-Java Agent配置

TIPS

本文基于Skywalking 6.6.0編寫扭弧,除特別注明的小節(jié)外,理論支持Skywalking 6.0+记舆。

本文詳細探討Java Agent的配置鸽捻。

Java Agent支持的配置屬性

TIPS

本表格基于Skywalking 6.6.0,官方文檔詳見:https://github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/service-agent/java-agent/README.md ,其他版本配置項不完全相同御蒲,請自行將鏈接中的 v6.6.0 修改成你所使用的版本衣赶。

屬性名 描述 默認值
agent.namespace 命名空間,用于隔離跨進程傳播的header厚满。如果進行了配置府瞄,header將為HeaderName:Namespace. 未設(shè)置
agent.service_name 在SkyWalking UI中展示的服務(wù)名。5.x版本對應(yīng)Application碘箍,6.x版本對應(yīng)Service摘能。 建議:為每個服務(wù)設(shè)置個唯一的名字,服務(wù)的多個服務(wù)實例為同樣的服務(wù)名 Your_ApplicationName
agent.sample_n_per_3_secs 負數(shù)或0表示不采樣敲街,默認不采樣团搞。SAMPLE_N_PER_3_SECS表示每3秒采樣N條。 未設(shè)置
agent.authentication 鑒權(quán)是否開啟取決于后端的配置多艇,可查看application.yml的詳細描述逻恐。對于大多數(shù)的場景,需要后端對鑒權(quán)進行擴展峻黍。目前僅實現(xiàn)了基本的鑒權(quán)功能复隆。 未設(shè)置
agent.span_limit_per_segment 單個segment中的span的最大個數(shù)。通過這個配置項姆涩,Skywalking可評估應(yīng)用程序內(nèi)存使用量挽拂。 300
agent.ignore_suffix 如果這個集合中包含了第一個span的操作名,這個segment將會被忽略掉骨饿。 未設(shè)置
agent.is_open_debugging_class 如果為true亏栈,skywalking會將所有經(jīng)Instrument轉(zhuǎn)換過的類文件保存到/debugging文件夾下。Skywalking團隊會要求你提供這些類文件以解決兼容性問題宏赘。 未設(shè)置
agent.active_v2_header 是否默認使用v2版本的header绒北。 true
agent.instance_uuid 實例id。skywalking會將實例id相同的看做一個實例察署。如果為空闷游,skywalking agent會生成一個32位的uuid。 ""
agent.instance_properties[key]=value 添加服務(wù)實例的定制屬性贴汪。 未設(shè)置
agent.cause_exception_depth agent記錄的異常時脐往,代理進入的深度 5
agent.active_v1_header 是否默認使用v1版本的header。 false
agent.cool_down_threshold 收到reset命令后扳埂,代理應(yīng)等待多久(以分鐘為單位)才能重新注冊到OAP服務(wù)器业簿。 10
agent.force_reconnection_period 根據(jù)grpc_channel_check_interval強制重新連接grpc。 1
agent.operation_name_threshold operationName最大長度聂喇,不建議將此值設(shè)置為> 500辖源。 500
collector.grpc_channel_check_interval 檢查grpc的channel狀態(tài)的時間間隔。 30
collector.app_and_service_register_check_interval 檢查應(yīng)用和服務(wù)的注冊狀態(tài)的時間間隔希太。 3
collector.backend_service 接收skywalking trace數(shù)據(jù)的后端地址 127.0.0.1:11800
collector.grpc_upstream_timeout grpc客戶端向上游發(fā)送數(shù)據(jù)時的超時時間克饶,單位秒。 30
logging.level 日志級別誊辉。默認為debug矾湃。 DEBUG
logging.file_name 日志文件名 skywalking-api.log
logging.output 日志輸出,默認FILE堕澄。CONSOLE表示輸出到stdout邀跃。 FILE
logging.dir 日志目錄。默認為空串蛙紫,表示使用"system.out"輸出日志拍屑。 ""
logging.pattern 日志記錄格式。所有轉(zhuǎn)換說明符:
* %level 表示日志級別坑傅。
* %timestamp 表示現(xiàn)在的時間僵驰,格式yyyy-MM-dd HH:mm:ss:SSS
* %thread 表示當前線程的名稱唁毒。
* %msg 表示消息蒜茴。
* %class 表示TargetClass的SimpleName。
* %throwable 表示異常浆西。
* %agent_name 表示agent.service_name
%level %timestamp %thread %class : %msg %throwable
logging.max_file_size 日志文件的最大大小粉私。當日志文件大小超過這個數(shù),歸檔當前的日志文件近零,將日志寫入到新文件诺核。 300 * 1024 * 1024
logging.max_history_files 最大歷史記錄日志文件。發(fā)生翻轉(zhuǎn)時久信,如果日志文件超過此值猪瞬,則最早的文件將被刪除。默認情況下入篮,負數(shù)或零表示關(guān)閉陈瘦。 -1
jvm.buffer_size 收集JVM信息的buffer的大小。 60 * 10
buffer.channel_size buffer的channel大小潮售。 5
buffer.buffer_size buffer的大小 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最大描述限制 200
plugin.mongodb.trace_param 如果為true痊项,記錄所有訪問MongoDB的參數(shù)信息。默認為false酥诽,表示僅記錄操作名鞍泉,不記錄參數(shù)信息。 false
plugin.mongodb.filter_length_limit 如果設(shè)為正數(shù)肮帐,WriteRequest.params 將被截斷為該長度咖驮,否則將被完全保存边器,這可能會導(dǎo)致性能問題。 256
plugin.elasticsearch.trace_dsl 如果為true托修,記錄所有訪問ElasticSearch的DSL信息忘巧。默認為false。 false
plugin.springmvc.use_qualified_name_as_endpoint_name 如果為true睦刃,endpoint的name為方法的全限定名砚嘴,而不是請求的URL。默認為false涩拙。 false
plugin.toolit.use_qualified_name_as_operation_name 如果為true际长,operation的name為方法的全限定名,而不是給定的operation name兴泥。默認為false工育。 false
plugin.mysql.trace_sql_parameters 如果設(shè)置為true,則將收集sql的參數(shù)(通常為java.sql.PreparedStatement)搓彻。 false
plugin.mysql.sql_parameters_max_length 如果設(shè)置為正數(shù)翅娶,db.sql.parameters 將被截斷為該長度,否則將被完全保存好唯,這可能會導(dǎo)致性能問題竭沫。 512
plugin.postgresql.trace_sql_parameters 如果設(shè)置為true,則將收集sql的參數(shù)(通常為java.sql.PreparedStatement)骑篙。 false
plugin.postgresql.sql_parameters_max_length 如果設(shè)置為正數(shù)蜕提,db.sql.parameters 將被截斷為該長度,否則將被完全保存靶端,這可能會導(dǎo)致性能問題谎势。 512
plugin.solrj.trace_statement 如果為true,則在Solr查詢請求中跟蹤所有查詢參數(shù)(包括deleteByIds和deleteByQuery) false
plugin.solrj.trace_ops_params 如果為true杨名,則跟蹤Solr請求中的所有操作參數(shù) false
plugin.light4j.trace_handler_chain 如果為true脏榆,請跟蹤Light4J的請求的所有中間件/業(yè)務(wù)handler。 false
plugin.opgroup.* 支持操作名稱自定義不同插件中的組的規(guī)則台谍。詳見 支持組規(guī)則的插件 未設(shè)置
plugin.springtransaction.simplify_transaction_definition_name 設(shè)為true须喂,則簡化事務(wù)定義名稱。 false
plugin.jdkthreading.threading_class_prefixes 將對名稱與任意一個 THREADING_CLASS_PREFIXES (多個使用 , 分隔)匹配的線程化類( java.lang.Runnablejava.util.concurrent.Callable )及其子類進行 Instrument趁蕊,請確保僅將窄前綴指定為您希望Instrument的前綴(安全考慮坞生, java.javax. 將被忽略) 未設(shè)置

Java Agent配置方式

agent配置有多種姿勢,上面修改 agent.config 文件中的值掷伙,只是其中一種是己。下面專門探討agent支持的配置方式。

系統(tǒng)屬性(-D)

使用 -Dskywalking. + agent.config配置文件中的key 即可任柜。例如:

agent.config 文件中有一個屬性名為 agent.service_name 卒废,那么如果使用系統(tǒng)屬性的方式沛厨,則可以寫成

java -javaagent:/opt/agent/skywalking-agent.jar -Dskywalking.agent.service_name=你想設(shè)置的值 -jar somr-spring-boot.jar

代理選項

在JVM參數(shù)中的代理路徑之后添加屬性即可。格式:

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

例如:

java -javaagent:/opt/agent/skywalking-agent.jar=agent.service_name=你想設(shè)置的值 -jar somr-spring-boot.jar

系統(tǒng)環(huán)境變量

agent.config 文件中默認的大寫值摔认,都可以作為環(huán)境變量引用逆皮。例如,agent.config 中有如下內(nèi)容

agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}

這說明Skywalking會讀取名為 SW_AGENT_NAME 的環(huán)境變量级野。

優(yōu)先級

代理選項 > 系統(tǒng)屬性(-D) > 系統(tǒng)環(huán)境變量 > 配置文件

參考文檔

https://github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/service-agent/java-agent/README.md

本文首發(fā)

http://www.itmuch.com/skywalking/java-agent-config/

本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末粹胯,一起剝皮案震驚了整個濱河市蓖柔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌风纠,老刑警劉巖况鸣,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異竹观,居然都是意外死亡镐捧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門臭增,熙熙樓的掌柜王于貴愁眉苦臉地迎上來懂酱,“玉大人,你說我怎么就攤上這事誊抛×形” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵拗窃,是天一觀的道長瞎领。 經(jīng)常有香客問我,道長随夸,這世上最難降的妖魔是什么九默? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮宾毒,結(jié)果婚禮上驼修,老公的妹妹穿的比我還像新娘。我一直安慰自己诈铛,他們只是感情好邪锌,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著癌瘾,像睡著了一般觅丰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上妨退,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天妇萄,我揣著相機與錄音蜕企,去河邊找鬼。 笑死冠句,一個胖子當著我的面吹牛轻掩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播懦底,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼唇牧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了聚唐?” 一聲冷哼從身側(cè)響起丐重,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎杆查,沒想到半個月后扮惦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡亲桦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年崖蜜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片客峭。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡豫领,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出舔琅,到底是詐尸還是另有隱情氏堤,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布搏明,位于F島的核電站鼠锈,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏星著。R本人自食惡果不足惜购笆,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望虚循。 院中可真熱鬧同欠,春花似錦、人聲如沸横缔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茎刚。三九已至襟锐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間膛锭,已是汗流浹背粮坞。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工蚊荣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人互例。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓筝闹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親关顷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354