陈同学
微服务
Accelerator
About
# SkyWalking 使用 MySQL Storage > [SkyWalking Backend Storage](https://github.com/apache/skywalking/blob/6.x/docs/en/setup/backend/backend-storage.md) 本文介绍 Skywalking 使用 MySQL Storage,以 `apache/skywalking-oap-server:6.5.0` Docker 镜像为例子。 SW 默认使用H2,测试环境可使用H2,生产官方推荐使用ES。如果平台流量很小,使用MySQL也是不错的选择,但是需要忽略掉一些无意义的采样如: **"健康检查"**、**"心跳"**等接口。 ## 镜像目录结构 HOME目录是 `/skywalking`,下面是主要树结构。 * 应用、预警等配置都在 config 目录下 * 各类jar包位于 oap-libs ``` $ tree . ├── config │ ├── alarm-settings-sample.yml │ ├── alarm-settings.yml │ ├── application.yml │ ├── component-libraries.yml │ ├── gateways.yml │ ├── log4j2.xml │ └── official_analysis.oal ├── docker-entrypoint.sh ├── licenses └── oap-libs ├── HdrHistogram-2.1.9.jar ``` ## 添加驱动 官方镜像中不包含MySQL驱动,自行下载并添加到 `oap-libs` 目录即可。 例如将下载的jar放到任意目录,然后拷贝到 skywalking 中,下面是示例Dockerfile: ```dockerfile FROM apache/skywalking-oap-server:6.5.0 COPY ./libs/* /skywalking/oap-libs ``` ## 通过环境变量配置MySQL 应用配置在 `application.yml` 中,文件由 `docker-entrypoint.sh` 根据环境变量动态生成。 ```bash docker run -d \ --name skywalking-oap \ -p 12800:12800 \ -p 11800:11800 \ -e TZ=Asia/Shanghai \ -e SW_STORAGE=mysql \ -e SW_JDBC_URL="jdbc:mysql://x.x.x.x:3306/sw" \ -e SW_DATA_SOURCE_USER=sw \ -e SW_DATA_SOURCE_PASSWORD=sw \ apache/skywalking-oap-server:6.5.0 ``` * SW_STORAGE:选择存储,支持 `elasticsearch h2 mysql` * SW_JDBC_URL、SW_DATA_SOURCE_USER、SW_DATA_SOURCE_PASSWORD是mysql的配置 下面是截取的 `docker-entrypoint.sh` 中部分脚本: ```bash generateApplicationYaml() { # validate validateVariables "SW_STORAGE" "$SW_STORAGE" "elasticsearch h2 mysql" # generate storage case ${SW_STORAGE} in elasticsearch) generateStorageElastisearch;; h2) generateStorageH2;; mysql) generateStorageMySQL;; esac ```
本文由
cyj
创作,可自由转载、引用,但需署名作者且注明文章出处。
文章标题:
SkyWalking 使用 MySQL Storage
文章链接:
https://chenyongjun.vip/articles/141
扫码或搜索 cyjrun 关注微信公众号, 结伴学习, 一起努力