搭建 SkyWalking 单机环境

一、Elasticsearch 搭建

1.1架构

1.2docker安装Elasticsearch(这里使用版本7.1.1)

二、部署SkyWalking-aopserver和-UI

1.1aopserver

1.2解压安装

1.3修改apache-skywalking-apm-bin/config中的application.yml

指定使用elasticsearch作为存储元

Plaintext storage: selector: ${SW_STORAGE:elasticsearch}

1.4配置告警发送到钉钉群

修改apache-skywalking-apm-bin/config中的alarm-settings.yml

使用钉钉的钩子作为通知对象并配置告警规则

Plaintext dingtalkHooks: textTemplate: |- { "msgtype": "text", "text": { "content": "Apache SkyWalking Alarm: %s." } } webhooks: - url: https://oapi.dingtalk.com/robot/send?access_token=f112fb72832eda66f3d5a453fd4a0ce980138fb94d4296edfab93f707e8af3ff

告警规则参考:

1.5启动apache-skywalking-apm-bin/bin中的startup.sh即可

启动service日志目录:apache-skywalking-apm-bin/logs/skywalking-oap-server.log

启动UI日志目录:apache-skywalking-apm-bin/logs/webapp-console.log

oapserver端口默认11800 UI默认地址http://127.0.0.1:8080

1.6启动成功示例图

三、启动数据采集服务skywalking-agent

1.1下载地址:

把该文件安装到需要采集的物理机

1.2修改启动脚本

Plaintext export SW_AGENT_NAME=raisecloud export SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 export SW_AGENT_SPAN_LIMIT=2000 export JAVA_AGENT=-javaagent:/usr/local/skywalking/skywalking-agent/skywalking-agent.jar java -jar $JAVA_AGENT -jar -Dlog4j2.formatMsgNoLookups=true /opt/raisecloud/web/web-v1.1.jar & echo $!>/opt/raisecloud/web/web.pid

SW_AGENT_NAME:可用application name

SW_AGENT_COLLECTOR_BACKEND_SERVICES: oapserver地址端口默认11800

SW_AGENT_SPAN_LIMIT:配置链路的最大 Span 数量。默认为 300

JAVA_AGENT:使用安装agent的目录

java -jar $JAVA_AGENT:后面保留原来的启动脚本就可以了

启动后可以在agent/logs目录下查看日志

日志提示 status:CONNECTED ,表示 SkyWalking Agent 连接 SkyWalking OAP 服务成功。

1.3启动成功示例图(数据采集上来需要一定时间,稍微等一会)

四、整合logback日志

1.1引入apm-toolkit-logback依赖

XML <!-- skywalking 日志记录 --> <dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-logback-1.x</artifactId> <version>8.9.0</version> </dependency>

1.2设置logback.xml

Plaintext %d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} - %msg%n <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout"> <Pattern>${PATTERN}</Pattern> </layout>

1.3启动时指定agent和backend_service,注意agent版本应该和skywalking版本一致

Plaintext -javaagent:D:\file\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_name=fuzhi_web -Dskywalking.collector.backend_service=192.168.60.20:11800

1.4判断是否添加成功

默认日志是这样

请求接口是这样

1.5在skywalking中能够搜索tid查找到这就集成好了日志收集(搜索有一定延时时间)

五、数据清理机制

配置位置/usr/local/skywalking/apache-skywalking-apm-bin/config

属性

recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:3} # Unit is day

metricsDataTTL: ${SW_CORE_METRICS_DATA_TTL:7} # Unit is day

参考文档:

六、参考文献

[如何选择APM工具.htm]

经验分享 程序员 微信小程序 职场和发展