mac下elk的安装

ELK(Elasticsearch,Logstash和Kibana)日志分析平台,是目前比较流行的技术架构了。出于好奇心的驱使在自己的mac电脑上安装了一下,探探究竟。先介绍一下Elasticsearch,Elasticsearch是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic是Lucene的封装,提供了REST API的操作接口,开箱即用。

安装前准备

1.mac下安装最方便的就是Homebrew了。首先安装Homebrew。

2.elk需要java8的环境,java -version看是否当前java环境是java8。

安装elasticsearch

brew install elasticsearch && brew info elasticsearch

启动/关闭/重启elasticsearch:

brew service start elasticsearch
brew service stop elasticsearch
brew service restart elasticsearch

 

启动之后使用您喜欢的浏览器检查它是否在localhost和默认端口上正确运行:http:// localhost:9200

输出应该如下所示:

安装Logstash:

brew install logstash

启动/关闭/重启logstash

brew services start logstash
brew services stop logstash
brew services restart logstash
由于我们尚未配置Logstash管道,因此启动Logstash不会产生任何有意义的结果。我们将在下面的另一个步骤中返回配置Logstash。

安装Kibana

brew install kibana
启动Kibana并检查所有ELK服务是否正在运行:
brew services start kibana
brew services list

 

Kibana需要进行一些配置更改才能正常工作,打开Kibana配置文件:kibana.yml

sudo vi /usr/local/etc/kibana/kibana.yml

 

取消注释用于定义Kibana端口和Elasticsearch实例的指令:

server.port: 5601
elasticsearch.url: "http://localhost:9200”

 

如果一切顺利,请在localhost:5601/status打开Kibana。你应该看到这样的东西:

 

恭喜,您已经在Mac上成功安装了ELK!

发送一些数据

 

您已准备好开始向Elasticsearch发送数据并享受堆栈提供的所有优点。下面是一个Logstash管道将syslog日志发送到堆栈的示例。 首先,您需要创建一个新的Logstash配置文件:

sudo vim /etc/logstash/conf.d/syslog.conf
输入以下配置:
input {
  file {
    path => [ "/var/log/*.log", "/var/log/messages", "/var/log/syslog" ]
    type => "syslog"
  }
}
 
filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    syslog_pri { }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}
 
output {
  elasticsearch {
    hosts => ["127.0.0.1:9200"] 
    index => "syslog-demo"
  }
  stdout { codec => rubydebug }
}

然后重启logstash.

 

在Kibana的Management选项卡中,您应该看到由新的Logstash管道创建的新创建的“syslog-demo”索引。

将其作为index pattern输入,然后在下一步中选择@timestamp字段作为时间过滤器字段名称。

我们都准备好了!打开Discover页面,您将在Kibana中看到syslog数据。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章