热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

单机ELK服务搭建

ELK是三个开源软件的缩写,分别表示:Elasticsearch ,Logstash,Kibana,它们都是开源软件。以上三款软件依赖jdk1.8,请自行安装,不再赘述。废话不多说

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。

以上三款软件依赖jdk1.8,请自行安装,不再赘述。

废话不多说,直接开始安装,此次使用版本

Logstash:7.17.1  (https://artifacts.elastic.co/downloads/logstash/logstash-7.17.1-linux-x86_64.tar.gz)

Elasticsearch:7.17.1  (https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.1-linux-x86_64.tar.gz)

Kibana:7.17.1  (https://artifacts.elastic.co/downloads/kibana/kibana-7.17.1-linux-x86_64.tar.gz)

 

一、下载软件安装包至/usr/local下,并依次解压

cd /usr/local
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.1-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.17.1-linux-x86_64.tar.gz
wget https://
artifacts.elastic.co/downloads/kibana/kibana-7.17.1-linux-x86_64.tar.gz

tar -zxvf elasticsearch-7.17.1-linux-x86_64.tar.gz
tar -zxvf logstash-7.17.1-linux-x86_64.tar.gz
tar -zxvf kibana-7.17.1-linux-x86_64.tar.gz

二、安装Elasticsearch(Logstash和Kibana都需要配置其地址,故优先安装)

1、因Elasticsearch、Kibana不支持用root启动,故新建用户elk,并将Elasticsearch所在文件夹的属组和属主都赋权给elk,并切换用户至elk

useradd elk
chown
-R elk:elk elasticsearch-7.17.1
su elk

2、在config中修改elasticsearch.yml

ingest.geoip.downloader.enabled: false
xpack.security.enabled:
true
xpack.security.authc.api_key.enabled:
true
xpack.security.transport.ssl.enabled:
true
cluster.name: es
-cluster
node.name: node
-1
path.data: /usr/local/elasticsearch-7.17.1/data ##此data文件夹默认无,需要用elk用户创建

path.logs: /usr/local/elasticsearch-7.17.1/logs

bootstrap.memory_lock:
false
network.host:
0.0.0.0
http.port:
9200
http.cors.enabled:
true
http.cors.allow
-origin: "*"
cluster.initial_master_nodes: [
"node-1"]

3、在bin目录下启动Elasticsearch。初始搭建建议前台启动,能随时看到错误。调试无误后后台启动命令 ./elasticsearch -d

[elk@data-anal bin]$ ./elasticsearch

出现如下报错,原因为每个进城同时打开的文件数太小

退回至root用户,使用root用户修改/etc/security/limits.conf,添加如下内容,此文件修改完成后需退出用户重新登录

* soft nofile 65536
* hard nofile 65536

出现如下报错,原因为

 

使用root用户修改 /etc/sysctl.conf ,添加如下内容

vm.max_map_count=262144
/sbin/sysctl -p #执行此命令立即生效

重新切换回elk用户重新启动

4、启动成功后使用其端口访问http://192.168.2.34:9200,显示如下,此时需要设置ELK相关用户密码。

5、在bin目录下,出现如图下所示,依次设置密码即可!

[elk@data-anal bin]$ ./elasticsearch-setup-passwords interactive

 

 6、在浏览其中输入账号(elastic)密码,出现如下图,则安装成功。

三、安装Logstash(在需要收集日志的服务器)

1、使用root用户编辑  

cd /usr/local/logstash-7.17.1
vim config
/logstash.yml

2、修改如下内容

node.name: logstash-node-1
path.data:
/usr/local/logstash-7.17.1/data
config.reload.automatic:
true
config.reload.interval: 3s

3、在config下创建日志收集配置文件

cp logstash-sample.conf logstash.conf

4、添加如下内容

input {
file {
path
=> "/opt/logs/2022-03-17/*.log"
start_position
=> beginning
sincedb_path
=> "/dev/null"
codec
=> multiline {
pattern
=> "^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}"
negate
=> true
auto_flush_interval
=> 3
what
=> previous
}
}
}
filter {
if [path] =~ "info" {
mutate { replace
=> { type => "sys-info" } }
grok {
match
=> { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match
=> [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
else if [path] =~ "error" {
mutate { replace
=> { type => "sys-error" } }
}
else {
mutate { replace
=> { type => "random_logs" } }
}
}
output {
elasticsearch {
hosts
=> '192.168.2.34:9200'
user
=> 'elastic'
#password
=> 'changeme'
}
stdout { codec
=> rubydebug }
}

5、启动Logstash,这里启动较慢,出现如下图所示,表示启动成功。后台启动

./logstash -f ../config/logstash.conf

 

 6、启动成功后,Logstash就会将监听的文件内容发送至 Elasticsearch 

四、安装Kibana(elk用户)

1、因 Kibana 不允许用root用户启动,先设置Kibana所在文件夹属主与属组,再切换至elk用户,

chown -R elk:elk /usr/local/kibana-7.17.1-linux-x86_64
su elk

2、修改kibana.yml

cd /usr/local/kibana-7.17.1-linux-x86_64
vim config
/kibana.yml

3、修改如下内容

server.port: 5601
server.host:
"0.0.0.0"
elasticsearch.hosts: [
"http://192.168.2.34:9200"]
kibana.index:
".kibana"
elasticsearch.username:
"kibana_system"
elasticsearch.password:
"changeme"
i18n.locale:
"zh-CN"

 4、启动 kibana,后台启动 nohup ./kibana & 

[elk@data-anal bin]$ ./kibana

5、通过http://192.168.2.34:5601访问kibana服务,出现如下图则 Kibana 安装成功。

 

 6、使用elastic+密码登录后,添加集成

Management -> Stack Management ->  索引模式 -> 添加集成  -> 搜索 Elasticsearch -> 添加 Elasticsearch 

 7、创建索引,此条数据源即为从Logstash收集的日志信息存储到了 Elasticsearch 上。

 

8、创建完索引,即可在Analytics -> Discover 中查看日志信息

 



推荐阅读
  • 初识java关于JDK、JRE、JVM 了解一下 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 解决IDEA配置xml文件头报错的方法
    本文介绍了解决IDEA配置xml文件头报错的方法,包括了具体的解决方案和步骤。通过本文的指导,读者可以轻松解决这个问题并正常使用IDEA进行开发工作。 ... [详细]
  • 如何搭建服务器环境php(2023年最新解答)
    导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
  • OAuth2.0指南
    引言OAuth2.0是一种应用之间彼此访问数据的开源授权协议。比如,一个游戏应用可以访问Facebook的用户数据,或者一个基于地理的应用可以访问Foursquare的用户数据等。 ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
  • 本文摘要配置目的:寄存器配置用于更改路由器启动过程。配置目的:寄存器配置用于更改路由器启动过程。启动位由4位16进制寄存器组成格式:0xA ... [详细]
  • 本文内容皆为作者原创,如需转载,请注明出处:https:www.cnblogs.comxuexianqip13045462.html1.自定义分页器的拷贝及使用当我们需要使用 ... [详细]
  • 本篇文章给大家带来的内容是如何修改数据库root密码?修改数据库root密码的步骤。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。第一步:打开通达oamysql远程 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
author-avatar
qinqin20082602898705
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有