0x00.前言
看到腾讯云大数据发布了「腾讯云大数据 ES Serverless 惊喜体验赢大奖」征文活动
看到采集 CVM 日志已经实现的比较完善了,并且免费体验,因此决定来尝试一下
领完 50 元的无门槛代金券后,开始上手
产品理解:ES Serverless 主要适用于针对日志环境分析,因此本文采集的就是 CVM 中的日志
提前说一下业务场景:个人 CVM 日志分析
对数据和性能要求:本文只采集 Linux 的 fail2ban 日志,数据量基本不大,性能要求接近实时查询即可
功能使用 & 发现的 bug:接下来会一步一步的介绍使用产品的过程
0x01. ES Serverless 新建
1. 创建索引采集 CVM 日志
首先「采集如下日志创建」,云服务器 CVM
未授权的需要前往授权
「同意授权」
2. 数据源
数据源类型选择「云服务器 CVM」,这里选择 cn-tx-bj1-a8,是一台 AlmaLinux 8.5
目前不支持 Windows 服务器,希望未来提供支持!
并填写采集路径,这里填写的是 fail2ban 的日志路径:/var/log/fail2ban.log
3. 采集设置
因为自己要采集的是 fail2ban 的日志,格式已经确定如下
代码语言:javascript复制2023-11-29 20:35:00,899 fail2ban.actions [1019153]: NOTICE [sshd] Unban 188.112.63.67
2023-11-29 20:35:00,908 fail2ban.actions [1019153]: NOTICE [sshd] Unban 195.178.191.4
2023-11-29 21:04:56,731 fail2ban.actions [1019153]: NOTICE [sshd] Unban 46.102.129.15
2023-11-29 21:05:44,993 fail2ban.actions [1019153]: NOTICE [sshd] Unban 101.43.93.18
2023-11-29 21:08:54,404 fail2ban.actions [1019153]: NOTICE [sshd] Unban 150.158.10.88
2023-11-29 21:56:49,277 fail2ban.actions [1019153]: NOTICE [sshd] Unban 64.227.122.198
2023-11-29 21:56:49,288 fail2ban.actions [1019153]: NOTICE [sshd] Unban 86.57.244.81
2023-11-29 21:57:31,537 fail2ban.actions [1019153]: NOTICE [sshd] Unban 202.125.94.71
2023-11-29 21:57:59,773 fail2ban.actions [1019153]: NOTICE [sshd] Unban 165.154.5.152
2023-11-29 21:58:23,821 fail2ban.actions [1019153]: NOTICE [sshd] Unban 106.12.146.210
采集设置中
- 采集策略选择「增量采集」,也就是新建完成之后的日志才会采集上
- 采集解析选择:单行
- 提取设置选择:全文日志
采集模板可以选择「一行进行输出的日志」
4. 索引设置
新建项目空间
- 索引名称:fail2ban_logs
- 可用区:北京三区
- 索引配置:时间字段可以选择下拉框中的 @timestamp
- 数据存储时长:30d
注意北京地区目前仅可选择「北京三区」~「北京七区」
图中 Kibana 公网访问 IP 需要输入自己的外网 IPv4 地址才能访问,自己的出口是 IPv6 所以获取失败了
确认创建,等待创建完成
很快资源就分配完成了
0x02. ES Serverless 使用
创建完成后有 5 个标签页可以查看
1. 基础信息
提供访问的链接
2. 检索分析
登录失败,刷新后无果,怀疑是个 bug
需要配置浏览器允许第三方 cookies,或者使用单独的 kibana 界面
这里首先配置「Kibana公网访问策略」
填入自己的 IPv4 地址
我的 IPv6 地址需要暂时禁用,否则无法登录
然后去登录单独的 kibana 界面:https://index-<rm>.kibana.qcloudes.com:5601
等到第 2 天发现内嵌的「检索分析」页面也可以正常使用了
3. 配置管理
可以修改索引配置,包括字段映射、时间字段和数据存储时长
4. 数据接入
可以重新配置数据源 & 采集配置
可以看到心跳正常,但是 ES 里却一直都没有数据,奇怪。排查中……
5. 监控告警
可以查看监控信息
0x03. Kibana 查询
查询全部文档
并且可以看出关于 /cluster 下的接口均被禁用,不对用户开放
0x04. 实时搜索
针对 Serverless 版的暂未上线
0x05.后记
最终感受:使用 ES Serverless 可以做到开箱即用,无需人工运维 ES 服务,并且无需担心资源问题,可以实现自动横向扩容
当前可以满足业务需求:目前的场景主要用于日志查询,可以聚合查询日志信息
影响业务选择的关键卡点:接入流程是否顺利(比如是否需要自建各种 beat 再发送至 ES Serverless);价格因素
期望:等待「实时搜索」上线后继续体验;支持 Windows 服务器日志的采集;ES 开放公网访问
体验中遇到两个问题
1. 第一次访问内嵌的「检索分析」页面可能会登录失败,需要先成功登录单独的 kibana 页面一次
2. 接入 CVM 采集器心跳正常,但是却没有数据采集到 ES 中
3. 自建 Filebeat 对接失败,因为 Serverless index 不支持 _ingest/pipeline 的 PUT 操作,详见续文:腾讯云大数据 ES Serverless 对接自建 Filebeat 采集 Apache logs 实战(https://cloud.tencent.com/developer/article/2366264)