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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/154026.html