首页 > 其他分享 >ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 good

ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 good

时间:2023-01-03 21:31:47浏览次数:76  
标签:ELK good http log Kibana elasticsearch kibana 搜索 logstash

 

elk中kibna搜索时,如果搜索 包含 单个 双引号 的字符串时:

"'/goods" &&"result\":true"

ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程  good_elasticsearch

 

 

使用双引号包起来作为一个短语搜索

"like Gecko"

# 字段

也可以按页面左侧显示的字段搜索

限定字段全文搜索:field:value

精确搜索:关键字加上双引号 filed:"value"

http.code:404 搜索http状态码为404的文档

# 字段本身是否存在

_exists_:http:返回结果中需要有http字段

_missing_:http:不能含有http字段

# 通配符

? 匹配单个字符

* 匹配0到多个字符

kiba?a, el*search

? * 不能用作第一个字符,例如:?text *text

# 正则

es支持部分正则功能

mesg:/mes{2}ages?/

# 模糊搜索

~:在一个单词后面加上~启用模糊搜索

first~ 也能匹配到 frist

还可以指定需要多少相似度

cromm~0.3 会匹配到 from 和 chrome

数值范围0.0 ~ 1.0,默认0.5,越大越接近搜索的原始值

# 近似搜索

在短语后面加上~

"select where"~3 表示 select 和 where 中间隔着3个单词以内

# 范围搜索

数值和时间类型的字段可以对某一范围进行查询

length:[100 TO 200]

date:{"now-6h" TO "now"}

[ ] 表示端点数值包含在范围内,{ } 表示端点数值不包含在范围内

# 逻辑操作

AND

OR

+:搜索结果中必须包含此项

-:不能含有此项

+apache -jakarta test:结果中必须存在apache,不能有jakarta,test可有可无

# 分组

(jakarta OR apache) AND jakarta

# 字段分组

title:(+return +"pink panther")

转义特殊字符

+ - && || ! () {} [] ^"

以上字符当作值搜索的时候需要用\转义


链接:https://www.jianshu.com/p/f88979868fb2

 

 

环境:OS X 10.10.5 + JDK 1.8

步骤:

一、下载ELK的三大组件

Elasticsearch下载地址: ​​https://www.elastic.co/downloads/elasticsearch​​ (目前最新版本:2.1.1)

Logstash下载地址: ​​https://www.elastic.co/downloads/logstash​​ (目前最新版本:2.1.1)

Kibana下载地址: ​​https://www.elastic.co/downloads/kibana​​ (目前最新版本:4.3.1)

下载后将其解压到某个目录即可,本文中的解压目录为:

~/app/elasticsearch-2.1.1

~/app/logstash-2.1.1

~/app/kibana-4.3.1-darwin-x64

注:这3个组件相互之间的关系及作用如下:

Logstash(收集服务器上的日志文件) --》然后保存到 ElasticSearch(搜索引擎) --》Kibana提供友好的web界面(从ElasticSearch读取数据进行展示)

 

二、启动elasticsearch

2.1

进入elasticsearch目录\bin

./elasticsearch

顺利的话,启动成功后,在浏览器里输入​​http://localhost:9200/​​ 应该能看到类似下面的输出:

1 {
2 "name" : "Atalanta",
3 "cluster_name" : "elasticsearch",
4 "version" : {
5 "number" : "2.1.1",
6 "build_hash" : "40e2c53a6b6c2972b3d13846e450e66f4375bd71",
7 "build_timestamp" : "2015-12-15T13:05:55Z",
8 "build_snapshot" : false,
9 "lucene_version" : "5.3.1"
10 },
11 "tagline" : "You Know, for Search"
12 }

2.2 安装kopf插件

先按Ctrl+C停止elasticsearch,接下来准备安装插件,elasticsearch有大量插件资源,用于增加其功能,bin目录下,输入

./plugin list 可以查看当前安装的插件列表,我们刚刚全新安装,输出的是一个空列表,继续输入

./plugin install lmenezes/elasticsearch-kopf

将会联网安装kopf插件,安装完成后,再次用./plugin list确认下:

Installed plugins in /Users/yjmyzz/app/elasticsearch-2.1.1/plugins:
- .DS_Store
- kopf

如果输出上述类似,表明kopf安装成功。

然后重启elasticsearch,浏览器里输入​​http://localhost:9200/_plugin/kopf​​,将会看到类似下面的界面,可以很直观的看到elasticsearch的一些运行状况

ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程  good_elasticsearch_02

以上操作都ok后,建议Ctrl+C关掉,改用nohup ./elasticsearch & 将其做为后台进程运行,以免退出。

 

三、logstash的启动与配置

3.1 新建索引配置文件

~/app/logstash-2.1.1/bin 下

mkdir conf

vi conf/logstash-indexer.conf

内容如下:

1 input {
2 file {
3 path => ["/var/opt/log/a.log","/var/opt/log/b.log"]
4 }
5 }
6
7 output {
8 elasticsearch { hosts => ["localhost:9200"] }
9 stdout { codec => rubydebug }
10 }

