logstash+elasticsearch+kibana及ElasticSearch-Head插件安装(windows)

一背景

  通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。开源实时日志分析ELK平台能够完美的解决日志收集和日志检索、分析的问题,ELK就是指ElasticSearch、Logstash和Kiabana三个开源工具。

    因为ELK是可以跨平台部署,因此非常适用于多平台部署的应用。

二 环境准备

   1. 安装JDK1.8环境
   2. 下载ELK软件包

三 部署

    1.配置logstash

在logstash文件夹的下bin目录创建配置文件logstash.conf ,内容如下:

input{
	file{
        #日志文件路径
		path => ["E:/logs/test/spring.log.2019-07-30.log"]
		type => "jing"
		start_position =>"beginning"
		#设置多长时间扫描目录,发现新文件
		discover_interval=> 15
		#设置多长时间检测文件是否修改
		stat_interval => 1
		sincedb_write_interval => 5
	}
}

filter{
  #定义数据的格式,正则解析日志(根据实际需要对日志日志过滤、收集)
    grok {
		 match => { "message" => "%{MYSELFTIMESTAMP:timestamp}  %{LOGLEVEL:log_level} %{NUMBER:bytes} --- %{GREEDYDATA:[@metadata][keyvalue]}"}
    }
    #根据需要对数据的类型转换
   # date {
   #     match => ["[@metadata][logdate]", "YYYY-MM-dd HH:mm:ss.SSS"]
   # 
   
     #  multiline {
 	 # 	 pattern => "^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}"
	 # 	 negate => true
	 #   	what => "previous"
	 #   }
   
	kv {
       source => "[@metadata][keyvalue]"
       field_split => ","
       value_split => ":"
    }
   
}
output{
	#if "multiline" in [tags] {
		elasticsearch{
			hosts => ["localhost:9200"]
			index => "logstashs-po8-%{+YYYY.MM.dd}"
		}
		  stdout { codec => rubydebug }
	# }
}

修改logstash-7.2.0\vendor\bundle\jruby\2.5.0\gems\logstash-patterns-core-4.1.2\patterns下grok-patterns文件增加

MYSELFTIMESTAMP 20%{YEAR}-%{MONTHNUM}-%{MONTHDAY} %{HOUR}:?%{MINUTE}(?::?%{SECOND})

日志文件格式如下:

2019-07-25 15:25:04.005  INFO 25552 --- user=3|name=图片|Adress=杭州
2019-07-25 15:25:04.005  INFO 25552 --- user=3|name=图片|Adress=杭州
2019-07-25 15:25:04.005  INFO 25552 --- user=3|name=图片|Adress=杭州

在bin目录下创建run.bat,写入一下脚本:

logstash.bat -f logstash.conf

执行run.bat启动logstash。

2. Elasticsearch 集群部署

Elasticsearch默认端口9200,执行bin/elasticsearch.bat即可启动。

a、建如下三个文件夹,master(主),分别把Elasticsearch解压复制三个文件夹中。

b、修改config下面的elasticsearch.yml。master,slave1和slave2分别如下:

http.cors.enabled: true
http.cors.allow-origin: '*'
#端口
http.port: 9200
#集群名称
cluster.name: wali
# 节点名称
node.name: master
node.master: true
#指定自己的ip地址   监听网络
network.host: 127.0.0.1

node.data: true

 

cluster.name: wali
node.name: slave1

network.host: 127.0.0.1
http.port: 8200
#绑定master节点的ip地址
discovery.zen.ping.unicast.hosts: ["127.0.0.1"] 
cluster.name: wali
node.name: slave2

network.host: 127.0.0.1
http.port: 8100
#绑定master节点的ip地址
discovery.zen.ping.unicast.hosts: ["127.0.0.1"] 

c、三个全部启动,

d、通过浏览器访问9200端口,成功。

 

 

3.配置kibana

 Kibana启动时从文件kibana.yml读取属性。默认设置配置Kibana运行localhost:5601。要更改主机或端口号,或者连接到在其他机器上运行的Elasticsearch,需要修改kibana.yml文件。执行bin/kibana.bat启动Kibana。

server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]

浏览器访问192.168.17.32:5601 即可

 

4.安装ElasticSearch的Head插件

es5以上版本安装head需要安装node和grunt(之前的直接用plugin命令即可安装)

Microsoft Windows [版本 10.0.17763.615]
(c) 2018 Microsoft Corporation。保留所有权利。

C:\Users\jing>node -v
v10.16.0
  • 执行 npm install -g grunt-cli 安装grunt ,安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号
  • 开始安装head

 a、进入安装目录下的config目录,修改elasticsearch.yml文件.在文件的末尾加入以下代码(修改过就不需要修改)

http.cors.enabled: true
http.cors.allow-origin: '*'
http.port: 9200
cluster.name: wali
node.name: master
node.master: true
#指定自己的ip地址
network.host: 127.0.0.1
node.data: true

b、双击elasticsearch.bat重启es

c、https://github.com/mobz/elasticsearch-head下载head插件,选择下载zip

d、解压到指定文件夹中,修改Gruntfile.js文件 在对应的位置上添加hostname:'*'

	connect: {
			server: {
				options: {
					hostname: '*',
					port: 9100,
					base: '.',
					keepalive: true
				}
			}
		}

e、在D:\>cd Program Files (x86)\logstash_elasticsearch_kibana\elasticsearch-head-master  下执行npm install 安装完成后执行grunt server 或者npm run start 运行head插件,如果不成功重新安装grunt。

f、浏览器下访问http://localhost:9100/,成功。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值