ELK,安装部署

ELK,安装部署

ELK官网

https://www.elastic.co/cn/downloads/?elektra=home&storm=hero

文档

https://www.elastic.co/guide/en/elasticsearch/reference/index.html

ELK组成

  • Beat
    以轻量化方式收集,解析和传输数据
  • Logstash
    采集,转换,充实,然后输出
  • Elasticsearch
    分布式、RESTful 风格的搜索和分析
  • Kibana
    实现数据可视化。

许可证过期解决

https://blog.csdn.net/qq_38774221/article/details/88128768

安装ELK

采用docker方式在线安装

https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
下载镜像,执行下载的服务器需要可以访问互联网,安装有docker
此处我的yum源已配置docker

[root@proxy ~]# yum -y install docker
[root@proxy ~]# systemctl enable docker --now
[root@proxy ~]# systemctl status docker

[root@proxy ~]# docker pull docker.elastic.co/elasticsearch/elasticsearch:8.5.1

把镜像重命名

[root@proxy ~]# docker tag docker.elastic.co/elasticsearch/elasticsearch:8.5.1 elasticsearch:8.5.1

把重命名的镜像导出为tar包

[root@proxy ~]# docker save elasticsearch:8.5.1 -o elasticsearch-8.5.1.tar

把镜像包上传到需要部署的服务器

[root@proxy ~]# scp elasticsearch-8.5.1.tar 192.168.0.21:

需要部署的服务器导入镜像包

[root@docker001 ~]# docker load -i elasticsearch-8.5.1.tar

运行镜像
为 Elasticsearch 和 Kibana 创建新的 docker 网络elastic

[root@docker001 ~]# docker network create elastic

在 Docker 中启动 Elasticsearch。为用户生成密码,并且 输出到终端,以及用于注册 Kibana 的注册令牌。网路为elastic

[root@docker001 ~]# docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -t elasticsearch:8.5.1

启动报错

bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/docker-cluster.log
................
................
ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.

报错翻译

[1]的引导检查失败[1]:最大虚拟内存区域vm。max_map_count[65530]太低,至少增加到[262144]

错误:Elasticsearch未正常退出-请检查/usr/share/eelasticsearch/logs/doker-cluster.log中的日志
............
............
错误:[1]引导检查失败。在开始Elasticsearch之前,您必须解决以下[1]行中描述的问题。
  • 报错为,最大虚拟内存区域vm。max_map_count[65530]太低,至少增加到[262144]
  • max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量。虚拟内存区域是一个连续的虚拟地址空间区域。在进程的生命周期中,每当程序尝试在内存中映射文件,链接到共享内存段,或者分配堆空间的时候,这些区域将被创建。调优这个值将限制进程可拥有VMA的数量。限制一个进程拥有VMA的总数可能导致应用程序出错,因为当进程达到了VMA上线但又只能释放少量的内存给其他的内核进程使用时,操作系统会抛出内存不足的错误。如果你的操作系统在NORMAL区域仅占用少量的内存,那么调低这个值可以帮助释放内存给内核用。
    设置max_map_count,此操作需要root权限
#临时写入,重启服务器失效
#[root@docker001 ~]# sysctl -w vm.max_map_count=262144
#永久写入,配置文件增加
[root@docker001 ~]# vim /etc/sysctl.conf
vm.max_map_count = 262144
#使其立即生效
[root@docker001 ~]# sysctl -p
vm.swappiness = 0
net.core.somaxconn = 1024
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_max_syn_backlog = 1024
vm.max_map_count = 262144

查看max_map_count


[root@docker001 ~]# sysctl -a|grep vm.max_map_count
vm.max_map_count = 262144

再次启动

启动后输出信息,保存好生成的密码和注册令牌,这些值仅在您第一次启动 Elasticsearch 时显示

如果您需要重置用户或其他密码,可进入容器重置

docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password
[root@docker001 ~]# docker run --name es-node01 --net elastic -p 9200:9200 -p 9300:9300 -t elasticsearch:8.5.1

启动后输出信息

✅ Elasticsearch security features have been automatically configured!
✅ Authentication is enabled and cluster connections are encrypted.

ℹ️  Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
  A*TDdgLqU6oyswbHngc9

ℹ️  HTTP CA certificate SHA-256 fingerprint:
  444a24645afff0407e0c85b385b36283367e9eb5137d970cd6de31def44fc1b8

ℹ️  Configure Kibana to use this cluster:
• Run Kibana and click the configuration link in the terminal when Kibana starts.
• Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes):
  eyJ2ZXIiOiI4LjUuMSIsImFkciI6WyIxNzIuMTguMC4yOjkyMDAiXSwiZmdyIjoiNDQ0YTI0NjQ1YWZmZjA0MDdlMGM4NWIzODViMzYyODMzNjdlOWViNTEzN2Q5NzBjZDZkZTMxZGVmNDRmYzFiOCIsImtleSI6IlRIWXptb1FCdnlVTnJCTmxHVkVuOkctRzVZQXNrU0tPajN2NFBsSldiY3cifQ==

