Elasticsearch安装与配置
Kibana安装与配置
LogStash安装
1. 下载安装报
- 这里选择7.14.0版本,下载地址
2. 上传到服务器
- 解压
tar -zxvf logstash-7.14.0-linux-x86_64.tar.gz
3. 启动 Logstash
- Logstash 的启动命令位于安装路径的 bin 目录中,直接运行 logstash 不行, 需要按如下方式提供参数:
./logstash -e "input {stdin {}} output {stdout{}}"
- 启动时应注意: -e 参数后要使用双引号。如果在命令行启动日志中看到 “Successfully started Logstash API end-point l:port= >9600”,就证明启动成功。这个启动过程会非常慢,需要耐心等待。
- 在上面的命令行中,-e 代表输入配置字符串,定义了一个标准输入插件( 即 stdin) 和一个标准输出插件( 即 stdout),意思就是从命令行提取输入,并在命令行直接将提取的数据输出。如果想要更换输入或输出,只要将 input 或 output 中的插件名称更改即可,这充分体现了 Logstash 管道配置的灵活性。按示例启动 Logstash,命令行将会等待输入,输入“Hello world!"后会在命令行返回如下结果
- 在默认情况下,stdout 输出插件的编解码器为 rubydebug,所以输出内容中 包含了版本、时间等信息,其中 message 属性包含的就是在命令行输入的内容。 试着将输出插件的编码器更换为 plain 或 line,则输入的结果将会发生变化:
./logstash -e "input {stdin {}} output {stdout{codec => plain}}"
4. 连接 Elasticsearch
- Logstash 基于插件开发和应用,包括输入、过滤器和输出三大类插件。输入插件指定了数据来源,过滤器插件则对数据做过滤清洗,而输出插件则指定了数据将被传输到哪里。在实际应用中,通常都是使用配置文件指定插件。
- 配置文件的语法形式与命令行相同,要使用的插件是通过插件名称来指定。 例如,想要向 Elasticsearch 中发送数据,则应该使用名称为 elasticsearch 的输出插件。在Logstash 安装路径下的config目录中,有一个名为logstash-sample.conf 的文件,提供了配置插件的参考。
- 这个文件配置的输入插件为 beats,输出插件为 elasticsearch。复制这个文件并重命名为 std_es. conf ( 也可以直接创建空文件),下面通过修改这个文件配置一个从命令行提取输入,并传输到 Elasticsearch 的 Logstash 实例。按如下内容修改 std_es. conf 文件的输入输出插件:
input {
stdin {
}
}
output {
elasticsearch {
hosts => ["http://192.168.42.111:9200"]
index => "mylogstash1"
#user => "elastic"
#password => "changeme"
}
}
- 在上面的配置中,easticsearch 输出插件中的 hosts 参数指定了 Elasticsearch 地址和端口,index 参数则指定了存储的索引。Elasticsearch 索引不需要预先创建,但要保证它启动的地址和端口与配置文件中的一致。按如下方式启动 Logstash:
./logstash -f ../config/std_es.conf
- 其中,-f 参数后面指定了配置文件的路径。启动后如果没有异常,可在命令行窗口中输入"Hello world!" 等任意字符串,Logstash 将把输入内容提取到指定的 Elastiesearch 服务中。通过 Kibana 开发工具输入 GET _cat/indices, 可以 看到 mylogstash1 这个索引已经创建出来了
- 输入
GET /mylogstash1/_search
,则返回结果为
- 通过上图可以看到,Elasticsearch 为输入创建了一个 mylogstash1 索引,在命令行输入的"Hello world!" 已经被索引,在返回结果的_ source 字段上可以看到文档内容。