ELK:elasticsearch快速入门之Kibana+Logstash安装
1.2、kibana快速入门
kinana的安装相对于elasticsearch的安装更为简单。kibana用于展示或是操作es中的数据。主要步骤就是配置kibana的配置文件。甚至保持默认值,都可以运行。注意kibana是由node开发。默认占用的端口号为5601,所以,如果要查看kibana的进程,可以使用netstat -tunlp | grep 5601 或使用 ps -ef | grep node查看。
官方有完整的安装过程:
https://www.elastic.co/guide/en/kibana/7.6/getting-started.html
1、下载并解压kinana
https://artifacts.elastic.co/downloads/kibana/kibana-7.6.2-linux-x86_64.tar.gz
2、解压到指定的目录下
$ tar -zxvf kibana-7.6.2-linux-x86_64.tar.gz -C /home/es/program/
由于解压后,目录太长,这儿修改一下目录的名称:
$ mv kibana-7.6.2-linux-x86_64 kibana
3、修改kibana的配置文件
在$KIBANA_HOME/config目录下的kibana.yml就是kibana的配置文件.
本文配置以下内容,其他都保持默认值:
server.port: 5601
server.host: "server101"
server.name: "server101"
elasticsearch.hosts: ["http://server101:9200"]
I18n.locale: “zh-CN” #配置中文
4、启动kibana
$cd $KINANA_HOME
$ ./bin/kibana 此种方式,kibana会将所有日志信息输出到控制台。可以使用 $ ./bin/kibana &以后台方式运行。
5、访问
在浏览器中,输入:http://server101:5601访问,可以导入一些测试数据后,将显示以下效果:
kibana的配置可以参考官方网站。
1.3、logstash快速入门
1、下载 logstash
https://artifacts.elastic.co/downloads/logstash/logstash-7.6.2.tar.gz
2、解压
$ tar -zxvf logstash-7.6.2.tar.gz -C /home/es/program/
$ mv logstash-7.6.2 logstash
1、使用logstash采集日志
1、logstash是一个重量级的日志采集工具,它同时还可以对采集到的数据处理后再保存到es中去。
2、在配置logstash之前,先启动es。
步1、配置logstash配置文件
在$LOGSTASH_HOME/config目录下,创建logstash1.conf文件。并添加以下配置。
$ touch logstash1.conf
$vim logstash1.conf
input {
file {
path => "/home/es/logs/*.log" #读取日志的目录
type => "elasticsearch"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "mylog-%{+YYYY.MM.dd}"
}
stdout { #在控制台显示数据
codec => rubydebug
}
}
步2、启动logstash
通过-f可以指定配置文件:
logstash]$ ./bin/logstash -f config/logstash1.conf
以非后台方式启动,可以在控制台,查看到logstash接收到的数据。
步3、测试
在/home/es/logs目录下,输出一些日志进行测试:
[es@server101 logs]$ echo Hello >> log.log
[es@server101 logs]$ echo 中文信息 >> log.log
[es@server101 logs]$ echo Hello2 >> log.log
[es@server101 logs]$ echo 使用空格分开的测试 空格后面的数据 >> log.log
此时,转到logstash的后台,查看数据:
{
"path" => "/home/es/logs/log.log",
"@version" => "1",
"@timestamp" => 2020-05-01T14:25:33.080Z,
"host" => "server101",
"message" => "Hello",
"type" => "elasticsearch"
}
{
"path" => "/home/es/logs/log.log",
"@version" => "1",
"@timestamp" => 2020-05-01T14:25:49.140Z,
"host" => "server101",
"message" => "中文信息",
"type" => "elasticsearch"
}
{
"path" => "/home/es/logs/log.log",
"@version" => "1",
"@timestamp" => 2020-05-01T14:25:54.161Z,
"host" => "server101",
"message" => "Hello2",
"type" => "elasticsearch"
}
{
"path" => "/home/es/logs/log.log",
"@version" => "1",
"@timestamp" => 2020-05-01T14:26:28.266Z,
"host" => "server101",
"message" => "使用空格分开的测试 空格后面的数据",
"type" => "elasticsearch"
}
2、读取filebeat的数据
步1、配置logstash
在$LOGSTASH_HOME/config目录下,新增加:logstash2.conf,并添加以下内容:
$touch logstash2.conf
$vim logstash2.conf
input {
beats {
port => 5044 #logstash监听的端口
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "mybeats-%{+YYYY.MM.dd}"
}
stdout { codec => rubydebug }
}
步2、启动logstash
logstash]$ ./bin/logstash -f config/logstash2.conf
步3、配置filebeat
下载并上传filebeat,解压并重命名:
$ tar -zxvf filebeat-7.6.2.tar.gz -C /home/es/program/
$ mv filebeat-7.6.2 filebeat
编辑filebeat.yml文件:(由地filebeat.yml中已经存在了一些配置,这儿只配置logstash即可,可以重新创建一个新的配置文件)内容如下:
filebeat.inputs:
- type: log
enabled: true
paths:
- /home/es/logs/*.log
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
#output.elasticsearch: #这儿删除es的配置
#hosts: [“localhost:9200”]
output.logstash: #这儿是打开logstash的配置
hosts: [“localhost:5044”]
#其他地方,保持默认就可以了。
启动filebeat:
filebeat]$ ./filebeat -e -c filebeat.yml
测试,由于filebeat监听的是/home/es/logs/*.log文件,所以,我们在这个目录下,创建几个文件,并输入数据:
[es@server101 logs]$ echo Hello >> log.log
[es@server101 logs]$ echo 你好 这是新行 >> log.log
现在,直接查询logstash的控制输出如下:
{
..省略..
"message" => "Hello",
"@version" => "1"
}
{
..省略..
"message" => "你好 这是新行",
"@version" => "1"
}
到此,已经可以基本上了解filebeat将数据发送到logstash的过程了。
其他TODO:
logstash中的filter将数据处理成json对象。