做淘客网站的公司,网站建设的培训班,新闻株洲最新,彩票网站开发与建设一、ELK知识了解
1-ELK组件
工作原理#xff1a; #xff08;1#xff09;在所有需要收集日志的服务器上部署Logstash#xff1b;或者先将日志进行集中化管理在日志服务器上#xff0c;在日志服务器上部署 Logstash。 #xff08;2#xff09;Logstash 收集日志#…一、ELK知识了解
1-ELK组件
工作原理 1在所有需要收集日志的服务器上部署Logstash或者先将日志进行集中化管理在日志服务器上在日志服务器上部署 Logstash。 2Logstash 收集日志将日志格式化并输出到 Elasticsearch 群集中。 3Elasticsearch 对格式化后的数据进行索引和存储。 4Kibana 从 ES 群集中查询数据生成图表并进行前端数据的展示。
2- ELK部署
1、环境
(1) 操作系统版本 [rootkk ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) (2) docker版本( docker安装 --参考-http://t.csdnimg.cn/wiQTu [rootkk ~]# docker -v Docker version 24.0.7, build afdd53b (3) 本次ELK三个组件选择官网最新8.7.1版本 [rootkk ~]# systemctl start docker //启动docker //拉取镜像文件 [rootkk ~]# docker pull docker.elastic.co/elasticsearch/elasticsearch:8.11.1 //这是最新版本 [rootkk ~]# docker pull elasticsearch:8.7.1 //本文用8.7版本 # 查看镜像 docker images [rootkk ~]# docker images 2.创建一个ELK容器通信专用网络 [rootkk ~]# docker network create elastic 6d32f1379cdbe03a44fafd7445aae8dcb15c79825d9ec6f2e34234abcd633f26 查看建立的信道情况docker network ls 如下图所示 3.创建ELK目录方便容器启动后目录挂载 [rootkk ~]# mkdir -p /etc/{elasticsearch,kibana,logstash} 4. 拉取配置文件 # 启动elasticsearch [rootkk ~]# docker run -d --name es --net elastic -P -e discovery.typesingle-node elasticsearch:8.7.1 50d2ef8abc301f370664b137c6d6f93bf8dd72b2b7539d4509d8571a04591515 # 进入容器内 # 进入配置文件目录 [rootkk ~]# docker exec -it es /bin/bash elasticsearch50d2ef8abc30:~$ cd /usr/share/elasticsearch/config 容器内工作目录为/usr/share/elasticsearch/config # 退出容器 elasticsearch50d2ef8abc30:~/config$ exit exit # 复制文件 [rootkk ~]# docker cp es:/usr/share/elasticsearch/config/elasticsearch.yml /etc/elasticsearch/config Successfully copied 2.56kB to /etc/elasticsearch/config # 修改权限 chmod -R 777 /etc/elasticsearch 5.重新启动容器并挂载目录 查看运行的容器 [rootkk ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c2a3a23141dd elasticsearch:8.7.1 /bin/tini -- /usr/l… 9 minutes ago Up 9 minutes 0.0.0.0:32769-9200/tcp, :::32769-9200/tcp, 0.0.0.0:32768-9300/tcp, :::32768-9300/tcp es # 删除临时启动容器 vibrant_blackwell [rootkk ~]# docker rm -f es es # 启动容器挂载目录 docker run -d --name es --net elastic -p 9200:9200 -p 9300:9300 -e discovery.typesingle-node -v /etc/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /etc/elasticsearch/data/:/usr/share/elasticsearch/data -v /etc/elasticsearch/plugins/:/usr/share/elasticsearch/plugins --privilegedtrue elasticsearch:8.7.1 [rootkk ~]# docker run -d elasticsearch:8.7.1 e48d06b30424b9d345431152cc69d0870fcbf2e0cbe60f48e3a3e9b51684788e # 若无加载的容器那么需要重启docker sudo systemctl restart docker # 查看容器状态 docker ps # 查看容器日志状态 docker logs -f es 总算启动成功。 插曲
期间出现下面问题删除容器docker 重装不成功之后把容器删除重新挂载后再次启动容器反复尝试。
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting /etc/elasticsearch/config/elasticsearch.yml to rootfs at /usr/share/elasticsearch/config/elasticsearch.yml: stat /etc/elasticsearch/config/elasticsearch.yml: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
查询解决方案 这个错误通常是由于容器无法启动导致的。错误信息中提到了一个文件路径的问题可能是由于文件路径不存在或者文件类型不匹配导致的。建议您检查一下容器的配置文件确保文件路径正确并且文件类型与容器内部的文件类型匹配。如果文件路径正确但是文件类型不匹配您可以尝试将文件复制到容器内部并将其类型更改为正确的类型。如果问题仍然存在您可以尝试重新安装Docker或者更新Docker版本以确保Docker的正常运行。 没办法只能重新安装下docker 版本再从头来。
6.验证elasticsearch是否正常启动 curl 172.20.193.85:9200