当前位置: 首页 > news >正文

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镜像源自建

今日推荐

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【STM32 HAL库】ADC
  • 古籍双层PDF制作教程:保姆级古籍数字化教程
  • 掌握互联网路由选择协议:从基础入门到实战
  • ESP8266用AT指令实现连接MQTT
  • 时间序列预测领域公开数据集数据集下载
  • react 样式管理方案除了 styled-components,还有什么推荐的
  • 黑马微服务拆分2 (路由 登录 配置)
  • 学习笔记9:雪花算法
  • 学习笔记12:域名。全球加速,自定义源站,自定义CDN加速
  • JS设计模式(一)单例模式
  • sudo: dnf:找不到命令
  • js-去重多种
  • PHP基础语法(五)
  • MSPM0GXX单片机内部比较器深度解析
  • 【word转pdf】【最新版本jar】Java使用aspose-words实现word文档转pdf
  • python3.6+scrapy+mysql 爬虫实战
  • [deviceone开发]-do_Webview的基本示例
  • CSS 三角实现
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • eclipse的离线汉化
  • ES6--对象的扩展
  • LeetCode18.四数之和 JavaScript
  • OSS Web直传 (文件图片)
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Spring Boot快速入门(一):Hello Spring Boot
  • vue-router 实现分析
  • Webpack入门之遇到的那些坑,系列示例Demo
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • Yii源码解读-服务定位器(Service Locator)
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 分享一份非常强势的Android面试题
  • 给初学者:JavaScript 中数组操作注意点
  • 基于 Babel 的 npm 包最小化设置
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 数据科学 第 3 章 11 字符串处理
  • 用quicker-worker.js轻松跑一个大数据遍历
  • Java性能优化之JVM GC(垃圾回收机制)
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​secrets --- 生成管理密码的安全随机数​
  • ​必胜客礼品卡回收多少钱,回收平台哪家好
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • #{}和${}的区别?
  • (11)MATLAB PCA+SVM 人脸识别
  • (C语言)逆序输出字符串
  • (MTK)java文件添加简单接口并配置相应的SELinux avc 权限笔记2
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (一)u-boot-nand.bin的下载
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • *Django中的Ajax 纯js的书写样式1
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .bat批处理(四):路径相关%cd%和%~dp0的区别