ℹ️ Configure other nodes to join this cluster:
• Copy the following enrollment token and start new Elasticsearch nodes with `bin/elasticsearch --enrollment-token <token>` (valid for the next 30 minutes):
  eyJ2ZXIiOiI4LjUuMSIsImFkciI6WyIxNzIuMTguMC4yOjkyMDAiXSwiZmdyIjoiNDQ0YTI0NjQ1YWZmZjA0MDdlMGM4NWIzODViMzYyODMzNjdlOWViNTEzN2Q5NzBjZDZkZTMxZGVmNDRmYzFiOCIsImtleSI6IlRuWXptb1FCdnlVTnJCTmxHVkV2Olk5OVc4LWg5U0xhQUFWNTFoTFRsMlEifQ==

  If you're running in Docker, copy the enrollment token and run:
  `docker run -e "ENROLLMENT_TOKEN=<token>" docker.elastic.co/elasticsearch/elasticsearch:8.5.1`

翻译

✅ Elasticsearch安全功能已自动配置!

✅ 身份验证已启用,群集连接已加密。



ℹ️ 弹性用户的密码(使用“bin/selasticsearch reset Password-u elastical”重置):

A*TDdgLqU6oyswbHngc9



ℹ️ HTTP CA证书SHA-256指纹:

444a24645 fff0407e0c85b385b36283367e9eb5137d970cd6de31缺陷



ℹ️ 配置Kibana以使用此群集:

•运行Kibana并在Kibana启动时单击终端中的配置链接。

•复制以下注册令牌并将其粘贴到浏览器中的Kibana(有效期为30分钟):

eyJ2ZXIiOi4LjUuMSIsImFkciI6WyIxNzIuMTguMC4yOjkyMdAiXwiZmdyyjoiNDQ0YTI0NjQ1YWZmZjA0MDdlMGM4NWIZODViMzYyODMzNjdlOWViNTEzN2Q5NzBjZDZkZTMxZGVmNDrmYzFiOCisimSI6IlRIWXptb1FCdnlVTnJCTmxHVkVuOkctRzVZXNrU0tPajN2NFBsldy3cifQ==



ℹ️ 配置其他节点以加入此群集:

•复制以下注册令牌,并使用“bin/selasticsearch--注册令牌<token>”启动新的Elasticsearch节点(在接下来的30分钟内有效):

eyJ2ZXIiOi4LjUuMSIsImFkciI6WyIxNzIuMTguMC4yOjkyMdAiXwiZmdyyjoiNDQ0YTI0NjQ1YWZmZjA0MDdlMGM4NWIZODViMzYyODMzNjdlOWViNTEzN2Q5NzBjZDZkZTMxZGVmNDRmYzFiOCisimSI6IlRuWXptb1FCdnlVTnJCTmxHVkV2Olk5OVc4LWg5U0xhQUFWNTFoTFRsMlEifQ==



如果您在Docker中运行,请复制注册令牌并运行:

`docker run-e“ENROLLMENT_TOKEN=<TOKEN>”docker.selastic.co/lelasticsearch/eelasticsearch:8.5.1`

验证 Elasticsearch

另开启一个终端,将安全证书从 Docker 容器复制到 您的本地计算机。安全证书文件为http_ca.crt

[root@docker001 ~]# docker cp es-node01:/usr/share/elasticsearch/config/certs/http_ca.crt .

使用安全证书验证您是否可以通过以下方法连接到您的 Elasticsearch 集群 使用 Docker 容器启动时提示的用户的密码。安全证书文件为http_ca.crt,用户为elastic

[root@docker001 ~]# curl --cacert http_ca.crt -u elastic https://localhost:9200
Enter host password for user 'elastic':
{
  "name" : "7e0a653000f4",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "GvdCqk44Sl64iRPeD5Pjzw",
  "version" : {
    "number" : "8.5.1",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "c1310c45fc534583afe2c1c03046491efba2bba2",
    "build_date" : "2022-11-09T21:02:20.169855900Z",
    "build_snapshot" : false,
    "lucene_version" : "9.4.1",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

配置多节点

首次启动 Elasticsearch 时,安装过程默认配置单节点集群。此过程还会生成注册令牌 并将其打印到您的终端。如果您希望节点加入现有集群, 使用生成的注册令牌启动新节点。
注册令牌的有效期为 30 分钟。如果需要生成 新的注册令牌,请在您的 现有节点。此工具在 Docker 的 Elasticsearchdirectory 中可用 容器。bin

例如,在现有节点上运行以下命令以 为新的 Elasticsearch 节点生成注册令牌:es01

docker exec -it es-node01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node

在启动第一个节点的终端中,复制生成的 用于添加新 Elasticsearch 节点的注册令牌。
在新节点上,启动 Elasticsearch 并包含生成的注册令牌。

docker run -e ENROLLMENT_TOKEN="<token>" --name es02 --net elastic -it docker.elastic.co/elasticsearch/elasticsearch:8.5.1

Elasticsearch 现在配置为加入现有集群

配置第二个elasticsearch节点

[root@docker002 ~]# yum -y install docker
[root@docker002 ~]# systemctl start docker
[root@docker002 ~]# systemctl status docker
[root@docker002 ~]# docker load -i elasticsearch-8.5.1.tar
[root@docker002 ~]# docker images


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值