记录下最近搭建 elastic 日志工作站的过程。

安装

Elasticsearch 的安装方式可以参考我的这篇文章 Linux 安装 Elasticsearch,在这里不在赘述。

在这里推荐使用添加仓库的方式安装 Elasticsearch,这样可以直接用 yum, apt 来安装 Kibana 和 Filebeat。

Centos 7

1
$ sudo yum install -y kibana filebeat

Ubuntu

1
$ sudo apt install -y kibana filebeat

启动

1
2
$ sudo systemctl enable kibana filebeat
$ sudo systemctl start kibana filebeat

查看状态

1
2
3
$ sudo systemctl status elasticsearch
$ sudo systemctl status kibana
$ sudo systemctl status filebeat

等待三个软件都启动后,可以查看 elasticsearch, kibana 是否正常访问

Elsaticsearch

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ curl localhost:9200

{
"name" : "2ZsBFer",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "oo_kBvPpQL-OJGHQd-SPDw",
"version" : {
"number" : "6.3.0",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "424e937",
"build_date" : "2018-06-11T23:38:03.357887Z",
"build_snapshot" : false,
"lucene_version" : "7.3.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}

Kibana

1
2
3
4
5
6
7
8
9
10
$ curl localhost:5601

<script>var hashRoute = '/app/kibana';
var defaultRoute = '/app/kibana';

var hash = window.location.hash;
if (hash.length) {
window.location = hashRoute + hash;
} else {
window.location = defaultRoute;

Kibana 需要在浏览器中访问才可以看到真正的样子

配置

外部访问

此时 Kibana 和 Elasticsearch 都只能在本机访问,如果需要让外部机器可以访问,需要修改绑定 ip 为 0.0.0.0

Elasticsearch

1
2
3
4
5
$ sudo vim /etc/elasticsearch/elasticsearch.yml # 修改配置

network.host: 0.0.0.0 # 找到这一行并修改

$ sudo systemctl restart elasticsearch # 重启

Kibana

1
2
3
4
5
$ sudo vim /etc/kibana/kibana.yml # 修改配置

server.host: "0.0.0.0" # 找到这一行并修改

$ sudo systemctl restart kibana # 重启

日志导入

Filebeat 的作用便是将日志文件导入 Elasticsearch 中,同样的修改配置文件

修改配置

1
$ sudo vim /etc/filebeat/filebeat.yml

修改 Filebeat inputs 添加想要统计的日志位置

1
2
3
4
5
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log

更多的 inputs 配置见文档 Configure inputs

输出 Elasticsearch 的配置默认为 localhost:9200,如果你想输出到远程的机器上,需要修改 Elasticsearch output

1
2
output.elasticsearch
hosts: ["localhost:9200"]

更多配置见文档 Configure the Elasticsearch output

重启

1
$ sudo systemctl restart filebeat

查看日志信息

在浏览器中打开地址 localhost:5601 点击 Management --> Index Patterns 会进入 Create index pattern 页面

使用 Elasticsearch, Kibana, Filebeat 搭建日志工作站-LMLPHP

Filebeat 默认生成的索引名称为 filebeat-${version}-${date},我们做如下两步完成创建

  • 使用 filebeat* 作为 index pattern
  • 使用 @timestamp 作为 Time Filter field name

然后点击 Discover 查看收集到的日志

使用 Elasticsearch, Kibana, Filebeat 搭建日志工作站-LMLPHP

还有很多配置需要完善,后续慢慢更新

03-16 19:22