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,一经查实,立即删除!

相关文章

RUNNOOB python练习题 28 递归 数列

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

RUNOOB python练习题29

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

定时任务(Spring Cloud Task)

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

服务被人当肉鸡了,叫一路赚钱 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

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有利用中括号操…

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代码。以下是一些有用的插件和工…

RUNOOB python练习题 35 python print各色字体及背景

用来练手的python练习题&#xff0c;原题链接: python练习实例35 题干: 文本颜色设置 python中通过指令可以控制输出的背景颜色&#xff0c;前景颜色&#xff0c;以及显示方式。指令的语法如下: ’\033[显示方式&#xff1b;前景色&#xff1b;背景色m 输出字符 \033[0m’ 其…

for else语句小tips : RUNOOB python练习题36

用来练手的python练习题&#xff0c;原题链接: python练习实例36 题干: 求100之内的素数 求某个范围内的素数&#xff0c;和之前的一个例题其实是一样的&#xff0c;上次的同类例题链接如下: python练习实例12 在实现题目要求时&#xff0c;这次用了for else语句&#xff0c…

RUNOOB python练习题37 对一个序列的数进行排序

用来练手的Python练习题&#xff0c;原题链接: python练习实例37 题干: 对10个数进行排序 在我们使用Numpy模块时&#xff0c;这个问题是非常简单的&#xff0c;下面放出降序排列和升序排列的代码: 升序排列 import numpy as npresult np.zeros(10) for i in range(result…

逆向学习-IDApython(一)

背景 IDAPython 由三个分离的模块组成,他们分别是 idc,idautils 和 idaapi。 idc(注意大小写,不是 IDA 中的 IDC)是一个封装了 IDA 的 IDC 的兼容性模块,idautils 是 IDA 的高级实用功能模块,idaapi 允许了我们访问更加底层的数据。 基本操作 idc.Screen或者here()返回此时的地…

RUNOOB python练习题 39 数组排序

用来练手的python练习题&#xff0c;原题链接: python练习实例39 题干: 有一个已经排好序的数组。现输入一个数&#xff0c;要求按原来的规律将它插入数组中。 这个题目用列表List的sort&#xff0c;append方法非常简单&#xff0c;如下: 想要升序排列的话&#xff0c;就直接…

IIS 部署asp.net Provisional headers are shown 在VS2005返回值,部署不返回值

IIS 部署asp.net Provisional headers are shown 在VS2005调试返回值&#xff0c;部署到IIS不返回值 首先当时为了跨域的问题&#xff0c;在上面 后来把跨域的内容放在IIS去解决 其次&#xff0c;在每次返回结束的时候&#xff0c;加一句话 Response.End();

RUNOOB python练习题44

用来练手的python练习题&#xff0c;原题链接:python练习实例44 题干: 两个 3 行 3 列的矩阵&#xff0c;实现其对应位置的数据相加&#xff0c;并返回一个新矩阵 使用基本的List类写起来就比较麻烦&#xff0c;需要初始化一个3*3的全0矩阵&#xff0c;之后通过遍历将矩阵对应…