01-正文
本章节下载 (2.35 MB)
目 录
日志服务提供日志实时采集、实时查询、智能分析与可视化、转储等功能,使用户无需开发就可以利用日志做实时决策分析,提升日志处理效率,帮助用户轻松应对日志实时采集、查询分析等日常运营、运维场景。
日志服务实例部署在容器上,通过Beats等主流采集方式对日志进行采集、解析处理后将日志数据存入Elasticsearch搜索引擎,并提供丰富的日志查询、日志数据可视化、告警、日志转存等功能。
图1-1 日志服务架构
· 方便快捷
提供可视化的管理界面,并提供向导式的日志接入流程,您可以在管理平台创建不同类型的日志接入任务。
· 强大的检索功能
提供对原始日志文本或者解析后的结构化文本进行精确检索、通配符检索、全文检索。
· 可视化
通过仪表盘实现日志数据的可视化,更直观反映日志数据背后的逻辑。
· 支持多种日志采集
支持对文本日志、容器日志、SYSLOG、网络日志、MySQL binlog等类型的日志采集。
· 日志告警
支持对采集日志的字段统计告警、事件数告警和自定义sql告警。触发告警后可通过短信、邮件等方式通知用户。
· 日志解析
支持Grok、KV、分隔符、JSON等多种解析规则,方便用户提取日志中的关键信息进行结构化处理。
· 日志转储
将日志转存到存储容量更大、价格更低的存储介质中如对象存储,日志可以保存更长时间。
· 问题诊断
通过查看日志信息,定位程序中相应的问题,找到解决问题的办法。
· 服务诊断
通过对日志信息进行统计、分析,了解服务器的负荷和服务的运行状态。
· 数据分析
通过Agent实时收集系统产生的事件,如点击、访问等,用于分析用户的喜好等。
· 日志审计
通过集中采集系统中的系统安全事件、用户访问记录、系统运行日志、系统运行状态等各类信息,经过规范化、过滤、归并和告警分析等处理后,以统一格式的日志形式进行集中存储和管理,用于分析用户行为。
本章内容主要指导用户进行日志服务实例创建和日志接入。
在云服务部署完成且相关资源配置完成后,可新建日志服务实例。新建日志服务实例的步骤详情可参见产品安装部署手册或在线联机帮助。
本文档内容将以日志服务实例已创建成功为前提,介绍如何进行状态检查和实例的基本操作等。
· 当前版本中,日志服务实例依赖的Kafka、Elasticsearch集群支持部署在虚拟机和裸金属上,日志服务实例支持部署在容器集群中,包括共享集群和独享集群,其中共享集群为平台的容器可用域,独享集群为云容器引擎集群。
· 关于日志服务的部署流程以及部署过程中相关的参数说明等,详情请参见产品安装部署手册。
· 每一个采集任务都会在任务执行节点上启动两个Logstash进程,每一个Logstash进程最少需要4G内存,因此需保证任务执行节点的内存满足运行条件。建议任务执行节点的规格为8核CPU*16GB内存或以上。
· 新增代理或任务执行节点之前需要关闭这些主机的防火墙,且在使用过程中不能再开启防火墙。
任务执行节点(即Logstash节点)根据用户配置的解析规则将采集的日志解析为结构化的数据,然后将解析后的数据存入Elasticsearch。
· 目前仅支持添加Linux类型的云主机作为任务执行节点。
· 建议使用root用户,若以非root用户加入则需要保证该用户对日志文件以及日志文件所在目录拥有权限。
新增任务执行节点的操作步骤如下:
(1) 在顶部导航栏中选择[云服务/日志服务],进入实例列表页面。
(2) 单击实例名称,可进入该实例的日志管理页面。
(3) 在左侧子导航树中单击[数据接入]菜单项,在下方任务执行节点区域,单击<新增>,弹出新增任务执行节点窗口。
(4) 配置参数,填写主机IP地址、操作系统、用户名、密码、(采集程序)安装路径、主机描述等信息。完成后单击<测试连接>按钮,测试通过后方可点击<确定>按钮,完成新增。
图2-1 数据接入页面
图2-2 配置任务执行节点
代理节点是指被采集日志文件的宿主机。代理节点只有在Filebeat 采集类型任务时使用,采集其他类型日志时不添加代理节点。
· 目前仅支持添加Linux类型的云主机作为代理节点。
· 建议使用root用户,若以非root用户加入则需要保证该用户对日志文件以及日志文件所在目录拥有权限。
新增代理节点的操作步骤如下:
(1) 单击日志服务实例名称,可进入该实例的日志管理页面。
(2) 单击左侧子导航树中的[代理]菜单项,可以进入代理页面。
(3) 单击<新增>按钮,弹出新增主机代理窗口。
(4) 填写参数,填写主机IP地址、操作系统、用户名、密码、(代理)安装路径、主机描述等信息。完成后单击<测试连接>按钮,测试通过后方可点击<确定>按钮,即可完成新增。
图2-3 新增代理节点
日志集是用户管理日志的基本单位,将不同采集任务采集到的日志数据汇总到同一个日志集中。日志集中还包含日志导入导出的功能。
(1) 单击日志服务实例名称,可进入该实例的日志管理页面。
(2) 单击页面左侧“+”,弹出创建日志集的窗口。
图2-4 创建日志集
(3) 参数配置完成后,单击<确定>按钮,即可创建成功。
图2-5 配置日志集
索引数据超过设定的热数据保存时间后,会先变成冷数据,如果再次超过设定的冷数据保存时间后,则会从Elasticsearch中被清除。
· 热数据保存时间支持1~30天,冷数据保存时间支持1~180天。
· 在热数据保存周期内的数据,可以在全文检索中快速的被查询。
· 变成冷数据的数据(即索引被关闭),无法被全文检索查询。
索引设置主要针对Elasticsearch中索引信息的设置,分片以及副本的设置对Elasticsearch的搜索性能影响较大,建议每个分片数据大小为30G~50G,因此对于分片以及副本的设置应遵循以下计算方法:
· 分片数=总日志量/每分片大小
· 副本数量至少为1
· 建议分片数和副本数之和,等于Elasticsearch数据节点个数或者是数据节点个数的整数倍
解析规则用于解析采集到的数据,提取日志中有用信息并赋予相应的属性,使其转变成格式化的数据,方便用户进行检索统计与可视化的操作。本系统默认配置解析规则,可进入解析规则页面,是否默认一列值为“是”的解析规则,即为系统配置的规则;单击操作列的<查看>按钮,即可查看解析规则。如果不能满足实际解析需求,可自行创建解析规则。
(1) 单击日志服务实例名称,进入该实例的日志管理页面。
(2) 单击左侧子导航树的[采集配置]菜单,默认进入解析规则列表页面。
(3) 单击<新建>按钮,进入新建解析规则页面,可以选择已有规则进行修改,也可以选择空文档新建规则。
图2-6 创建解析规则
(4) 按照配置向导完成创建操作,创建成功的解析规则将显示在解析规则列表中。可参见创建正则解析规则,了解新建正则解析规则最佳实践,
数据采集主要支持SYSLOG、BEATS、LOGSTASH、DATABASE等日志类型。
进入日志服务实例,在左侧日志集树状菜单中的某个日志集下,将鼠标悬停在[数据采集]菜单,单击右侧加号“+”按钮,在弹出的数据采集窗口选择采集日志类型(即数据源类型)。
图2-7 数据源类型
接入遵循SYSLOG规范的数据,用于支持日志集功能的搜索分析。SYSLOG是一种日志标准,主流设备厂商、甚至一些业务系统都会遵循此规范来产生日志。根据设备类型选择新建对应的采集任务,或选择“自定义”新建未适配过的SYSLOG采集任务。
· 当前仅支持Linux系统日志采集。
· 在成功新增SYSLOG类型数据采集后,需要到[采集配置]页面的“采集器下载”页签,下载syslog配置脚本,然后到主机上执行该脚本。
表2-1 SYSLOG采集参数说明
参数 |
说明 |
|
采集配置 |
源IP地址 |
syslog日志的来源IP,即网络设备IP,可以直接输入设备IP地址 |
解析配置 |
解析规则 |
根据选择的设备日志类型,选择对应的解析规则;如果“自定义”syslog采集任务,需要先创建解析规则,然后在配置syslog任务的时候手动选择合适的解析规则 |
运行主机 |
从下拉列表中,指定采集程序运行的主机(即任务执行节点),可以从[数据接入]页面进行添加 |
|
存储配置 |
索引模板 |
自定义索引模板名称。 |
索引生成周期 |
通过下拉框选择索引生成周期。 |
|
完成 |
任务名称 |
描述该采集任务的名称,20个字符以内 |
syslog配置脚本下载和执行。
(1) 单击左侧子导航树[采集配置]菜单,在对应页面选择“采集器下载”页签。
(2) 在syslog配置脚本下载区域,单击选择操作系统;支持Ubuntu和CentOS两种系统,操作基本一致。本例选择CentOS。
(3) 在弹出的配置脚本窗口,配置日志接收IP地址和端口号,其中IP地址填写接收日志的任务执行节点的主机IP,端口号固定为514;单击<下载>,得到centosSyslogConf.sh脚本(Ubuntu系统为ubuntuSyslogConf.sh)。
(4) 在主机上执行syslog配置脚本。启动rsyslog服务,并检查脚本配置写入文件成功:
a. 将centosSyslogConf.sh脚本上传到需要被监控的CentOS系统的任意目录,执行如下命令运行脚本:
sh centosSyslogConf.sh
b. 执行如下命令检查rsyslog服务是否在运行,如图2-8所示。
systemctl status rsyslog.service
图2-8 rsyslog服务状态检查
c. 检查主机上以下路径的文件/etc/rsyslog.d/ldp_syslog_collect.conf,如果步骤(3)IP地址和端口号已经写入该文件,则该脚本在主机上执行成功,否则执行失败。
通过主流采集工具Elastic beats获取宿主机数据。Beats由于其功能强大,侵入性小而被众多厂商使用,本系统也支持通过Beats工具采集宿主机数据。
配置方式可参见最佳实践-配置Filebeat采集。
在成功新增Winlogbeat类型数据采集后,需要到[采集配置]页面的“采集器下载”页签,下载windows事件采集器文件包,然后到主机上执行脚本命令。
表2-2 Winlogbeat采集参数说明
参数 |
说明 |
|
采集配置 |
运行主机 |
采集程序运行主机,即任务执行节点。需要选用Winlogbeat配置的日志接收主机 |
接收端口 |
· 采集程序接收数据的端口,端口号输入0~65535之间的数字,注意避免端口冲突 · 需要和Winlogbeat的发送端口一致 |
|
解析配置 |
解析规则 |
选择合适的解析规则,如果没有需手动创建,默认为不解析 |
存储配置 |
索引模板 |
自定义索引模板名称。 |
索引生成周期 |
通过下拉框选择索引生成周期。 |
|
完成 |
任务名称 |
描述该采集任务,20个字符以内 |
日志类型 |
单击下拉框,可以选择采集任务对应的日志类别 |
windows事件采集器下载和执行。
(1) 单击左侧导航树[采集配置]菜单,在对应页面选择“采集器下载”页签。
(2) 在windows事件采集器下载区域,单击<Win_64>。
(3) 弹出Win事件采集器参数配置界面。输入日志接收IP地址和端口号,勾选需要监控的事件,单击<下载>按钮,得到winlogbeat-5.4.1-windows-x86.zip压缩包。
(4) 将winlogbeat-5.4.1-windows-x86.zip压缩包上传到需要被监控的Windows系统的任意目录,解压压缩包生成winlogbeat-5.4.1-windows-x86文件夹,文件夹包含:
¡ install-service-winlogbeat.ps1
¡ README.txt
¡ uninstall-service-winlogbeat.ps1
¡ winlogbeat.exe
¡ winlogbeat.full.yml
¡ winlogbeat.yml
(5) 启动winlogbeat服务
a. 以管理员身份运行cmd命令行并进入winlogbeat-5.4.1-windows-x86目录,执行以下命令,安装winlogbeat:
PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-winlogbeat.ps1
b. 执行以下命令,启动winlogbeat服务:
PowerShell.exe Start-Service winlogbeat
配置方式可参见最佳实践-配置Filebeat容器采集。
通过Logstash工具接入并处理数据。Logstash作为一款灵活性强的解析工具,对接方式多,稳定性好,被众多厂商使用。系统可以使用Logstash接入内外部数据并解析存储。
表2-3 Beats采集/UDP采集参数说明
参数 |
说明 |
|
采集配置 |
运行主机 |
采集程序运行主机,即任务执行节点。可以通过[数据接入]页面进行添加 |
监听端口 |
用于监听并接收Beats/UDP数据的主机端口 |
|
解析配置 |
解析规则 |
选择所需的解析规则,如果没有可手动创建 |
存储配置 |
索引模板 |
自定义索引模板名称。 |
索引生成周期 |
通过下拉框选择索引生成周期。 |
|
完成 |
任务名称 |
描述该采集任务,20个字符以内 |
针对数据库类型的操作日志信息采集。当前仅支持MySQL binlog日志信息采集,且数据库必须已开启binlog服务。
表2-4 MySQL binlog采集参数说明
参数 |
说明 |
|
采集配置 |
运行主机 |
采集程序运行主机,即任务执行节点;可以通过[数据接入]页面进行添加 |
数据库IP地址 |
MySQL数据库IP地址 |
|
数据库端口 |
MySQL数据库端口 |
|
数据库用户名 |
MySQL数据库用户名 |
|
数据库密码 |
MySQL数据库密码 |
|
解析配置 |
解析规则 |
选择所需的解析规则,如果没有可手动创建 |
存储配置 |
索引模板 |
自定义索引模板名称。 |
索引生成周期 |
通过下拉框选择索引生成周期。 |
|
完成 |
任务名称 |
描述该采集任务,20个字符以内 |
日志类型 |
被采集设备日志分类 |
· 在生产环境中,删除日志集功能为高危操作(将删除该日志集下所有数据、采集任务等),不可回退或暂停,请谨慎使用。
· 当日志服务实例中有日志集时,删除实例后实例中的所有日志集将被同步删除。
· 在生产环境中,清除日志集数据功能为高危操作(将清除该日志集下所有数据),不可回退或暂停,请谨慎使用。
本系统中没有日志集列表页面,多个日志集以树状菜单的形式展示。在日志集树状菜单上,可看到日志集内有[数据采集]、[数据导入导出]、[仪表盘]等子菜单,可进行数据采集配置、数据导入导出、数据可视化等操作。可对某个日志集执行清除数据、编辑、删除等相关操作,具体步骤如下:
(1) 在顶部导航栏中选择[云服务/日志服务],进入实例列表页面。
(2) 单击实例名称,可进入该实例的日志管理页面。
(3) 将鼠标悬停在左侧日志集树状菜单中的某一日志集上,右侧显示三个按钮:
,分别代表清除日志集数据、编辑日志集和删除日志集操作。
用户可查看日志集关联的数据采集(任务)列表信息,并在数据采集列表页面执行数据采集相关操作。操作步骤如下:
(1) 在日志服务实例列表页面,单击实例名称,可进入该实例的日志管理页面。
(2) 在左侧日志集树状菜单下的某个日志集下,单击<数据采集>,页面即可展示该日志集下的数据采集任务。部分参数说明如下:
¡ 名称:数据采集任务的名称。
¡ 状态:数据采集任务的状态。
¡ 操作:支持对数据采集执行停止、删除、查看、编辑等操作。
图3-1 数据采集列表
日志服务采集到日志数据后,支持将日志数据投递至对象存储中进行存储,此为数据导出操作;还可以将对象存储中已导出的日志数据,重新导入日志服务,便于对历史数据进行检索,此为数据导入。
单击某个日志集下的[数据导入导出]菜单,进入[数据导入导出]页面。通过“数据导出”和“数据导入”页签,可进入数据导出和数据导入管理页面,新增数据导出或数据导入,或通过操作列执行停用、启用、删除等操作。
· 执行数据导出,请确保已创建日志集,且对象存储服务中已创建对象存储容器。
· 执行数据导入,请确保已创建了日志集,且对象存储服务中已有导入的日志数据。
· 在生产环境中,停用数据导出任务为高危操作(转储任务不支持断点续传,停止数据导出任务会导致转储数据不完整),不可回退或暂停,请谨慎使用。
· 在生产环境中,删除数据导出任务为高危操作(转储任务不支持断点续传,删除数据导出任务会导致转储数据不完整),不可回退或暂停,请谨慎使用。
图3-2 数据导入导出管理页面
图3-3 新增数据导出
仪表盘是进入Kibana页面的入口,实现日志数据的可视化。本系统支持用户通过仪表盘查看日志集的可视化数据。单击子导航树[仪表盘]菜单进入Kibana页面。
Kibana的介绍及功能请参见Kibana的官方帮助文档。
在日志服务实例内部的[采集配置]页面,选择“解析规则”、“解析规则组”和“采集器下载”页签,分别进入相应的页面,执行解析规则、解析规则组相关操作和采集器下载操作。具体使用指导和操作步骤可参考产品在线联机帮助。
图3-4 采集配置页面
· 在成功新增SYSLOG类型数据采集后,需要到[采集配置]页面的“采集器下载”页签,下载syslog配置脚本,然后到主机上执行该脚本。操作步骤可参见后续操作。
· 在成功新增Winlogbeat类型数据采集后,需要到[采集配置]页面的“采集器下载”页签,下载windows事件采集器文件包,然后到主机上执行脚本命令。操作步骤可参见后续操作。
在数据接入页面,可以查看数据源类型、所有数据采集任务列表信息,以及任务执行节点列表信息。
进入日志服务实例的日志管理页面,单击左侧子导航树的[数据接入]菜单,进入数据接入页面。
图3-5 数据接入页面
· 查看该日志服务实例内已存在的数据源类型(即日志采集类型)和该类型个数;
· 查看(数据)采集任务列表;列参数说明如下:
¡ 名称:采集任务名称。
¡ 创建时间:采集任务创建时间。
¡ 状态:采集任务状态。
¡ 数据源名称:采集日志类型,即数据源类型。
¡ 操作:可对该采集任务执行停止、删除、查看、编辑、查看采集任务详情和查看采集pod详情操作。
查看任务执行节点列表;列参数说明如下:
· IP:任务执行节点的IP地址。
· 操作系统:代理机器的操作系统。
· 系统用户:该任务执行节点的操作系统用户。
· CPU使用率:当前该任务执行节点CPU使用率。
· 内存使用率:当前该任务执行节点内存使用率。
· 代理状态:被采集日志的代理主机的状态。
· 采集任务状态:该任务执行节点执行采集任务的状态。
· 安装路径:采集程序在任务执行节点上的安装路径。
· 操作:可对该采集任务执行删除、编辑、升级、查看采集任务详情等操作。已升级的代理在操作列中不会展示升级按钮。
代理主要是指被采集日志文件的宿主机。代理页面展示已部署了代理的远程主机节点。查看代理节点列表的操作步骤如下:
(1) 在日志服务实例的日志管理页面,单击左侧子导航树的[代理]菜单,可以进入[代理]页面。下面介绍页面操作按钮和代理主机列表参数说明。
¡ 新增:单击<新增>按钮,执行新增代理主机。
¡ 下载模板:单击<下载模板>按钮,下载并填写模板;便于批量导入代理主机。
¡ 导入:单击<导入>按钮,在弹出窗口中选择完成的模板文件,单击<打开>按钮,即可完成导入。
¡ IP:代理主机的IP地址。
¡ 操作系统:代理主机的操作系统。
¡ 系统用户:代理主机的操作系统用户。
¡ 代理状态:代理主机自身的状态。
¡ 采集任务状态:该代理主机上采集任务的状态。
¡ 安装路径:显示代理主机上代理的安装路径。
¡ 操作:可进行删除、编辑、升级、查看采集任务详情等操作。已升级的代理在操作列中不会展示升级按钮。
图3-6 代理节点列表
全文检索使用最佳实践,请参见全文检索。
可将某次全文检索另存为快速检索,通过执行快速检索,系统按照保存的搜索条件查询分析日志。
进入日志服务实例的日志管理页面,单击左侧子导航树中的[快速检索]菜单,可以进入[快速检索]页面。单击快速检索记录操作列的<检索>按钮,页面会跳转到[全文搜索]界面,并自动填充已保存的快速搜索条件,快速执行检索分析。
表3-1 快速检索页面
用户可在日志服务实例中的告警列表页面创建和管理告警规则,及时接收日志数据告警。
新建告警规则包含三种规则,主要针对Elasticsearch中的数据进行查询,满足一定阈值后进行告警。
· 事件数告警:用户根据关键字在日志集进行数据搜索,满足条件的一条数据即认为是一个事件。
· 字段统计告警:与事件数类似,在搜索条件的基础上,对某个数值类型的字段进行平均值,最大最小值等统计,满足阈值则告警。
· sql告警:使用essql,用户可直接根据业务需要编写sql对需要的字段进行统计查询,满足阈值则告警。
操作步骤如下:
(1) 在日志服务列表页面,单击实例名称,可进入该实例的日志管理页面。
(2) 单击左侧子导航树中的[告警列表]菜单,进入[告警列表]页面。
(3) 单击<新增规则>按钮,根据选择的规则类别,完善配置信息,各参数项参见下表。
参数项 |
说明 |
规则名称 |
告警规则名称 |
规则类别 |
告警规则分类,目前有三种:事件数告警、字段统计告警、sql告警 |
日志集 |
[日志管理]页面中创建的日志集 |
搜索内容 |
用户需要查询的关键字 |
触发条件 |
条件 · 当告警规则类别选择字段统计告警时,触发条件是指在设置的一定时间范围内,按照搜索内容进行搜索,搜索结果按照条件的字段名进行取相应值(平均值,最大最小值,求和),该值大于或小于设置的阈值即触发对应的告警。 ¡ 【注意】触发条件中的参数“字段名”必须是数字类型。该字段名的数据类型可在[日志管理/全文检索]页面的左侧查看。 · 当告警规则类别选择SQL告警时,触发条件是指在设置的一定时间范围内,按照SQL进行查询,查询结果中字段名对应的数值大于或小于设置的阈值即触发对应的告警。 ¡ 【注意】触发条件中的参数“字段名”为sql语句中查询出的数字类型的字段名,或者是使用avg、max等聚合函数计算后的字段别名。 · 当告警规则类别选择事件数告警时,触发条件是指在设置的一定时间范围内,按照搜索内容进行搜索,当结果数大于或小于设置的阈值即触发对应级别的告警。 ¡ 【注意】结果中的每一条数据都是一个事件。 触发告警级别:包括:通知、警告、次要、重要、紧急。 |
SQL查询 |
类别为SQL告警时,输入的SQL语句。单击<测试SQL>按钮,可以验证SQL语法的正确性 |
检测频率 |
定时任务查询告警的执行频率 |
时间范围 |
告警规则的有效起止时间 |
抑制次数 |
告警抑制功能,当同样的告警在抑制时长内达到抑制次数的时候,停止产生告警 |
抑制时长 |
告警抑制功能的抑制时长 |
告警通知 |
· 邮件通知:告警发生时接收告警通知的邮箱 · 短信通知:告警发生时接收告警通知的手机号 |
(4) 单击<确定>,添加完成后,告警规则会出现在列表中并生效。
在告警列表页面可查看告警信息和管理告警规则。
进入[告警列表]页面,部分列参数说明如下:
· 告警次数:数字代表该条告警规则产生的告警次数。单击数值,可以查看具体各条告警的告警日期和告警值。
· 状态:灰色停用时,代表告警规则没有启用;绿色执行中,代表告警规则正在启用中。
· 抑制次数:当前该条告警规则已经产生的告警抑制次数。
· 操作:可对告警规则执行停用、启用、编辑、删除等操作。
当日志服务自身出现异常时,如采集任务、代理心跳、数据导出功能异常,会自动向云平台告警,用户可在[系统/告警中心]查看具体告警信息。
(1) 单击顶部导航栏[系统]菜单项,进入系统信息页面。
(2) 单击左侧导航树[告警中心/告警列表],进入告警列表页面,查看告警信息,信息说明参见表3-2。
当日志服务的告警信息发送至云平台告警中心后,系统会自动持续检测异常问题,并刷新该条告警信息。当异常问题恢复后,该告警信息将会从告警列表消失。
告警名称 |
说明 |
日志服务实例中Kafka/Elasticsearch集群异常 |
当日志实例依赖的Kafka或者是Elasticsearch有异常时,会有告警信息推送至告警中心。 |
采集任务异常 |
当采集任务中使用到的代理、任务执行节点中的file beat或者是Logstash出现异常时,会向云平台发送告警。 |
日志服务代理心跳丢失 |
当代理或者是任务执行节点心跳丢失时,会向云平台发送告警信息。 |
日志服务采集任务输入日志与输出日志总数不一致 |
当任务执行节点中Logstash组件,接收到的日志总数与存储到Elasticsearch中的日志总数不同时,会向云平台发送告警。 |
日志服务实例数据导出到的存储桶空间不足 |
当数据导出任务使用到的存储桶空间不足时,会向云平台发送告警信息。 |
日志服务数据导出任务异常 |
当数据导出任务出现上传到存储桶失败,或者是其他异常导致转储失败时,会向云平台发送告警信息。 |
日志管理主要是对日志服务本身的运行日志及代理日志的收集并下载,供用户使用,提高快速定位异常问题的效率。在[日志管理]页面可收集运行日志、代理日志。本节仅支持系统管理员操作。
运行日志以天为单位进行收集和下载,当某天没有产生日志信息时,下载成功后解压没有该天的日志文件信息。
在服务运行过程中,若遇到异常或其他情况,可查看运行日志信息以便定位异常。
(1) 在日志管理页面,选择<运行日志收集>,弹出运行日志收集窗口。
(2) 在弹窗中输入SSH端口信息和root密码后,单击<测试远程连接>按钮,返回远程连接校验结果。
(3) 显示运行日志收集条件。部分参数说明如下:
¡ 远程连接信息
- SSH端口:云平台远程SSH连接端口。
- root密码:root用户的远程登录密码。
¡ 日志收集类型
- 实例日志:日志服务实例相关的运行日志,默认选中不可修改。
- 服务日志:日志服务本身运行的日志,默认选中不可修改。
¡ 日志收集时间:日志产生的时间范围,默认选择前一天和当天的时间,最大范围30天。
(4) 相关信息配置完成后,单击<确定>按钮,即可开始运行日志收集并下载日志压缩文件。
代理日志,包括任务执行节点和代理节点的运行日志。
在任务执行节点或代理节点使用过程中,若出现节点运行异常或其他情况,可查看节点的日志信息以便定位异常。
仅支持下载节点为“正常”状态的代理日志信息。
(1) 在日志管理页面,选择<代理日志收集>,弹出代理日志收集窗口。
(2) 选择需要下载日志信息的任务执行节点或代理节点的IP地址,会查询当前节点信息并展示在下方列表中,部分参数说明如下:
¡ IP:任务执行节点或代理节点的IP地址。
¡ 代理状态:任务执行节点或代理节点的状态,如正常、异常等。
¡ 类型:节点的类型,代理或任务执行节点。
(3) 当节点状态为“正常”时,单击列表操作列的<下载>按钮,即可开始代理日志收集并下载日志压缩文件。
本节以正则解析规则为例,介绍如何基于空文档,创建正则解析规则。操作步骤如下:
(1) 在日志服务实例列表页面,单击实例名称,可进入该实例的日志管理页面。
(2) 单击左侧导航树的[采集配置]菜单,选择“解析规则”页签,进入解析规则列表页面。
(3) 单击<新建>按钮,弹出新建解析规则窗口。
图4-1 新建解析规则
(4) 本例中选择空文档,单击<下一步>按钮,进入配置解析规则步骤。
图4-2 配置解析规则
(5) 单击<输入日志样例>,在弹出的窗口中输入日志样例;一般为ISV应用打印的的日志信息。下方默认显示“工具提取”页签,下拉框中选择“正则解析”。(单击旁边的按钮,可以正则解析使用指导。)
(6) 单击<规则生成>。
图4-3 解析规则生成
(7) 标记日志信息。鼠标选择日志中的字段,在右侧标记设置区域为所选字段配置标记信息:输入字段名,并选择字段的匹配规则(如下图)。
图4-4 标记日志
(8) 将日志中所有信息标记完成后,点击<复制并退出>,将复制的解析规则粘贴到“工具提取”页签中的解析输入框中,单击按钮即可对日志样例进行解析,如下图。
图4-5 解析日志
(9) 单击左下角的<下一步>,根据页面提示信息,配置解析规则的名称、描述信息和类型。
(10) 单击<保存>,该解析规则将保存并显示在解析规则列表页面。
本节介绍为日志集添加Filebeat采集文本日志任务的操作。
(1) 在日志服务实例列表页面,单击实例名称,可进入该实例的日志管理页面。
(2) 在左侧日志集树状菜单中的某个日志集下,将鼠标悬停在[数据采集]菜单,单击右侧加号“+”按钮,弹出数据采集页面。
图4-6 新增数据采集
(3) 选择[BEATS/Filebeat采集],进入配置页面。参数说明如下:
¡ 代理主机列表:单击选择代理主机,即选择需要被采集的目标主机;支持多选。
¡ 采集路径:输入待采集的文件路径。
¡ 文件编码:选择文件编码类型,默认是UTF-8。
¡ 文本多行匹配正则:用于正确解析文本换行模式,可直接在解析规则中编写。可以将多行日志作为一条日志进行处理,默认每一行作为一条记录。
图4-7 选择设备
(4) 单击<下一步>,选择任务执行节点。
¡ 运行主机:采集程序运行主机,可在[数据接入]页面“任务执行节点”区域进行添加。
¡ 接收端口:采集程序接收数据的端口,端口号输入0~65535之间的数字,注意避免端口冲突。
图4-8 采集配置
(5) 单击<下一步>,进行解析配置。可根据需要选择内置或者是自定义的解析规则;若无解析需求,可选择Empty表示不配置解析规则。若当前没有满足需求的解析规则,可单击旁边的<创建解析规则>按钮,进入新建解析规则页面创建。
图4-9 解析配置
(6) 单击<下一步>,进入存储配置页面。配置索引模板和生成周期。
¡ 索引模板:该值将成为日志存储在Elasticsearch中的索引名称的组成部分。
¡ 生成周期:可选小时、日、月、年,该选项来指定索引的生成周期。该值将成为索引名称的后缀。一般选择按日生成,方便检索且确保单个索引的数据量不会过于庞大。
日志集索引的名称以“日志集名称_索引模板-生成周期”的规则命名,如test01_test_template-2023.02.22。
图4-10 存储配置
(7) 单击<下一步>,确认信息。输入任务名称,并选择采集日志的类型,单击<保存执行>即可。
图4-11 确认信息
(8) 状态确认。在日志集内部[数据采集]页面(或通过日志服务实例的[数据接入]菜单进入数据接入列表页面),可以查看对应任务的状态,状态为“运行中”表示正常采集。
图4-12 数据采集列表
(1) 在日志服务实例列表页面,单击实例名称,可进入该实例的日志管理页面。
(2) 在左侧日志集树状菜单中的某个日志集下,将鼠标悬停在[数据采集]菜单,单击右侧加号“+”按钮,弹出数据采集页面。
图4-13 新增数据采集
(3) 选择[BEATS/Filebeat容器采集],进入配置页面,如图4-14。
(4) 依次完成选择容器、采集配置、解析配置、存储配置等步骤,参数说明可参见表4-1。
表4-1 Filebeat容器采集参数说明
参数 |
说明 |
|
选择容器 |
Kubernetes集群 |
选择共享集群或独享集群。共享集群即云平台的容器可用域,独享集群即通过云容器引擎创建的Kubernetes集群。 |
Kubernetes标准输出 |
采集容器的标准输出日志。 |
|
容器内日志文件 |
采集容器内部的文件日志。 |
|
采集路径 |
输入待采集的容器内部的文件路径。 |
|
采集条件 |
提供部分Pod的基本信息作为采集条件,包括namespace、pod name、node name、container image、container name以及labels等。判断条件支持equals、not equals、contains、not contains、regexp、not regexp等。可以配置多个采集条件,条件间的逻辑运算只能在and和or之间选择其中一种。 · 当使用kubernetes.labels采集条件时,条件值必须是key:value格式; · 当使用regexp或not regexp判断条件时,条件值必须是正确的正则表达式。 · 可使用“kubernetes.namespace regexp .*”采集条件采集集群中所有容器日志。 举例:要采集kube-system命名空间下且pod名包含filebeat可以使用条件: kubernetes.namespace equals kube-system and kubernetes.pod.name contains filebeat |
|
查看匹配到的Pod列表 |
当采集条件输入完成后,可点击该按钮查看当前匹配到的被采集Pod。 |
|
文件编码 |
选择文件编码类型,默认是UTF-8。 |
|
文本多行匹配正则 |
用于正确解析文本换行模式,可直接在解析规则中编写。可以将多行日志作为一条日志进行处理,默认每一行作为一条记录。 |
|
采集配置 |
运行主机 |
采集程序运行主机,可以通过[数据接入]页面进行添加。 |
接收端口 |
采集程序接收数据的端口,端口号输入0~65535之间的数字,注意避免端口冲突。 |
|
解析配置 |
解析规则 |
选择合适的解析规则,如果没有需手动创建。 |
存储配置 |
存储到索引 |
· 勾选生效。需要手动创建索引模板名称并选择该模板。 · 通过下拉框选择索引生成周期。 |
完成 |
任务名称 |
描述该采集任务,20个字符以内。 |
日志类型 |
单击下拉框,可以选择采集任务对应的日志类别。 |
(5) 单击<保存执行>,完成操作。
(6) 状态确认。在日志集内部[数据采集]页面(或通过日志服务实例的[数据接入]菜单进入数据接入列表页面),可以查看对应任务的状态,状态为“运行中”表示正常采集。
通过[仪表盘]菜单进入Kibana页面,搭建日志数据的可视化图表和创建仪表盘。仪表盘用于在单个视图中配合使用多个可视化,可以提供更加全面的数据视图。
本节仅涉及Kibana简单操作,更多使用指导信息请参见Kibana官方手册。
为日志集test01的日志数据搭建可视化,实现日志数据按采集时间维度进行日志数量可视化统计。
一个索引模式是可以匹配多个索引的带可选通配符的字符串。
(1) 进入Kibana的管理页面后,依次单击左侧导航树/子导航树的[Management/Index Patterns]菜单,进入到Index patterns页面。
图4-15 Index patterns页面
(2) 单击<Create index pattern>按钮,弹出创建窗口。将Index pattern命名为日志集名称_*,系统根据日志集名称自动检索支持匹配的索引。请确保匹配的索引都属于该日志集。
图4-16 Define index pattern
(3) 单击<Next step>,进入下一步。选择时间字段@timestamp。
图4-17 Configure settings
(1) 单击左侧导航树[Visualize]菜单项,在相应页面单击<Create new visualization>。
图4-18 创建可视化图表
(2) 选择要创建的可视化类型。本例中选择Line(线图),日志数据会以线图形式展现。
图4-19 可视化类型
(3) 选择需要使用的索引模式,即在第一步中创建的index pattern,为视图获取数据。
在视图编辑器中配置可视化图表各项参数,使图表更加规范、易用。线图可视化使用度量指标作为Y轴,桶作为X轴。桶类似于SQL中的 GROUP BY 语句。
(1) 为视图的Y轴选择指标Count。Count,即计数,返回所选索引模式中元素的原始计数。本例中统计日志数量。
(2) 为X轴定义桶(Buckets),确定从数据集中检索哪些信息。本例中使用日期直方图类型创建可视化
图4-20 配置图表
(3) 单击左上角<Save>按钮保存配置,在弹出的保存窗口中输入可视化名称和描述信息,本例中新建的可视化命名为“统计样例”。单击<Save>完成操作。
图4-21 保存可视化
用户可将多个数据可视化结果添加到同一个仪表盘中。
(1) 单击左侧[Dashboard]菜单,然后点击<Create new dashboard>创建新的仪表盘。
图4-22 创建仪表盘
(2) 单击<Add>,弹出添加可视化的窗口,单击刚才创建的统计样例可视化,所选择的可视化结果将添加到仪表盘中。
(也可以单击<Create new>,创建新的可视化图表。)
图4-23 添加可视化
(3) 点击左上角的<Save>保存按钮,即可保存该仪表盘。
图4-24 保存仪表盘
单击上方的<Add>按钮,可以为该仪表盘添加更多可视化结果。
若需要查询日志服务实例中的Elasticsearch集群的状态信息,可以通过Elasticsearch提供的API进行查看。
curl -u 'elastic:password' http://<Elasticsearch_IP>:9200/_cat/health?v
status为“green”表示集群状态正常。
curl -u 'elastic:password' http://<Elasticsearch_IP>:9200/_cat/allocation?v
确保磁盘使用率不超过85%。
curl -u 'elastic:password' http://<Elasticsearch_IP>:9200/_cat/nodes?v
节点的内存使用率和CPU使用率不能过高。
curl -u 'elastic:password' http://<Elasticsearch_IP>:9200/_cat/thread_pool?v
写线程对应的rejected列值表示拒绝写入的次数。
全文检索为用户提供统一的日志检索入口,支持使用关键字、短语、通配符、字段数值范围等检索条件。
(1) 在顶部导航栏中选择[云服务/日志服务],进入实例列表页面。
(2) 单击实例名称,可进入该实例的管理页面。
(3) 单击左侧树状菜单下的某个日志集,进入对应的全文搜索页面。
图4-25 全文检索
(4) 配置检索条件。各参数说明如下:
¡ 标记<1>处是日志集选择菜单,默认选中第一个。用户也可以选择任日志集进行查询,此时系统会选择属于该日志集下的所有数据。
¡ 点击标记<2>会弹出时间控件,可设置时间范围,系统查询该时间范围内采集的日志。
¡ 标记<3>处输入搜索关键字,检索方式如下。
- 若不输入任何关键字,表示搜索全部。
- 全文检索:表示对所有关键字内容进行全文搜索,如:hello world,会搜索包含hello和world的数据记录。
- 短语查询:表示对输入关键字的完全匹配查询,在搜索关键字前后添加英文引号,如:"hello world",会搜索包含hello world完整短语的数据记录。
- 通配符:在搜索条件中添加英文*和?表示通配,其中*表示匹配0个或多个字符,?表示匹配一个字符,如:输入he*,会匹配到所有包含he数据记录。
- 逻辑运算符:在搜索条件中输入AND、OR、NOT、()来表示逻辑运算关系,如输入:A AND B,会匹配既包含A又包含B的数据记录。
- 字段值完全匹配:匹配某字段中包含某信息的数据记录,如:host:"node-1",会匹配host字段中包含node-1的数据记录。
- 字段值模糊匹配:匹配某字段中包含某字符片段的数据记录,如:host:node*,会匹配host字段中包含以node开始的数据记录。
- 字段数值范围:匹配某字段值在某范围内的数据记录,如:age:>40,会匹配age字段中大于40的数据记录。
(5) 检索结果展示
检索结果分为两部分,图表部分为该段时间的日志量统计,下半部分为检索结果展示,并以红色标识搜索到的关键字。
图4-26 检索结果
¡ 检索结果页面将结果按照日志写入时间进行统计。
- 图表统计:根据设定的时间段和搜索关键字搜索到的数据,对其进行图表统计,通过此图用户可以看出在不同的时间段内的日志产生数量情况和变化趋势。在图表中,将鼠标悬停某个时间点,可查看该时间点上对应的日志精确数量。
- 结果列表:默认按照时间顺序倒叙排列,表格第一列展示的是日志中的“@timestamp”时间字段(日志采集时间)。
- 字段聚合:通过对搜索结果的数据进行字段值的聚合统计功能,点击字段名称会统计该字段值最多的前50条数据记录。单击某字段值对应操作列的<添加>按钮,该字段为当前值将作为搜索条件添加到搜索框,基于之前的搜索结果筛选出满足该条件的日志。
¡ 当日志数据是通过系统中的文件采集器采集得到时,搜索结果列表的操作列会有<查看上下文>按钮,点击可以查看该条数据原始日志文件中相邻的数据。用户可以自定义查看想要查看的上下文的条数。
(6) 单击<下载>,可将当前搜索结果数据保存为Excel文件下载到本地。
如需在全文检索中查询被关闭的索引,需要手动打开这些索引。具体操作如下:
(1) 登录Elasticsearch集群节点,查询当前索引及索引状态:
Curl http://<Elasticsearch_IP>:9200/_cat/indices?h=index,status
(2) 将索引状态为关闭,需要被查询的索引进行开启,执行以下命令:
curl -XPOST http://<Elasticsearch_IP>:9200/<indexName>/_open
其中indexName为索引名称。
图4-27 开启索引
(3) 索引开启后,即可在全文检索页面进行查询。
· 检查代理主机与任务执行节点的防火墙是否关闭;防火墙如果开启,会影响日志采集。
· 检查采集的日志文件或者是采集路径是否存在。
· 检查日志文件中是否有新的日志产生。
· 检查所依赖的Kafka集群、Elasticsearch集群状态是否正常。
· 检查所依赖的Kafka集群、Elasticsearch集群状态是否正常。
· 查看任务执行节点Logstash的日志,检查在安装目录下的itoaAgent/worlspace/logstash/logs/logstash-plain.log文件中是否存在报错。
· 检查代理主机是否正常,且采集的日志文件是否存在。
· 检查日志是否被采集。
· 检查输入的查询条件是否正确;例如Elasticsearch会对输入的搜索关键字进行分词处理,所以在检索时若想精准匹配,请把搜索的关键词上加上双引号,否则会影响查询结果。
· 检查数据是否超过了热数据的保存时间。
· 检查任务执行节点的CPU、内存等规格;若规格较小请调整规格。
· 检查Logstash的JVM堆内存配置;若JVM堆内存配置较小,调整安装目录下的workspaces/logstash/config/jvm.option文件配置项,修改-Xmx 和 -Xms的值,调整为主机内存的一半,然后kill进程,等待进程重启即可。
· 检查一个采集任务是不是采集多个日志文件,或日志文件过大;若日志较大可拆分为多个采集任务,使用不同的任务执行节点来分担压力。
· 检查Elasticsearch集群的CPU使用率,也可以访问ES主机IP:9200/_cat/thread_pool?v找到write的线程,查看拒绝数;若拒绝数较高,建议增加ES集群CPU规格。
· 检查任务执行节点内存是否足够;每一个采集任务会在任务执行节点创建两个接收进程,每个进程会占用4G内存,因此需保证任务执行节点的内存满足运行条件。建议任务执行节点的规格为8核CPU*16GB内存或以上。
· 检查任务执行节点状态是否正常,和任务执行节点的防火墙是否关闭;开启防火墙会影响日志采集。
· 若采集的是文本类型日志,请确保代理主机状态正常,且防火墙关闭。
· 若采集的是容器日志,请确保Kubernetes集群正常。
· 确保已经下载本系统内置的syslog配置脚本,并到主机上执行该脚本。需要在[采集配置]页面的“采集器下载”页签中下载syslog配置脚本,在弹出的窗口中配置日志接收IP地址和端口号,其中IP地址填写接收日志的任务执行节点的主机IP,端口号固定为514。检查主机上以下路径的文件/etc/rsyslog.d/ldp_syslog_collect.conf,如果上述IP地址和端口号写入该文件,则该脚本在主机上执行成功,否则执行失败。
· 检查要采集日志的主机与任务执行节点的连通性。
· 检查任务执行节点的配置文件中selinux项,该项需配置为disabled;否则,请修改selinux值为disabled。配置文件地址 /etc/selinux/config。修改后需重启节点。
· 检查设置的告警阈值是否合理;告警阈值需要在合理范围内。
· 检查产生日志的主机/容器时间是否与云平台一致。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!