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: log
  enabled: true
  paths:
    - /var/log/*.log

output.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.0
    container_name: elasticsearch
    environment:
      - node.name=elasticsearch
      - discovery.type=single-node
      - ES_JAVA_OPTS=-Xms512m -Xmx512m
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 1g
    volumes:
      - es_data:/usr/share/elasticsearch/data
    ports:
      - "9200:9200"

  kibana:
    image: docker.elastic.co/kibana/kibana:7.17.0
    container_name: kibana
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    volumes:
      - ./kibana.yml:/usr/share/kibana/config/kibana.yml
    ports:
      - "5601:5601"
    mem_limit: 1g

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

今日推荐

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

相关推荐

  1. Ubuntu安装elasticsearch

    2024-07-22 08:06:02       34 阅读
  2. Ubuntu 下 Docker安装 2024

    2024-07-22 08:06:02       22 阅读
  3. 2024elasticsearch安装及使用建议

    2024-07-22 08:06:02       36 阅读
  4. Ubuntu2204安装小熊猫C++/DevCpp

    2024-07-22 08:06:02       70 阅读
  5. ubuntu2204,mysql8.x安装

    2024-07-22 08:06:02       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 08:06:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 08:06:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 08:06:02       45 阅读
  4. Python语言-面向对象

    2024-07-22 08:06:02       55 阅读

热门阅读

  1. 力扣1882.使用服务器处理任务

    2024-07-22 08:06:02       18 阅读
  2. redis常用架构以及优缺点

    2024-07-22 08:06:02       17 阅读
  3. 保研面试高频问题——day1

    2024-07-22 08:06:02       17 阅读
  4. Linux内存管理--系列文章八——内存管理架构

    2024-07-22 08:06:02       15 阅读
  5. R和RStudio的下载和安装(Windows 和 Mac)

    2024-07-22 08:06:02       14 阅读
  6. PO设计模式

    2024-07-22 08:06:02       16 阅读
  7. 【Python】探索 Python 中的 slice 方法

    2024-07-22 08:06:02       15 阅读
  8. WEB渗透信息收集篇--IP和端口信息

    2024-07-22 08:06:02       19 阅读
  9. rabbitmq笔记

    2024-07-22 08:06:02       19 阅读