热门标签 | 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 中查看日志信息

 



推荐阅读
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 本文提供了详细的 Filebeat 部署指南,涵盖了解压安装包、配置文件编辑以及启动服务等关键步骤。具体操作包括使用 `tar -zxvf filebeat-6.1.1-linux-x86_64.tar.gz` 解压安装包,并通过 `vi /home/elk/filebeat-6.4.2-linux/filebeat.yml` 编辑配置文件。此外,文章还介绍了最佳实践,帮助用户确保 Filebeat 的高效运行和数据传输的可靠性。 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • 深入解析Spring框架中的双亲委派机制突破方法
    在探讨Spring框架中突破双亲委派机制的方法之前,首先需要了解类加载器的基本概念。类加载器负责将类的全限定名转换为对应的二进制字节流。每个类在被特定的类加载器加载后,其唯一性得到保证。然而,这种机制在某些场景下可能会限制灵活性,因此Spring框架提供了一些策略来突破这一限制,以实现更加动态和灵活的类加载。这些策略不仅能够提升系统的可扩展性,还能在复杂的运行环境中确保类的正确加载和管理。 ... [详细]
  • Joomla!软件介绍【Joomla!概括介绍】国外相当知名的内容管理系统。【Joomla!基本介绍】Joomla!是一套在国外相当知名的内容管理系统(ContentManagem ... [详细]
  • 在 Debian 11 系统中部署 CMake 的详细步骤与最佳实践
    CMake是一个免费、开源、跨平台的工具系列,旨在构建、测试和打包软件. CMake用于使用简单的平台和独立于编译器的配置文件来控制软件编译过程,并生成可在您选择的编译器环境中使用 ... [详细]
  • Logstash安装配置
    阅读此文请先阅读上文:[大数据]-Elasticsearch5.3.1IK分词,同义词联想搜索设置,前面介绍了ES,Kiba ... [详细]
  • 在 CentOS 7 环境中使用 MySQL 5.6 镜像启动数据库时遇到权限问题,本文将详细探讨并提供解决方案。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
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社区 版权所有