本节课将系统地介绍 ELK(Elasticsearch、Logstash、Kibana)在项目中的应用,各自扮演了什么样的角色,以及如何配置索引、Logstash 等。
Logstash
我们将用 Logstash 模拟整个天气指标数据的采集过程,首先我们将会对 Logstash 做一个简单的讲解,然后举几个例子,最后应用到天气数据采集过程中。
Logstash 是一款开源优秀的数据采集工具,数据源可以是控制台的标准输入、日志文件、Kafka 等,中间由过滤器对采集的数据进一步处理,然后由输出插件将结果输出到 ES,或者 Kafka。
Logstash 采集数据基本流程如下:
# 输入
input {
...
}
# 过滤器
filter {
...
}
# 输出
output {
...
}
同样我们使用 Docker 作为平台来运行测试 Logstash。因为 Docker 跨平台,所以你不需要学习如何在 Linux、Windows、Mac 上配置,另外还不会污染了当前系统的环境。使用 Docker 随用随启动,不用就丢掉。也不用刻意去学习 Docker,当做一个方便的虚拟机使用就是了,言归正传。
进入到控制台,拉取 Logstash 镜像:
docker pull docker.elastic.co/logstash/logstash:7.1.1
查看镜像 ID 启动容器:
启动容器,并使用