版本对照关系:ElasticSearch 7.9.2 和 Logstash 7.9.2 ;
官方下载地址
选择ElasticSearch版本一致的Logstash版本
https://www.elastic.co/cn/downloads/logstash
下载链接:https://artifacts.elastic.co/downloads/logstash/logstash-7.9.2-linux-x86_64.tar.gz
下载完成后,将文件拷贝到自己喜欢的目录!!!
tar -zxvf logstash-7.9.2-linux-x86_64.tar.gz
cd /usr/local/app/logstash-7.9.2
或者
cd /你自己的安装目录/logstash-7.9.2
切换到config
目录,可以按照logstash-sample.conf
示例文件,添加连接的配置文件;
配置示例是一个 Logstash 配置文件,用于从 Beats 输入数据并将其发送到 Elasticsearch。
这个配置文件包含两部分:
hosts
:指定了 Elasticsearch 集群的主机地址和端口。在这里,数据将被发送到本地主机的 Elasticsearch 服务,端口为 9200。index
:定义了数据在 Elasticsearch 中的索引名称。这里使用了 Logstash 的动态索引命名,基于数据的 metadata 信息和日期来生成索引名称。user
和password
:这两行是被注释掉的,通常用于指定连接 Elasticsearch 集群所需的用户名和密码。如果 Elasticsearch 集群需要身份验证,你可以取消注释并提供正确的用户名和密码。
这个配置文件的作用是接收来自 Beats 的日志数据,并将其索引到 Elasticsearch 中,以便进行检索和分析。确保 Logstash 和 Elasticsearch 服务正在运行,并监听相应的端口(例如,5044 和 9200),以使这个配置文件正常工作。
以上只是示例,下面我们新建logstash-springboot.conf
文件,这种类型的文件可以有多个。
input {
tcp {
mode => "server"
host => "0.0.0.0"
port => 5670
codec => json_lines
}
}
filter {
}
output {
elasticsearch {
hosts => ["http://127.0.0.1:9200"]
index => "log-goboy-dev-%{+yyyy.MM.dd}"
}
}
这是 Logstash 配置文件,用于接收来自 TCP 输入的 JSON 格式日志数据,并将其发送到 Elasticsearch 中。
让我解释每个部分的配置:
Input 部分:
tcp
插件被用作输入插件,它监听端口 5670并接受传入的 TCP 连接。mode => "server"
表示 Logstash 将以服务器模式运行,等待来自客户端的连接。host => "0.0.0.0"
指定 Logstash 应该接受所有网络接口上的连接,因此可以从任何 IP 地址连接到 Logstash。port => 5670
指定监听的端口号为 5670。codec => json_lines
表示接收到的数据将被解析为 JSON 格式的行。 Filter 部分:在你的配置中,过滤器部分是空的。这意味着 Logstash 不会对接收的数据进行进一步的处理或筛选。你可以在这部分添加过滤器插件,以根据需要对数据进行处理、转换或过滤。 Output 部分:elasticsearch
输出插件用于将数据发送到 Elasticsearch。hosts => ["http://127.0.0.1:9200"]
指定了 Elasticsearch 集群的主机地址和端口。index => "log-goboy-dev-%{+yyyy.MM.dd}"
定义了数据在 Elasticsearch 中的索引名称。这里使用 Logstash 的动态索引命名,基于日期来生成索引名称。
这个配置文件的作用是将通过 TCP 连接接收到的 JSON 格式的日志数据发送到 Elasticsearch 中,每天都会创建一个新的索引以便于日志的时间分割。确保 Logstash 和 Elasticsearch 服务正在运行,并监听相应的端口(例如,5044 和 9200),以使这个配置文件正常工作。如果需要对数据进行更多的处理,可以在过滤器部分添加适当的过滤器插件。
编辑config/pipelines.yml
文件
pipeline.id
指定该管道idpath.config
指定ES和logstash连接的配置文件,就是上一步新建的conf文件的绝对路径- pipeline.id: log_dev
path.config: "/usr/local/app/logstash-7.9.2/config/logstash-springboot.conf"
bin
目录,执行./logstash
打印如下内容,则代表启动成功
在安装和部署的过程中,注意版本之间的差异化。特别要主要安全组端口的开发情况!!!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。