3.0 elasticsearch-6.5.1可视化工具kibana安装和日志工具Logstash

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011418530/article/details/84814806

准备:

kibana-6.5.1-linux-x86_64.tar.gz

https://www.elastic.co/cn/downloads/past-releases

logstash-6.5.1.tar.gz

https://www.elastic.co/cn/downloads/past-releases

一:kibana安装

安装:

下载kibana-6.5.1-linux-x86_64.tar.gz上传到服务器主节点直接解压。(tar -zxvf kibana-6.5.1-linux-x86_64.tar.gz)

进入kibana-6.5.1-linux-x86_64找到config文件,编辑kibana.yml

server.port: 5601

server.host: "192.168.227.3"

elasticsearch.url: "http://192.168.227.3:9200"

启动:进入kibana-6.5.1-linux-x86_64

bin/kibana

访问:

http://192.168.227.3:5601/

二:Logstash环境搭建

搭建:

下载logstash-6.5.1.tar.gz上传到主节点服务器直接解压。(tar -zxvf logstash-6.5.1.tar.gz)

进入logstash-6.5.1启动

启动方式一:

bin\logstash -e 'input { stdin {} } output { stdout {} }'

启动方式二:

在 config 目录下新建 logstash.conf 文件,编辑以下内容:

input {

stdin {}

}

output {

stdout {}

}

控制台输入以下命令:

bin\logstash -f config\logstash.conf

三:访问日志生产平台的搭建

直接利用 Nginx 产生的访问日志作为流量监控的元数据。因此,自己要先搭建 Nginx运行环境,并部署一个可以访问的 web 项目。然后,在 logstash 的安装目录新建一个 patterns 目录,在此目录下创建nginx 空白文件,内容如下:

NGINXACCESS %{IPORHOST:clientip} %{HTTPDUSER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\]

"(?:%{WORD:verb} %{URIPATH:uri}%{URIPARAM:param}(?:

HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-)

NGINXACCESSLOG %{NGINXACCESS} %{QS:referrer} %{QS:agent} %{QS:x_forwarded_for}

最后,对 logstash.conf 中的内容进行修改:

input {

file {

path => ["D:/nginx-1.14.0/logs/access.log"]

type => "nginx_access"

start_position => "beginning"

}

}

filter {

if [type] == "nginx_access" {

grok {

patterns_dir => "D:/logstash-5.5.2/config/patterns/"

match => {

"message" => "%{NGINXACCESS}"

}

}

date {

match => ["timestamp","dd/MMM/YYYY:HH:mm:ss Z"]

}

if [param] {

ruby {

init => "@kname = ['quote','url_args']"

code => "

new_event =

LogStash::Event.new(Hash[@kname.zip(event.get('param').split('?'))])

new_event.remove('@timestamp')

event.append(new_event)

"

}

if [url_args] {

ruby {

init => "@kanme = ['key','value']"

code =>

"event.set('nested_args',event.get('url_args').split('&').clllect {|i|

Hash[@kanme.zip(i.split('='))]})"

remove_field => ["url_args","param","quote"]

}

}

mutate {

convert => ["response","integer"]

remove_field => "timestamp"

}

}

}

}

output {

stdout {

codec => rubydebug

}

}

启动 logstash 便可以将 Nginx 日志同步到 logstash 中来。gork 内置表达式查询地址:

https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns

四:Logstash 与 ElasticSearch 集成

在 logstash.config 中output下追加以下内容,即可与 ElasticSearch 实现无缝集成:

elasticsearch {

hosts => ["http://localhost:9200"]

index => "logstash-%{type}-%{+YYYY.MM.dd}"

document_type => "%{type}"

sniffing => true

#user => "tom"

#password => "123456"

}

猜你喜欢

转载自blog.csdn.net/u011418530/article/details/84814806
今日推荐