ELK 6.2.4搭建

开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。

官方网站:https://www.elastic.co/products

  • Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

  • Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。

  • Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

ELK下载:https://www.elastic.co/downloads/

ELK工作原理:

 

ElasticSearch

配置ElasticSearch:

1

2

unzip elasticsearch-6.2.4.zip

cd elasticsearch-6.2.4

然后编辑ES的配置文件:

1

vi config/elasticsearch.yml

修改以下配置项:

1

2

3

4

5

6

7

cluster.name=es_cluster

node.name=node0

path.data=/tmp/elasticsearch/data

path.logs=/tmp/elasticsearch/logs

#当前hostname或IP,我这里是node1

network.host=node1

network.port=9200

其他的选项保持默认,然后启动ES:

1

nohup sh elasticsearch > nohup.log &

注意:

1.需要添加用户elk,ES不能以root用户进行启动

2.可能出现的错误:

  • max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

1

2

3

vi /etc/security/limits.conf

elk soft nofile 819200 

elk hard nofile 819200

  • max number of threads [1024] for user [work] likely too low, increase to at least [2048]

1

2

3

4

vi /etc/security/limits.d/90-nproc.conf

*          soft    nproc     1024

#修改为:

*          soft    nproc     2048

  • max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

1

2

3

4

5

vi /etc/sysctl.conf

#增加改行配置:

vm.max_map_count=655360 

#保存退出后,执行: 

sysctl -p

  • 另外再配置ES的时候,threadpool.bulk.queue_size 已经变成了thread_pool.bulk.queue_size ,ES_HEAP_SIZE,ES_MAX_MEM等配置都变为ES_JAVA_OPTS这一配置项,如限制内存最大最小为1G:

1

export ES_JAVA_OPTS="-Xms1g -Xmx1g"

然后可以打开页面http://node1:9200/,将会看到以下内容:(我是通过外部访问虚拟机,因此为了简单没有配置host文件,直接用ip访问)

Logstash

配置Logstash:

1

2

tar -zxvf logstash-6.2.4.tar.gz

cd logstash-6.2.4

编写配置文件(名字和位置可以随意,这里我放在config目录下,取名为log_app.conf):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

vi config/log_app.config

#以下为内容

input {

        file {

                path => "/usr/local/software/elk/app.log"

                start_position => "beginning" #从文件开始处读写

        }

#       stdin {}  #可以从标准输入读数据

}

filter {

  #Only matched data are send to output.

}

output {

  # For detail config for elasticsearch as output,

  # See: https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html

  elasticsearch {

    action => "index"          #The operation on ES

    hosts  => "node1:9200"     #ElasticSearch host, can be array.

    index  => "applog"         #The index to write data to.

  }

}

其他的选项保持默认,然后启动Logstash:

1

2

# -f为指定配置文件

nohup sh ./bin/logstash -f ../config/log_app.config > nohup.log &

日志:

 

Kibana

配置Kibana:

1

2

tar -zxvf kibana-6.2.4-linux-x86_64.tar.gz

cd kibana-6.2.4-linux-x86_64

修改以下几项(由于是单机版的,因此host的值也可以使用localhost来代替,这里仅仅作为演示):

1

2

3

4

server.port: 5601

server.host: “node1”

elasticsearch.url: http://node1:9200

kibana.index: “.kibana”

启动kibana:

1

nohup sh ./bin/kibana nohup.log &

启动后界面:

然后需要创建index,步骤如下:

①点击左边iscover出现以下界面


 

②按照注释配置,然后点击Next step,在第二页 选择@timestamp点击create创建



③创建完成之后,可以看到以下一个界面,红框内是 自动生成的域,也可以理解为 跟数据库中的字段类似,其中有一个message字段,就是我们想要的日志信息。



④再次点击Discover出现以下界面,可以看到默认搜索的是最后15分钟的日志,可以通过点击设置搜索的时间范围.



⑤可以点击右侧域的add设置需要显示的字段



添加完成之后,日志显示如下:

 

参考:https://my.oschina.net/itblog/blog/547250

     https://blog.csdn.net/abcd_d_/article/details/53018927

     https://blog.csdn.net/qq_34021712/article/details/79364592

         https://www.cnblogs.com/yincheng/p/logstash.html

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vim打开退出命令

打开文件方法:cd /Users/liuchang/.jenkins/secrets && vim initialAdminPassword 退出方法:先按ESC,再输入冒号,在输入命令时,直接输入"q!",如图。 转载于:https://www.cnblogs.com/sma…

RUNNOOB python练习题 28 递归 数列

用来练手的python练习题其28,原题链接:python练习实例28 题干: 有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比…

使用Spring Task完成定时任务

1. 前言 上一篇我们学习了Quartz作为定时任务的框架的使用, 这一篇我们来学习Spring全家桶的SpringTask, 对于主张简单易用的Spring家族来说, SpringTask无疑也是一个轻量级的框架,他比Quartz更容易上手. 2. pom.xml依赖 <dependencies> <dependency> …

python 读写文件

https://www.cnblogs.com/evablogs/p/6725242.html 文件的打开读写关闭&#xff08;文件使用完毕后必须关闭&#xff0c;因为文件对象会占用操作系统的资源&#xff09; 123456789#写文件with open(rD:\Test\1.txt,w) as f: #with比<strong>try....finally<…

RUNOOB python练习题29

