Ubuntu20.04安装Elasticsearch

简介

ELK(Elasticsearch, Logstash, Kibana)是一套开源的日志管理和分析工具,用于收集、存储、分析和可视化日志数据。以下是如何在Ubuntu服务器上安装和配置ELK堆栈以便发送和分析日志信息的步骤。

安装Elasticsearch

首先,安装Elasticsearch
1、导入Elasticsearch公钥:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

2、添加Elasticsearch APT存储库:

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'

3、更新APT包列表并安装Elasticsearch:

sudo apt update
sudo apt install elasticsearch

4、启动并启用Elasticsearch服务:

sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

安装Logstash

接下来,安装Logstash:
1、安装Logstash:

sudo apt install logstash

2、配置Logstash:
创建一个简单的配置文件 /etc/logstash/conf.d/logstash.conf,如下所示:

sudo vim /etc/logstash/conf.d/logstash.conf

示例配置文件:

input {beats {port => 5044}
}filter {# 这里可以添加过滤器配置
}output {elasticsearch {hosts => ["localhost:9200"]index => "logstash-%{+YYYY.MM.dd}"}
}

3、启动并启用Logstash服务:

sudo systemctl start logstash
sudo systemctl enable logstash

安装Kibana

最后,安装Kibana:
1、安装Kibana:

sudo apt install kibana

2、启动并启用Kibana服务:

sudo systemctl start kibana
sudo systemctl enable kibana

3、配置Kibana(可选):
编辑Kibana配置文件 /etc/kibana/kibana.yml:

sudo vim /etc/kibana/kibana.yml

修改以下配置(例如,更改Kibana监听的端口):

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

安装Filebeat(发送日志到Logstash)

1、安装Filebeat:

sudo apt install filebeat

2、配置Filebeat:
编辑Filebeat配置文件 /etc/filebeat/filebeat.yml:

sudo vim /etc/filebeat/filebeat.yml

示例配置文件:

