Win 10 ELK(5.4.1) 环境搭建与基本使用与 Expected one of # 解决办法

来源:互联网 发布:昆明市零售业数据 编辑:程序博客网 时间:2024/06/10 20:50


Win 10 ELK(5.4.1) 环境搭建与基本使用与 Expected one of # 解决办法

ELK :

  elasticsearch:  将日志信息进行分割,建立索引 (依赖分词插件)

  logstash :  收集日志

  Kibana : 展示的作用,用来显示  日志信息,可以出现很美观的图表


ELK介绍:

  • Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
  • Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
  • Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。


推荐博客:

http://www.cnblogs.com/Wolfmanlq/p/5976246.html

http://www.cnblogs.com/Wolfmanlq/p/5976246.html


官方文档:

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html

elasticsearch API:

http://127.0.0.1:9200/

http://127.0.0.1:9200/_search?pretty

http://localhost:9200/_cat/indices?v


命令执行:

 

Logstash.bat-f test.conf  -t 


环境搭建


先说win10 环境搭建:


1, 首先要保证 Windows 已经装好JDK ,并且配置好环境变量,这个就不多说了,应该大多都会配置


2. 下载 elasticsearch logstash ,kibana  下载地址:https://www.elastic.co/downloads 


3. 下载完成后分别解压 (windows 一般下载 ZIP 包)


4. 启动 elasticsearch  kibana logstash 方式 很简单   

方式1:

分别进入各自的bin 目录 双击 elasticsearch.bat  kibana.bat 即可运行

logstash 稍微复杂些,需要编写 logstash.conf  然后执行命令:

cmd 进入 bin 目录 执行命令

  logstash.bat -f  logstash.conf 

方式2 将三者注册成windows 服务 用windows服务的方式来启动


先配置elasticsearch 服务:

cd到elasticsearch文件夹的bin目录下  

cmd 运行 elasticsearch-service install,会提示安装成功

cmd 运行 elasticsearch-service manager 会弹出服务管理界面,可以设置自动启动,并启动之。

浏览器访问 127.0.0.1:9200 ,出现成功的json


 配置logstash ,cd 到logstash文件夹的下bin目录

创建配置文件 logstash.conf  ,内容如下:

input{   stdin {   }}output{    elasticsearch {      hosts => ["127.0.0.1:9200"]      index => "logstash-%{+YYYY.MM.dd}"  document_type => "form"  document_id => "%{id}"    }stdout {   codec => json_lines    }}

这里有坑:

1)编辑文件最好选择 notepad 打开 必须是 UTF-8 withou BOM 

否则 启动 logstash 会报错: 最好的方式不要去粘贴别人的,自己手动写logstash.conf  这个最保险



"Expected one of #, input,filter, output at line 1, column 1 (byte 1) after "}>reasons


网上解决办法如下: 但是不行

3. iconv 转换,iconv的命令格式如下:

iconv -f encoding -t encodinginputfile

比如将一个UTF-8 编码的文件转换成GBK编码

iconv -f GBK -t UTF-8 file1 -o file2

 

./bin/logstash  -e "input { stdin{}}  filter {}  output{ elasticsearch {  host =>"127.0.0.1:9200"    index=>"cpcn-%{+YYYY.MM.dd}" }stdout { codec => rubydebug }}"


正确解决如下:



安装步骤:

cd到logstash文件夹下bin目录

创建一个run.bat 内容如下:

logstash.bat -f test1.conf 
 

2.下载nssm

nssm 可以将其注册为windows 服务

https://nssm.cc/release/nssm-2.24.zip

解压拷贝nssm-2.24\win64目录下nssm.exe到logstash bin目录

cmd 运行 nssm.exe  install logstash



会弹框:


在弹出的界面设置 Path为run.bat,Details选项卡设置显示名,Dependencies选项卡设置依赖服务 elasticsearch-service-x64

最后点击install service 安装成功


3. 最后配置 kibana 服务:

 config目录kibana.yml 修改配置:

elasticsearch.url: "http://127.0.0.1:9200"
server.port: 5601

和之前一样拷贝nssm文件,安装服务的Path为kibana.bat,依赖项可以设置logstash,elasticsearch-service-x64


服务 :点击我的电脑-》右键 管理-》 服务  可以看到刚才装的三个服务,可以按照 es -logstash -<kibana 顺序启动起来



装完之后,可以考虑用一下:

可能出现如下问题:

kibana 头顶上有一串红色的

Unableto fetch mapping. Do you have indices matching the pattern? Windows


这个还是因为 logstash 未将数据传输到 ES ,并且没有默认索引 logstash-*


只有当数据传输到logsestash 了 并且索引匹配了才可看到如下: 才有create



logstash.conf 

这里创建了一个新索引 cpcn-*

input{   stdin{}}output{    elasticsearch {      hosts => ["127.0.0.1:9200"]      index => "cpcn-%{+YYYY.MM.dd}"  document_type => "form"  document_id => "%{id}"    }stdout {   codec => json_lines    }}


这样才可以创建


当然 也可通过命令创建 索引

 put 索引名{   setting{   }}




问题解决,给大家发福利,有有效期的, 支付宝扫码, 赶紧 过期不候啊





问题解决,给大家发福利,有有效期的, 支付宝扫码, 赶紧 过期不候啊


原创粉丝点击