posts - 359,comments - 0,views - 19万

Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。

Elasticsearch特点

海量数据处理 

  • 大型分布式集群(数百台规模服务器)

  • 处理PB级数据

  • 小公司也可以进行单机部署

 开箱即用

  • 简单易用,操作非常简单

  • 快速部署生产环境

 作为传统数据库的补充

  • 传统关系型数据库不擅长全文检索(MySQL自带的全文索引,与ES性能差距非常大)

  • 传统关系型数据库无法支持搜索排名、海量数据存储、分析等功能

  • Elasticsearch可以作为传统关系数据库的补充,提供RDBM无法提供的功能

使用案例ELK

部署es

docker pull elasticsearch:7.1.1
docker network create elkwork     # 创建自定义的网络(用于连接到连接到同一网络的其他服务(例如Kibana))
docker run -d --name elasticsearch --net elkwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.1.1
curl 192.21.1.81:9200   #测试是否部署成功

 

 

部署kibana

docker pull kibana:7.1.1
docker run -d --name kibana --net elkwork -p 5601:5601 kibana:7.1.1
访问 http://127.0.0.1:5601 

安装 Logstash

复制代码
docker pull logstash:7.1.1
mkdir -p /mnt/logstash
mkdir /mnt/logstash/conf.d
cd /mnt/logstash

cat > /mnt/logstash/logstash.yml << EOF
> path.config: /usr/share/logstash/conf.d/*.conf
> path.logs: /var/log/logstash
> EOF


cat > /mnt/logstash/conf.d/test.conf <<EOF
> input {
> beats {
> port => 5044
> codec => "json"
> }
> }
>
> output {
> elasticsearch { hosts => ["elasticsearch:9200"] }
> stdout { codec => rubydebug }
> }
> EOF

复制代码

 

docker run -it -d -p 5044:5044 --name logstash --net elkwork -v /mnt/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml -v /mnt/logstash/conf.d/:/usr/share/logstash/conf.d/ logstash:7.1.1

 部署 filebeat

复制代码
docker pull store/elastic/filebeat:7.1.1

mkdir /mnt/filebeat
cd filebeat
curl -L -O https://raw.githubusercontent.com/elastic/beats/7.1/deploy/docker/filebeat.docker.yml

cat >> filebeat.docker.yml <<EOF
> filebeat.inputs:
> - type: log
> enabled: true
> paths:
> - /var/log/nginx/*.log
>
> output.logstash:
> hosts: ['{ip}:5044']
> EOF

#新添日志路径,把数据发送到当前网络5044端口 (logstash 端口)

docker run --name filebeat --user=root -d --net elkwork --volume="/usr/local/nginx/logs:/var/log/nginx/" --volume="/mnt/filebeat/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro" --volume="/var/lib/docker/containers:/var/lib/docker/containers:ro" --volume="/var/run/docker.sock:/var/run/docker.sock:ro" store/elastic/filebeat:7.1.1

复制代码

 

 

 

 

 或者:

docker run -d -p 5601:5601 -p 9200:9200 -p 5044:5044 -e ES_MIN_MEM=128m -e ES_MAX_MEM=1024m --name elk sebp/elk

 

posted on   属于我的梦,明明还在  阅读(197)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示