部署ELK

一、elasticsearch

bash 复制代码
#拉取镜像
docker pull elasticsearch:7.12.1
#创建ELK docker网络
docker network create elk
#启动ELK
docker run -d --name es --net elk -P -e "discovery.type=single-node" elasticsearch:7.12.1
#拷贝配置文件
docker cp es:/usr/share/elasticsearch/config/elasticsearch.yml /app/es/elasticsearch.yml
#删除容器 重新启动
docker run -d --name es \
--net elk \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
--privileged=true \
-v /app/es/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /app/es/data/:/usr/share/elasticsearch/data \
elasticsearch:7.12.1

如果报错jvm内存太小,在宿主机查询到容器的配置文件,并修改内存大小

bash 复制代码
find / -name jvm.options


二、kibana

bash 复制代码
#拉取镜像
docker pull kibana:7.12.1
# 启动 kibana 容器并连接同一网络
docker run -d --name kibana --net elk -P -e "ELASTICSEARCH_HOSTS=http://es:9200" -e "I18N_LOCALE=zh-CN" kibana:7.12.1
#拷贝配置文件
docker cp kibana:/usr/share/kibana/config/kibana.yml /app/kibana/
vi /app/kibana/kibana.yml 把elasticsearch所在服务器ip配置下
#删除容器 重新启动
docker run -d --name kibana \
-p 5601:5601 \
-v /app/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml \
--net elk \
kibana:7.12.1

三、logstash

bash 复制代码
docker pull logstash:7.12.1

docker run -d -P --name logstash --net elk logstash:7.12.1

# 拷贝数据
docker cp logstash:/usr/share/logstash/config /app/logstash/
docker cp logstash:/usr/share/logstash/data /app/logstash/
docker cp logstash:/usr/share/logstash/pipeline /app/logstash/

#文件夹赋权
chmod -R 777 logstash/

vi  /app/logstash/config/logstash.yml 配置es ip

vi  /app/logstash/pipeline/logstash.conf

logstash.conf

bash 复制代码
input {
  tcp {
    mode => "server"
    host => "0.0.0.0"  # 允许任意主机发送日志
    port => 5044
    codec => json_lines    # 数据格式
  }
}

output {
  elasticsearch {
      hosts  => ["http://106.54.220.184:9200"]   # ElasticSearch 的地址和端口
      index  => "elk"         # 指定索引名
      codec  => "json"
  }
  stdout {
    codec => rubydebug
  }
}

修改完配置文件,删除容器、重启容器

bash 复制代码
docker run -d --name logstash --net elk \
--privileged=true \
-p 5044:5044 -p 9600:9600 \
-v /app/logstash/data/:/usr/share/logstash/data \
-v /app/logstash/config/:/usr/share/logstash/config \
-v /app/logstash/pipeline/:/usr/share/logstash/pipeline \
logstash:7.12.1
相关推荐
专注API从业者16 小时前
告别人工盯品!借助 Open Claw 搭建电商商品自动化监控与数据分析系统(完整可运行源码)
大数据·运维·数据库·数据分析·自动化
爱喝水的鱼丶18 小时前
SAP-ABAP:ABAP 用户出口参数传递与上下文获取:SAP 标准数据读取与交互逻辑实现
运维·性能优化·交互·sap·abap·经验交流·出口
IT大白鼠18 小时前
PentestGPT作为AI运维编排工作流自动化底座的技术架构与应用价值评估
运维·人工智能·自动化·pentestgpt
j7~18 小时前
【Git】《Git 系列指南(二):Git基本操作与 reset 三种模式》
运维·git·git安装·git基本操作·git配置·创建git仓库·git reset三种模式
zzzll111119 小时前
n8n 工作流自动化平台入门指南
运维·自动化
醉颜凉19 小时前
Elasticsearch 相关性评分核心解密:tie_breaker 参数作用原理与实战调优全解析
大数据·elasticsearch·jenkins
Hrain-AI19 小时前
Anthropic oncall-kit 开源拆解:运维 Agent 落地范式的四基石与权限边界
运维·人工智能·开源
HXDGCL19 小时前
从“转盘困局”到“直线破局”:华创力科技PTS精密分度输送系统如何重塑自动化产线
运维·科技·自动化
戴西软件20 小时前
国内有哪些智能化RPA工具?——从“录数据”到“做判断”,国产数字员工正在重新定义自动化
运维·自动化·rpa
Linux-lucky20 小时前
28-Linux学习之旅之Maven与Nexus制品库
linux·运维·学习·nginx·tomcat·maven