filebeat.inputs:
- type: logenabled: truepaths:- /var/log/*.logoutput.logstash:hosts: ["localhost:5044"]

3、启动并启用Filebeat服务:

sudo systemctl start filebeat
sudo systemctl enable filebeat

访问Kibana

http://<your_server_ip>:5601

效果图如下:
在这里插入图片描述

限制elasticsearch的启动内存

由于本次安装是在虚拟机安装,配置较低,所以出现了内存不足,启动失败的情况,所以需要限制Elasticsearch启动内存。
1、修改Elasticsearch的JVM选项
Elasticsearch的JVM内存设置位于 jvm.options 文件中,通常在 /etc/elasticsearch 目录下。
编辑 jvm.options 文件

sudo vim /etc/elasticsearch/jvm.options

在这个文件中,找到以下行:

-Xms1g
-Xmx1g

-Xms 表示JVM的初始堆内存大小,-Xmx 表示JVM的最大堆内存大小。可以根据需要调整这两个值,例如将其设置为512MB:

-Xms512m
-Xmx512m

保存文件并退出。
2、重启Elasticsearch服务
在修改完 jvm.options 文件后,重启Elasticsearch服务以应用新的内存设置:

sudo systemctl restart elasticsearch

3、验证内存设置
要验证Elasticsearch是否使用了新的内存设置,可以使用以下命令查看Elasticsearch的JVM堆内存配置:

curl -X GET "localhost:9200/_nodes?filter_path=**.jvm.mem"

这个命令将返回所有节点的JVM内存使用信息,可以检查输出中 heap_init_in_bytes 和heap_max_in_bytes 的值是否与设置的值一致。
示例配置
以下是一个示例 jvm.options 文件内容,假设我们将堆内存设置为512MB:

## JVM configuration# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space-Xms512m
-Xmx512m## Add other JVM options here as needed

注意事项
1、内存设置建议:一般建议将 -Xms 和 -Xmx 设置为相同的值,以避免JVM在运行时调整堆大小,从而提高性能稳定性。
2、系统内存分配:确保给Elasticsearch分配的堆内存不会超过系统内存的50%。例如,如果服务器有4GB内存,建议给Elasticsearch分配不超过2GB的堆内存。
3、观察性能:修改内存设置后,观察Elasticsearch的性能和内存使用情况,确保其在生产环境中稳定运行。

配置Kibana支持中文界面

1、修改Kibana配置文件
编辑Kibana的配置文件 kibana.yml,通常位于 /etc/kibana/kibana.yml。

sudo vim /etc/kibana/kibana.yml

在配置文件中,添加或修改以下行:

i18n.locale: "zh-CN"

在这里插入图片描述

重启Kibana服务

sudo systemctl restart kibana

重新访问界面,如图:
在这里插入图片描述

使用Docker Compose安装Kibana并配置内存限制和中文

1、创建Docker Compose文件:
首先,在工作目录中创建一个名为 docker-compose.yml 的文件,并填入以下内容:

version: '3'
services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0container_name: elasticsearchenvironment:- node.name=elasticsearch- discovery.type=single-node- ES_JAVA_OPTS=-Xms512m -Xmx512mulimits:memlock:soft: -1hard: -1mem_limit: 1gvolumes:- es_data:/usr/share/elasticsearch/dataports:- "9200:9200"kibana:image: docker.elastic.co/kibana/kibana:7.17.0container_name: kibanaenvironment:- ELASTICSEARCH_HOSTS=http://elasticsearch:9200volumes:- ./kibana.yml:/usr/share/kibana/config/kibana.ymlports:- "5601:5601"mem_limit: 1gvolumes:es_data:driver: local

2、 创建Kibana配置文件
在与 docker-compose.yml 文件相同的目录中创建一个名为 kibana.yml 的文件,并填入以下内容:

server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
i18n.locale: "zh-CN"

3、启动Docker Compose服务
在终端中导航到包含 docker-compose.yml 和 kibana.yml 文件的目录,然后运行以下命令以启动服务:

sudo docker-compose up -d

通过这些步骤,能够使用Docker Compose安装和配置Kibana,将其内存限制为1GB,并设置界面语言为中文。
若是没有可用的docker镜像源,可根据这篇博客进行配置:docker镜像源自建

今日推荐

小说:《恐龙大军在异界》
推荐原因:猪脚穿越到了传说中的异世界,很麻烦。 他没有变异手枪,电棒,钳子,扳手没有游戏技能,没有中华武术,很蹉跎 但他有迅猛龙,翼龙,剑龙,霸王龙 很黄很暴力!算是比较老的一篇小说了,古早爽文。
在这里插入图片描述

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

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

相关文章

vue3——利用自定义指令实现下拉框分页懒加载

需求&#xff1a;下拉框一开始请求第一页的内容&#xff0c;滚动到最后的时候&#xff0c;请求第二页的内容&#xff0c;如此反复&#xff0c;直到所有数据加载完成。 selectLoadMore.ts //自定义指令&#xff1a;实现下拉框下拉到末尾时&#xff0c;加载下一页的内容 // 使用…

【系统架构设计师】十八、架构设计实践(信息系统架构设计理论与实践2)

目录 四、企业信息系统的总体框架 4.1 战略系统 4.2 业务系统 4.3 应用系统 4.4 企业信息基础设施 4.5 业务流程重组BPR 4.6 业务流程管理BPM 五、信息系统架构设计方法 5.1 行业标准的体系架构框架 5.2 架构开发方法 5.3 信息化总体架构方法 5.4 信息化建设生命周…

防火墙——网络环境支持

目录 网络环境支持 防火墙的组网 web连接上防火墙 web管理口 让防火墙接到网络环境中 ​编辑 管理员用户管理 缺省管理员 接口 配置一个普通接口 创建安全区域 路由模式 透明模式 混合模式 防火墙的安全策略 防火墙转发流程 与传统包过滤的区别 创建安全策略 …

DDoS攻击:威胁与防护策略

DDoS&#xff08;分布式拒绝服务&#xff09;攻击是网络安全领域的一大挑战&#xff0c;对企业造成严重的影响。本文将深入探讨DDoS攻击的原理和防护方法。 DDoS攻击的原理 DDoS攻击通过大量请求&#xff0c;使目标系统无法响应正常请求。攻击者利用多台计算机发送大量请求&am…

气膜羽毛球馆的维护和运营成本解析—轻空间

随着人们对健康生活方式的追求不断增加&#xff0c;羽毛球这项运动也愈发受到欢迎。然而&#xff0c;传统的羽毛球馆往往存在建设周期长、成本高、维护复杂等问题。气膜羽毛球馆作为一种新型的运动场馆解决方案&#xff0c;因其快速搭建、环保节能、舒适环境等优势而逐渐被广泛…

跨平台桌面应用程序框架Electron

用于构建跨平台桌面应用程序的框架。Electron 由 GitHub 开发&#xff0c;它允许开发者使用 Web 技术&#xff08;如 HTML、CSS 和 JavaScript&#xff09;来创建桌面软件。Electron 基于 Node.js 和 Chromium&#xff0c;因此可以提供丰富的功能和性能。 Electron 的主要优点…

netty入门-5 ServerBootstrap与Bootstarp

前言 本来这篇应该紧接着说明Future和Promise。 但是考虑前文第三篇即用到了ServerBootstrap来启动一个服务器&#xff0c;并且我读的闪电侠netty&#xff0c;先写的服务器与客户端启动这部分。索性就先写出来了。主要内容来自闪电侠netty ServerBootstrap ServerBootstrap就…

LabVIEW和IQ测试仪进行WiFi测试

介绍一个使用LabVIEW和LitePoint IQxel-MW IQ测试仪进行WiFi测试的系统。包括具体的硬件型号、如何实现通讯、开发中需要注意的事项以及实现的功能。 使用的硬件​ IQ测试仪型号: LitePoint IQxel-MW 电脑: 配置高效的台式机或笔记本电脑 路由器: 支持802.11ax (Wi-Fi 6) 的…

C语言 | Leetcode C语言题解之第282题给表达式添加运算符

题目&#xff1a; 题解&#xff1a; #define MAX_COUNT 10000 // 解的个数足够大 #define NUM_COUNT 100 // 操作数的个数足够大 long long num[NUM_COUNT] {0};long long calc(char *a) { // 计算表达式a的值// 将数字和符号&#xff0c;入栈memset(num, 0, sizeof(num));in…

探索自注意力机制:目标检测领域的革新者

探索自注意力机制&#xff1a;目标检测领域的革新者 在深度学习的目标检测领域&#xff0c;自注意力机制&#xff08;Self-Attention Mechanism&#xff09;以其独特的能力&#xff0c;为处理图像中的目标提供了一种全新的视角。自注意力机制允许模型在处理图像时&#xff0c;…

Android MVVM最佳实践(LifecyclesRetrofit)

当结合MVVM架构、Lifecycle以及网络请求时&#xff0c;通常会使用Retrofit库来进行网络请求操作。以下是如何在Android应用中整合Retrofit进行网络请求&#xff0c;并与MVVM架构和Lifecycle结合的示例&#xff1a; 1. 添加依赖项 确保在项目的build.gradle文件中添加Retrofit…

开发环境搭建:步入C++编程世界的基石

在探索C++这一强大而灵活的编程语言时,搭建一个高效、舒适的开发环境是每位初学者的首要任务。开发环境不仅影响着编程的效率,还直接关系到编程体验和学习效果。本文将详细阐述如何为C++编程搭建一个全面的开发环境,从选择合适的IDE(集成开发环境)、配置编译器,到管理项目…

2024大家都想掌握的4种PDF翻译技巧

借着互联网的东风现在全球化的交流越发频繁&#xff0c;很多时候都会遇到跨语言交流的问题。外语不好的小伙伴阅读外国文献的时候应该都很头疼吧&#xff0c;这时候pdf翻译成中文的工具就可以解决这个问题啦。 1.福昕翻译 直通车&#xff1a;https://fanyi.pdf365.cn/ 这个…

@Builder注释导致@RequestBody的前端json反序列化失败,HTTP400

项目里发生了一个bug&#xff0c;就是前端请求一个接口时候&#xff0c;报了HTTP 400 Bad Request 通常来说这个问题是前后端的参数没对齐&#xff0c;比如前端传了个String&#xff0c;但后端对应的是Integer。 所以我就排查了半天&#xff0c;结果没发现啥错误&#xff0c;…

PSINS工具箱函数介绍——insplot

insplot是一个绘图命令,用于将avp数据绘制出来 本文所述的代码需要基于PSINS工具箱,工具箱的讲解: PSINS初学指导基于PSINS的相关程序设计(付费专题)使用方法 此函数使用起来也很简单,直接后面加avp即可,如: insplot(avp);其中,avp为: 每行表示一个时间1~3列为姿态…

量化交易策略解读

光大证券-20190606-重构情绪体系&#xff0c;探知市场温度——市场情绪体系系列报告之二.pdf 市场情绪与股市择时体系研究 市场情绪的重要性 市场情绪反映了投资者心理状态的集体体现&#xff0c;对市场走势有同步或滞后的影响&#xff0c;并在某些情况下预示市场转折点。 择…

一键解锁:科研服务器性能匹配秘籍,选择性能精准匹配科研任务和计算需求的服务器

一键解锁&#xff1a;科研服务器性能匹配秘籍 HPC科研工作站服务器集群细分领域迷途小书童 专注于HPC科研服务器细分领域kyfwq001 &#x1f3af;在当今科技飞速发展的时代&#xff0c;科研工作对计算资源的需求日益增长&#x1f61c;。选择性能精准匹配科研任务和计算需求的服…

力扣39题:组合总和的 Java 实现

引言 力扣&#xff08;LeetCode&#xff09;是一个在线编程平台&#xff0c;提供了大量的编程题目供开发者练习。第39题“组合总和”是一个经典的回溯算法问题&#xff0c;要求找出所有可能的组合&#xff0c;使得组合中的数字之和等于给定的目标值。本文将介绍如何使用 Java …

集合的面试题和五种集合的详细讲解

20240724 一、面试题节选二、来自于b站人人都是程序员的视频截图 &#xff08;感谢人人都是程序员大佬的视频&#xff0c;针对于个人复习。&#xff09; 一、面试题节选 二、来自于b站人人都是程序员的视频截图 hashmap&#xff1a; 唯一的缺点&#xff0c;无序&#xf…

maven项目容器化运行之3-优雅的利用Jenkins和maven使用docker插件调用远程docker构建服务并在1Panel中运行

一.背景 在《maven项目容器化运行之1》中&#xff0c;我们开启了1Panel环境中docker构建服务给到了局域网。在《maven项目容器化运行之2》中&#xff0c;我们基本实现了maven工程创建、远程调用docker构建镜像、在1Panel选择镜像运行容器三大步骤。 但是&#xff0c;存在一个问…