为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Skywalking抄书笔记-配置与日志

2023-06-22 5页 doc 293KB 33阅读

用户头像 个人认证

is_859878

暂无简介

举报
Skywalking抄书笔记-配置与日志  Skywalking抄书笔记-配置与日志  内容抄书而来,感谢《ApacheSkyWalking实战》书籍作者,刚开始记录,之后会加上感悟与code,最后只会留下感悟与code:知道的都说了,随便转,随便喷,想要的你们带走,别打扰我自言自语。一、配置覆盖Skywalking(下文有时简写为SW),提供了agent.config配置文件,做为全局的配置;但是还是可以选择一些方式,覆盖binary文件中的配置信息。配置优先级如下:探针参数>系统属性>系统环境变量>配置文件探针参数:格式:-javaagent:/path/to/...
Skywalking抄书笔记-配置与日志
  Skywalking抄书笔记-配置与日志  内容抄书而来,感谢《ApacheSkyWalking实战》书籍作者,刚开始,之后会加上感悟与code,最后只会留下感悟与code:知道的都说了,随便转,随便喷,想要的你们带走,别打扰我自言自语。一、配置覆盖Skywalking(下文有时简写为SW),提供了agent.config配置文件,做为全局的配置;但是还是可以选择一些方式,覆盖binary文件中的配置信息。配置优先级如下:探针参数>系统属性>系统环境变量>配置文件探针参数:格式:-javaagent:/path/to/skywalking-agent.jar=[option1]=[value1],[option2]=[value2]应用场景:现实的场景里,我们会在各个环境中,比如生产环境,修改特定环境的配置,比如,开发人员会在开发环境设置好大部分的生产配置,而有些开发人员无法接触到的特殊生产信息,运维角色的管理员,有必要修改,比如生产部署机器的端口覆盖。系统属性格式:skywalking+agent.config中属性名应用场景:类似于探针属性,更接近开发人员的习惯,特别指定某一属性。例子:-Dskywalking.agent.service_name=sw-demo系统环境变量格式:SW有很多SW开头的系统属性配置,如下:应用场景:初始化一个环境,我们想配置一个环境,并提供一定的默认值,可以先用统一的环境初始化脚本,对环境初始化一遍。属性环境变量默认值说明agent.namespaceSW_AGENT_NAMESPACEdefault-namespace命名空间agent.service_nameSW_AGENT_NAME 服务名agent.sample_n_per_3_secsSW_AGENT_SAMPLE-1每3秒采样数量,负数表示尽可能多的采集数据agent.authenticationSW_AGENT_AUTHENTICATION 认证信息,需结合oapapplication.yaml中配置agent.span_limit_per_segmentSW_AGENT_SPAN_LIMIT300单个segment中最大spans数,sw通过这项配置预估应用内存消耗agent.ignore_suffixSW_AGENT_IGNORE_SUFFIX 需要忽略的采样数据后缀,如设置为:”.jpg,.js,.css”agent.is_open_debugging_classSW_AGENT_OPEN_DEBUGtrue启用后sw将保存instrumentedclasses到 /debugging 目录,sw团队可能会使用这个文件来解决问题agent.operation_name_thresholdSW_AGENT_OPERATION_NAME_THRESHOLD500operationName的最大长度collector.backend_serviceSW_AGENT_COLLECTOR_BACKEND_SERVICES127.0.0.1:11800OAP后端endpointlogging.file_nameSW_LOGGING_FILE_NAMEskywalking-api.log日志文件名logging.levelSW_LOGGING_LEVELDEBUG日志级别logging.dirSW_LOGGING_DIR“”日志目录logging.max_file_sizeSW_LOGGING_MAX_FILE_SIZE314572800日志文件大小,默认300Mlogging.max_history_filesSW_LOGGING_MAX_HISTORY_FILES-1最大历史日志文件数量plugin.mysql.trace_sql_parametersSW_MYSQL_TRACE_SQL_PARAMETERSfalse 二、自定义配置文件如果同一个skywalking安装实例,监控多个不同应用时,可能需要不同配置文件,我们就用上面提到的系统属性来指定特定配置文件:-Dskywalking_cofig=/path/to/cust_agent.config指定agent的配置文件,优先级会高于默认的配置文件(agent.config) 三、客户端采样为了固定设置对应用增加的负载,我们可以设置单位时间内采样的数量,这时候需要用到参数agent.sample_n_per_3_secs。代表每三秒采样的次数。例子:agent.sample_n_per_3_secs=400,代表每三秒采样400次。 四、TLSagent端采集的数据,可能会有敏感信息,所以需要加密传输到采集器中,skywalking会通过gRPCTLS来保证通信安全。其鉴权模式只支持nomutualauth。开启方法:通过SW自带脚本生成ca.crt、server.crt和server.pem开启并配置TLS:配置分agent端和服务端:agent端配置:讲ca.crt放在agent目录下的/ca目录中,ca目录需自己创建;当agent检测到/ca/ca.crt后,会自动开启TLS。服务端配置:将application.yml/core/default的TLS配置设置为如下:gRPCSslEnabled:${SW_CORE_GRPC_SSL_ENABLED:true}gRPCSslKeyPath:${SW_CORE_GRPC_SSL_KEY_PATH:"/path/to/server.prem"}gRPCSslCertChainPath:${SW_CORE_GRPC_SSL_CERT_CHAIN_PATH:"/path/to/server.crt"}gRPCSslTrustedCAPath:${SW_CORE_GRPC_SSL_TRUSTED_CA_PATH:"/path/to/ca.crt"}五、命名空间收集器以及监控阈值可能根据不同公司不同,所以需要不同的命名空间。设置配置agent.skywaling=命名空间。修改后会对header有影响,默认的header的key位sw6,修改命名空间后,header变为:namespace+-sw6 六、ApplicationTookitAPI如何在日志中打印Trace上下文:在SW子apm-application-toolkit里有如下模块: apm-toolkit-log4j-1.x    apm-toolkit-log4j-2.x    apm-toolkit-logback-1.x    apm-toolkit-meter    apm-toolkit-micrometer-registry    apm-toolkit-opentracingapm-toolkit-trace前三个就是目前支持的日志模块。友人提醒我是通过Slf4jMDC机制实现的,特别去看了下是怎么回事,果真有点意思。咱们就挑logback开始聊:如果要在应用日志中打印出trace id,要走几步:第一:引入依赖org.apache.skywalkingapm-toolkit-logback-1.x8.0.1第二:修改logback.xml,指定layout的class位SW提供的layout类型,并且在模板中增加tid的锚点。            %d{yyyy-MM-ddHH:mm:ss.SSS}[%X{tid}][%thread].....      首先这个layout类代码并不多,我们贴出来一下,SW用LogbackMDCPatternConverter类覆写了logback里的MDCConverter,成功替换了自己的实现:看看logback的PatternLayout里熟悉配方以及MDC的模板埋点: SW是如何覆写MDCConverter,看来还是有很多关子(TODO:感觉要绕到logback中): 其实我最后还有一个疑问留作TODO项,之后来解析:SW提供了两个layout类型:org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout还有一个是org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout看来一定要深入了解下logback的源码,把这个框架摸清楚。如何通过注解或SkyWalking的本地API读取/补充Trace上下文trace的跨线程传递如何使用OpeningTracingAPI 先抄书抄到这,之后继续。 -全文完-
/
本文档为【Skywalking抄书笔记-配置与日志】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索