上面几个步骤的意思就是创建一个名为logstash-indexer.conf的配置文件,input{file{...}}部分指定的是日志文件的位置(可以多个文件),一般来说就是应用程序log4j输出的日志文件。output部分则是表示将日志文件的内容保存到elasticsearch,这里hosts对应的是一个数组,可以设置多个elasticsearch主机,相当于一份日志文件的内容,可以保存到多个elasticsearch中。

至于第9行的stdout,则表示终端的标准输出,方便部署时验证是否正常运行,验证通过后,可以去掉。

3.2 启动

继续保持在logstash的bin目录下,输入

./logstash -f conf/logstash-indexer.conf

稍等片刻,如果看到Logstash startup completed,则表示启动成功。然后另开一个终端窗口,随便找个文本编辑工具(比如:vi),向/var/opt/log/a.log里写点东西,比如:hello world之类,然后保存。观察logstash的终端运行窗口,是否有东西输出,如果有以下类似输出:

1 {
2 "message" => "hello world",
3 "@version" => "1",
4 "@timestamp" => "2016-01-08T14:35:16.834Z",
5 "host" => "yangjunmingdeMacBook-Pro.local",
6 "path" => "/var/opt/log/a.log"
7 }

说明logstash工作正常,此时浏览http://localhost:9200/_search?pretty 也应该能看到一堆输出,表明elasticsearch接收到logstash的数据了。

 

四、kibana的配置及启动

4.1 修改配置文件

~/app/kibana-4.3.1-darwin-x64/config 下有一个配置文件kibana.yml,大概在12行的位置,改成下面这样:

1 # The Elasticsearch instance to use for all your queries.
2 elasticsearch.url: "http://localhost:9200"

即:指定elasticsearch的访问位置

4.2 启动

~/app/kibana-4.3.1-darwin-x64/bin 下,输入:

./kibana

注:如果启动不成功,请检查版本是否为4.3.1,kibana必须与elasticsearch的版本匹配,一般说来,都从官网下载最新版即可。

启动完成后,在浏览器里输入​​http://localhost:5601/​​ 即可看到kibana界面,首次运行,会提示创建index,直接点击Create按钮即可。

然后,就能看到类似下面的界面了:

ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程  good_字段_03

 

参考文章:

​http://baidu.blog.51cto.com/71938/1676798?utm_source=tuicool&utm_medium=referral​

​https://www.elastic.co/products​

​http://kibana.logstash.es/content/​

标签:ELK,good,http,log,Kibana,elasticsearch,kibana,搜索,logstash
From: https://blog.51cto.com/u_15147537/5986828

相关文章

  • ELK日志分析平台环境部署
    注释:原理部分粘贴自https://www.cnblogs.com/kevingrace/p/5919021.html日志概念介绍:日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解......
  • Kubernetes 部署 ELK
    Kubernetes部署ELK项目背景k8s集群搭建后,平时运维过程中不仅要观察监控平台,查看集群运行情况,还要在集群出现问题时,对问题点进行及时定位,由于集群内pod过多后,日志定位比......
  • Codeforces Good Bye 2022 CF 1770 F Koxia and Sequence 题解
    题目链接注意题目要求的是所有好序列的所有元素的XOR之和的XOR之和。我一开始以为是所有XOR之和的加法和导致不知道官方题解在讲什么。假设我们枚举一个位置\(1\lei\le......
  • angularJS友好URL实现 good
    nginx部署angularjs时的rewrite问题使用h5+angularjs完成了一个项目此项目在正式环境上使用nginx做webserver此项目的入口在微信/微博分享中由于分享时的项目访问地址中......
  • curl命令常见用法汇总 good
     ​​curl​​是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。curl是一个强大的命令行工具,它可以通过网络将信息传递给服务器或者从服......
  • ELK日志收集&&日志收集方案
    31.ELK日志收集日志分析系统-k8s部署ElasticSearch集群-帝都攻城狮-博客园(cnblogs.com)https://blog.csdn.net/miss1181248983/article/details/11377394331.......
  • Java中动态代理技术生成的类与原始类的区别 (good)
    用动态代理的时候,对它新生成的类长什么样子感到好奇.有幸通过一些资料消除了心里的疑惑.平时工作使用的Spring框架里面有一个AOP(面向切面)的机制,只知道它是把类......
  • Good Bye 2021: 2022 is NEAR D
    D.KeeptheAverageHigh题链又是任何一个任意正整数z,2x+3y=z有整数解。namo对于一个区间和为负数这个区间肯定可以又一些个长度为2长度为3的小区间构成要是我们......
  • Good Bye 2022: 2023 is NEAR
    题目链接A核心思路:其实就是考察一个muliset的应用,这个和set的区别是它可以储存重复的元素。然后需要注意题目啊,必须得进行m次操作.#include<iostream>#include<set>#i......
  • Goodbye 2022!!!!
    碌碌无为的一年。苍白的一年。没有什么令人欣喜的成果,也没有什么脚踏实地的进步。倒是目睹了勇士王朝再续辉煌,学长们纷纷成功,阿根廷又一位球王登基。也在混乱的疫情时代......