用来练手的python练习题其29&#xff0c;原题链接:python练习实例29 题干 : 给一个不多于5位的正整数&#xff0c;要求&#xff1a;一、求它是几位数&#xff0c;二、逆序打印出各位数字。 实际这个正整数无论位数&#xff0c;在python3中都很容易实现。源代码如下: def ent…

定时任务(Spring Cloud Task)

引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.sprin…

P3357 最长k可重线段集问题 网络流

P3357 最长k可重线段集问题 题目描述 给定平面 x-O-yx−O−y 上 nn 个开线段组成的集合 II&#xff0c;和一个正整数 kk 。试设计一个算法&#xff0c;从开线段集合 II 中选取出开线段集合 S\subseteq IS⊆I ,使得在 xx 轴上的任何一点 pp&#xff0c;SS 中与直线 xpxp 相交的开…

服务被人当肉鸡了,叫一路赚钱 xig

网上看了一下&#xff0c;说有专门人研究服务 个人怀疑是阿里云内部人干的&#xff0c;因为买了服务器后&#xff0c;没有安装对外使用的地址性质的网站&#xff0c;IP开通了之后只有阿里的人知道&#xff0c;上面还有阿里云盾。 看了下进程地址&#xff0c;上面的启动命令 x…

RUNOOB python练习题30 回文数

用来练手的python练习题 30。原题链接:python练习实例30 题干 : 一个5位数&#xff0c;判断它是不是回文数。即12321是回文数&#xff0c;个位与万位相同&#xff0c;十位与千位相同。 与上一个例题类似&#xff0c;判断一个数是不是回文数&#xff0c;我们使用字符串类型更加…

高并发与负载均衡-keepalived-概念介绍

keepalived是用户空间的程序&#xff0c;这个程序会同时在主的lvs和备用的lvs启动 转载于:https://www.cnblogs.com/LXL616/p/10793790.html

asp.net2.0跨域问题

什么叫跨域&#xff1f; 简单理解就是不同服务器&#xff0c;不同域名之间的访问。 1 如何设置asp.net web程序的跨域&#xff1f; 在web.config中添加如下代码 1 <system.webServer> <httpProtocol> <customHeaders> <add name&qu…

RUNOOB python练习题31 根据已输入的字符判断星期几

用来练手的python练习题31&#xff0c; 原题链接 : python练习实例31 题干 : 请输入星期几的第一个字母来判断一下是星期几&#xff0c;如果第一个字母一样&#xff0c;则继续判断第二个字母。 一个条件语句练习题&#xff0c;非常简单了可以说&#xff0c;就是把所有的条件都…

解决FTPClient上传文件为空,显示0字节

JAVA使用FTPClient上传文件时总是为空&#xff0c;而使用FileZilla客户端时却不会。 后来查了下资料&#xff0c;FTP服务器有被动模式和主动模式。&#xff08;具体查另外资料&#xff09; 在JAVA中将FTPClient设置为被动模式即可解决问题。 import org.apache.commons.net.f…

软件工程——结对编程第二次作业

目录 1. 题目及要求2. 功能的设计3. GUI&#xff08;图形用户界面&#xff09;的设计4. 容错机制的设计4.1 选择运算符的容错处理4.2 最大值和题目数输入的容错处理4.3 打开文件容错处理4.4 打印的容错处理5. 程序的运行效果6. 对领航员的评价7. 总结本次作业所开发的程序已上传…

RUNOOB python练习题 32 列表的中括号符号小tips

用来练手的python练习题&#xff0c;原题链接: python练习实例32 题干: 按相反的顺序输出列表的值 拿到题目首先写下如下代码: a [1,2,3,4] for i in range(len(a)):print(a[len(a)-i-1])输出结果如下: 使用一个简单的循环就可以完成这个操作。但其实python有利用中括号操…

redis启动后出现WARNING you have Transparent Huge Pages (THP) support enabled in your kernel问题...

问题描述&#xff1a;启动redis后出现&#xff1a;WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command echo never > /sys/kernel/mm/trans…

Anaconda安装第三方包(whl文件)

先说下环境 Anaconda 对应Python3.5的版本 win7,64位系统。 step1&#xff1a;下载whl文件 step2&#xff1a;打开‘Anaconda Command Prompt‘&#xff0c; 如下图&#xff1a; step3&#xff1a;命令行窗口pip安装&#xff0c;代码如下&#xff1a; pip install 路径whl…

RUNOOB python练习题33 使用join方法实现用逗号分隔列表

用来练手的python练习题&#xff0c;原题链接:python练习实例33 题干: 按逗号分隔列表 用逗号分隔列表&#xff0c;我们就想到了join方法。 str.join(sequence)可以用自定的str字符串分隔一个序列&#xff0c;这个序列可以是字符串&#xff0c;列表&#xff0c;元组&#xff…

Use Vim as a Python IDE

Use Vim as a Python IDE I love vim and often use it to write Python code. Here are some useful plugins and tools for building a delightful vim python environment, escpecially for Vim8: 我喜欢vim&#xff0c;经常用它来编写Python代码。以下是一些有用的插件和工…

sql2008“备份集中的数据库备份与现有的xx数据库不同”解决方法 因为是在另一台电脑对同名数据库做的备份,用常规方法还原,提示不是相同数据库,不让还原,在网上找到下面的方法解决了: 一、右击系

sql2008“备份集中的数据库备份与现有的xx数据库不同”解决方法 因为是在另一台电脑对同名数据库做的备份&#xff0c;用常规方法还原&#xff0c;提示不是相同数据库&#xff0c;不让还原&#xff0c;在网上找到下面的方法解决了&#xff1a; 一、右击系统数据库master&…