概述
ZStack Cloud支持添加日志服务器至云平台,通过日志服务器,用户可便捷收集管理节点日志或平台操作日志,快速定位问题,提高云平台运维效率。
日志类型
ZStack Cloud支持通过日志服务器收集三种类型的日志:管理节点日志、平台操作日志以及SNAT日志。收集上述日志类型的日志服务器需要分别添加。
- 管理节点日志
- 仅admin/平台管理员可以添加管理节点日志服务器。
- 收集管理节点日志,仅支持Syslog一种日志服务器类型。服务器将通过内置的
syslog server收集管理节点日志并储存。
- 平台操作日志
- admin/平台管理员、项目成员均可以添加平台操作日志服务器。
- 项目用户添加:仅可查看本项目下各个成员的操作记录。每个项目仅可添加一台平台操作日志服务器。
- admin/平台管理员添加:可查看云平台所有用户的操作日志。
- 收集平台操作日志,支持Syslog、Elasticsearch、Forward、Kafka、Loki等日志服务器类型。
- admin/平台管理员、项目成员均可以添加平台操作日志服务器。
- SNAT日志:接收 VPC 路由器的 SNAT 转发日志,仅支持Syslog一种日志服务器类型。
准备工作
- 本教程假定用户已安装最新版本ZStack Cloud,并部署完成必要的资源。
详情可参考《用户手册》的安装部署章节。
- 本教程将从添加日志服务器的步骤开始,详细介绍日志服务器功能的使用方法。
- 用户需提前准备好日志服务器,用于储存日志信息。
典型场景实践
日志服务器接收管理节点日志
背景信息
假定某用户需要使用日志服务器收集管理节点的日志信息,用于分析云平台健康状态,可使用以下方案。
用户需要部署一套最新的ZStack Cloud环境和Syslog日志服务器。
具体流程如下:
- 在日志服务器中配置
syslog server。 - 在云平台添加日志服务器。
- 验证日志服务器。
操作步骤
-
在日志服务器中配置
syslog server。用户需提前准备好用于接收日志信息的日志服务器,并确保日志服务器中已安装
syslog server。- 在日志服务器中进行以下配置:
- 进入/etc/rsyslog.conf文件,找到以下命令行:
修改为以下内容,表示开启UDP配置:#$ModLoad imudp #$UDPServerRun 514$ModLoad imudp $UDPServerRun 514 - 新增以下命令行,表示设置日志设备类别为LOCAL1(可配置任意日志设备类别,本场景以LOCAL1为例):
local1.* /var/log/test.log - 配置完成后保存,并使用以下命令重启syslog服务:
systemctl restart rsyslog
图 1. 配置syslog server 
- 进入/etc/rsyslog.conf文件,找到以下命令行:
Note: 如在云平台添加日志服务器过程UI界面报错日志服务器不可达,则需在日志服务器执行命令行开启7/tcp端口监听Inet Address isReachable:
或执行:iptables -I INPUT -p tcp --dport 7 -j ACCEPTfirewall-cmd --zone=public --add-port=7/tcp --permanent - 在日志服务器中进行以下配置:
-
在云平台添加日志服务器。
在ZStack Cloud主菜单,点击按钮,进入日志服务器界面,点击添加日志服务器按钮,参考以下内容进行配置:
- 名称:设置日志服务器名称。命名规则:长度限制1~128字符,输入内容只能包含中文汉字、英文字母、数字、空格和以下7种英文字符
- _ . ( ) : +且不支持以空格开头或结尾 - 简介:可选项,可留空不填
- 日志类型:选择管理节点日志
- 投递目标:选择接收端类型,仅支持选择Syslog
- 地址:输入日志服务器地址,支持输入IP地址、域名或URL Pattern
- 端口:输入日志服务端口
- 协议:选择日志传输协议类型,本场景选择UDP
- 日志设备:选择日志设备类别,支持 LOCAL0~LOCAL7Note:
- 该设置需和日志服务器rsyslog.conf文件中设置的类别一致,以便云平台可以匹配该日志服务器,并向其正常发送日志信息。
- 本场景在rsyslog.conf配置的日志设备类别为LOCAL1,因此此处填写LOCAL1
- 日志级别:选择发送到日志服务器的日志级别标准,支持以下7个级别 (由低到高):ALL、TRACE、DEBUG、INFO、WARN、ERROR、FATALNote: 只有达到或高于所选级别的日志才会被发送到日志服务器,例如:
- 选择WARN,则日志服务器将接收WARN、ERROR、FATAL级别的日志。
- 选择ALL,则日志服务器将接收所有级别的日志。
图 2. 添加管理节点日志服务器 
- 名称:设置日志服务器名称。命名规则:长度限制1~128字符,输入内容只能包含中文汉字、英文字母、数字、空格和以下7种英文字符
-
验证日志服务器。
配置完成后,在日志服务器中输入以下命令,查看是否已正常获取管理节点日志:
如图 3所示:cat /var/log/test.log 如上所述,日志服务器已成功接收到管理节点日志信息,日志服务器配置生效。图 3. 获取管理节点日志 
日志服务器接收平台操作日志
背景信息
某项目用户需要使用日志服务器收集平台操作日志,用于回溯项目成员的操作记录。
假定用户配置信息如下,并希望对收集的日志做可视化分析:
| 配置项 | 配置详情 |
|---|---|
| 项目名称 | Project-1 |
| 用户名称 | User-1 |
| 日志服务器类型 | Loki |
| 日志服务器IP | 172.xx.xx.145 |
| 日志服务器端口 | 3100 |
| 可视化监控工具 | Grafana |
可采取本章介绍的方案,具体流程如下:
- 准备Loki日志服务器。
- 在云平台对接Loki日志服务器。
- 搭建Grafana并接入Loki日志服务器。
- 接收平台操作日志。
操作步骤
-
准备Loki日志服务器。
提前准备好用于接收日志信息的日志服务器,本场景准备Loki日志服务器。
-
在云平台接入日志服务器
以项目成员User-1身份登录ZStack Cloud,在主菜单点击。在日志服务器界面,点击添加日志服务器,弹出添加日志服务器界面。Note: 请确保该项目成员具有日志服务器相关操作权限。可参考以下示例输入相应内容:
- 名称:设置日志服务器名称。命名规则:长度限制1~128字符,输入内容只能包含中文汉字、英文字母、数字、空格和以下7种英文字符
- _ . ( ) : +且不支持以空格开头或结尾 - 简介:可选项,可留空不填
- 日志类型:显示平台操作日志
- 投递目标:选择接收端类型,本场景选择Loki
- 地址:输入日志服务器地址,支持输入IP地址、域名或URL Pattern。本场景输入172.xx.xx.145
- 端口:输入日志服务端口,本场景输入3100
- Labels Job:为日志添加Job标签,便于在日志服务器上快速筛选日志,本场景设置为job=project-1
- TLS:选择是否开启传输层安全协议,本场景不开启
- 用户名:输入日志服务器登录用户名。如为日志服务器设置了登录用户名和密码,请填写此项。本场景不填写
- 密码:输入日志服务器登录密码。如为日志服务器设置了登录用户名和密码,请填写此项。本场景不填写
图 4. 添加Loki日志服务器 
- 名称:设置日志服务器名称。命名规则:长度限制1~128字符,输入内容只能包含中文汉字、英文字母、数字、空格和以下7种英文字符
-
搭建Grafana并接入Loki日志服务器。
-
接收平台操作日志
在Grafana主菜单,点击探索。在探索页面上方:
- 选择刚刚对接的Loki-172.xx.xx.145日志服务器
- 设置Label filters为job=project-1
- 点击运行查询,即可查看Project-1项目的平台操作日志。
如图 7所示:图 7. 查看日志 


