功能概述

本小节为用户呈现了中文日志从 Logstash 导入到 Elasticsearch,再通过 Kibana 进行搜索的完整的过程。

操作步骤

步骤一:准备模板文件

ELK 从 5.6.16 - QingCloud 1.5.0 版本起,已内置用于指定 ik 分词器的模板文件,位于 Logstash 节点的 /data/elasticsearch/dicts 目录下,用户可以直接使用。

如果是以前的版本,需要事先把模板文件下载到 Logstash 节点的 /data/elasticserach/dicts/ 目录,再进行后面的操作,否则 Logstash 会因找不到模板文件而无法启动。

执行以下命令行,上传模板文件。注意 URL 最后的 / 不能省略。

curl -sL https://docs.qingcloud.com/product/big_data/elk/logstash.json |
curl -F "file=@-;filename=logstash.json" $LS_IP/dicts/

步骤二:修改配置参数

  1. 参考修改集群配置参数,按以下内容,修改 Logstash 节点的 output_es_content 参数。

    template_overwrite => true
    template => "/data/elasticsearch/dicts/logstash.json"
    说明

    上述模板文件 logstash.json 只能对之后新创建的 index 生效,无法对已经存在的 index 生效。如果当天的 Logstash index 已经存在,可以备份完里面的数据以后先删除这个 index 再进行下面的操作。

  2. 重启 Logstash 节点。

步骤三:发送数据

待 Logstash 重启完成后,执行以下命令行,向 Logstash 发送数据。

curl -d "中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首" $LS_IP:9700

步骤四:使用 Kibana 搜索

  1. 访问 Kibana 节点并配置 index pattern。详情参考如何访问 Kibana

  2. 点击左侧的 Discover 菜单项,显示近期接收到的日志,在搜索栏中输入 中国,点击右侧的搜索按钮。

  3. 如图所示,中国 被高亮显示并且中间没有空格分隔,测试成功。

    search_result