2019-09-04 11:24:50 +08:00
|
|
|
|
# 阿里云日志服务
|
|
|
|
|
|
2019-11-12 19:46:54 +08:00
|
|
|
|
在 `Docker 集群` 部署项目时,收集日志会是一个比较麻烦的问题,但阿里云提供了十分好用的 `日志收集系统`,本篇文档就是简略介绍一下阿里云日志收集的使用方法。
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
2019-12-12 16:41:17 +08:00
|
|
|
|
* [Docker Swarm 集群搭建](zh-cn/tutorial/docker-swarm.md)
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
|
|
|
|
## 开通日志服务
|
|
|
|
|
|
|
|
|
|
首先第一步便是在阿里云上开通 `日志服务`。
|
|
|
|
|
|
2019-09-04 14:32:56 +08:00
|
|
|
|
[日志服务文档](https://help.aliyun.com/product/28958.html)
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
|
|
|
|
以下的教程是一个顺序的操作方式,一步一步讲述如何使用日志服务。
|
|
|
|
|
|
2019-09-04 14:32:56 +08:00
|
|
|
|
## 安装 Logtail 容器
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
2019-09-04 14:32:56 +08:00
|
|
|
|
[标准 Docker 日志采集流程文档](https://help.aliyun.com/document_detail/66659.html)
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
2019-09-04 14:26:39 +08:00
|
|
|
|
| 参数 | 说明 |
|
|
|
|
|
|:-------------------------------------:|:------------------------------------------:|
|
2019-11-12 19:46:54 +08:00
|
|
|
|
| ${your_region_name} | 区域 ID 比如华东 1 区域是 cn-hangzhou |
|
|
|
|
|
| ${your_aliyun_user_id} | 用户标识,请替换为您的阿里云主账号用户 ID。 |
|
2019-09-04 14:26:39 +08:00
|
|
|
|
| ${your_machine_group_user_defined_id} | 集群的机器组自定义标识 以下使用 Hyperf |
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
docker run -d -v /:/logtail_host:ro -v /var/run/docker.sock:/var/run/docker.sock \
|
|
|
|
|
--env ALIYUN_LOGTAIL_CONFIG=/etc/ilogtail/conf/${your_region_name}/ilogtail_config.json \
|
|
|
|
|
--env ALIYUN_LOGTAIL_USER_ID=${your_aliyun_user_id} \
|
|
|
|
|
--env ALIYUN_LOGTAIL_USER_DEFINED_ID=${your_machine_group_user_defined_id} \
|
|
|
|
|
registry.cn-hangzhou.aliyuncs.com/log-service/logtail
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 配置日志收集
|
|
|
|
|
|
|
|
|
|
### 创建 Project
|
|
|
|
|
|
2019-09-04 14:32:56 +08:00
|
|
|
|
登录阿里云日志服务,点击 `创建 Project`,填写以下信息
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
|
|
|
|
| 参数 | 填写示例 |
|
|
|
|
|
|:------------:|:----------------:|
|
2019-11-12 19:46:54 +08:00
|
|
|
|
| Project 名称 | hyperf |
|
2019-09-04 11:24:50 +08:00
|
|
|
|
| 注释 | 用于日志系统演示 |
|
2019-11-12 19:46:54 +08:00
|
|
|
|
| 所属区域 | 华东 1(杭州) |
|
2019-09-04 11:24:50 +08:00
|
|
|
|
| 开通服务 | 详细日志 |
|
2019-11-12 19:46:54 +08:00
|
|
|
|
| 日志存储位置 | 当前 Project |
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
|
|
|
|
### 创建 Logstore
|
|
|
|
|
|
|
|
|
|
除以下参数,按需填写,其他都使用默认即可
|
|
|
|
|
|
2019-09-04 14:32:56 +08:00
|
|
|
|
| 参数 | 填写示例 |
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|:------------:|:---------------:|
|
2019-11-12 19:46:54 +08:00
|
|
|
|
| Logstore 名称 | hyperf-demo-api |
|
2019-09-04 14:32:56 +08:00
|
|
|
|
| 永久保存 | false |
|
|
|
|
|
| 数据保存时间 | 60 |
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
|
|
|
|
### 接入数据
|
|
|
|
|
|
2019-09-04 14:32:56 +08:00
|
|
|
|
1. 选择 Docker 文件
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
|
|
|
|
2. 创建机器组
|
|
|
|
|
|
2019-09-04 14:26:39 +08:00
|
|
|
|
如果已经创建过机器组,可以跳过这一步
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
|
|
|
|
| 参数 | 填写示例 |
|
2019-09-04 14:32:56 +08:00
|
|
|
|
|:-------------:|:-------------:|
|
|
|
|
|
| 机器组名称 | Hyperf |
|
|
|
|
|
| 机器组标识 | 用户自定义标识 |
|
|
|
|
|
| 用户自定义标识 | Hyperf |
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
|
|
|
|
3. 配置机器组
|
|
|
|
|
|
|
|
|
|
应用刚刚创建的机器组
|
|
|
|
|
|
|
|
|
|
4. 配置 Logtail
|
|
|
|
|
|
2019-09-04 14:32:56 +08:00
|
|
|
|
`Label` 白名单,这里可以按需填写,以下按照项目名字来配置,而项目名会在 Docker 容器运行时设置。
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
2019-09-04 14:26:39 +08:00
|
|
|
|
| 参数 | 填写示例 | 填写示例 |
|
|
|
|
|
|:--------------:|:-------------------------------------------------:|:---------------:|
|
|
|
|
|
| 配置名称 | hyperf-demo-api | |
|
|
|
|
|
| 日志路径 | /opt/www/runtime/logs | *.log |
|
2019-11-12 19:46:54 +08:00
|
|
|
|
| Label 白名单 | app.name | hyperf-demo-api |
|
2019-09-04 14:26:39 +08:00
|
|
|
|
| 模式 | 完整正则模式 | |
|
|
|
|
|
| 单行模式 | false | |
|
2019-10-16 16:09:07 +08:00
|
|
|
|
| 日志样例 | `[2019-03-07 11:58:57] hyperf.WARNING: xxx` | |
|
2019-09-04 14:26:39 +08:00
|
|
|
|
| 首行正则表达式 | \[\d+-\d+-\d+\s\d+:\d+:\d+\]\s.* | |
|
|
|
|
|
| 提取字段 | true | |
|
|
|
|
|
| 正则表达式 | \[(\d+-\d+-\d+\s\d+:\d+:\d+)\]\s(\w+)\.(\w+):(.*) | |
|
|
|
|
|
| 日志抽取内容 | time name level content | |
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
|
|
|
|
5. 查询分析配置
|
|
|
|
|
|
|
|
|
|
字段索引属性
|
|
|
|
|
|
|
|
|
|
| 字段名称 | 类型 | 别名 | 中文分词 | 开启统计 |
|
|
|
|
|
|:--------:|:----:|:-------:|:--------:|:--------:|
|
|
|
|
|
| name | text | name | false | true |
|
|
|
|
|
| level | text | level | false | true |
|
|
|
|
|
| time | text | time | false | false |
|
|
|
|
|
| content | text | content | true | false |
|
|
|
|
|
|
|
|
|
|
### 运行镜像
|
|
|
|
|
|
2019-09-04 14:32:56 +08:00
|
|
|
|
运行镜像时,只需要设置 Container `labels` 即可。
|
2019-09-04 11:24:50 +08:00
|
|
|
|
|
|
|
|
|
| name | value |
|
|
|
|
|
|:--------:|:---------------:|
|
|
|
|
|
| app.name | hyperf-demo-api |
|
|
|
|
|
|
2019-09-04 14:26:39 +08:00
|
|
|
|
比如以下 Dockerfile
|
|
|
|
|
|
2019-09-04 14:32:56 +08:00
|
|
|
|
```Dockerfile
|
2019-09-04 14:26:39 +08:00
|
|
|
|
# Default Dockerfile
|
|
|
|
|
|
|
|
|
|
FROM hyperf/hyperf:7.2-alpine-cli
|
|
|
|
|
LABEL maintainer="Hyperf Developers <group@hyperf.io>" version="1.0" license="MIT" app.name="hyperf-demo-api"
|
|
|
|
|
|
2019-09-04 14:32:56 +08:00
|
|
|
|
# 其它内容省略
|
2019-09-04 14:26:39 +08:00
|
|
|
|
```
|
|
|
|
|
|
2019-09-04 13:51:38 +08:00
|
|
|
|
## 注意事项
|
|
|
|
|
|
2019-09-04 14:32:56 +08:00
|
|
|
|
- Docker 存储驱动限制:目前只支持 `overlay`、`overlay2`,其他存储驱动需将日志所在目录 `mount` 到本地,然后改为收集宿主机 `~/logtail_host/your_path` 下的日志即可。
|
2019-09-04 13:51:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|