Docker-compose 建立ELK集群的实现方法

来源:脚本之家  责任编辑:小易  

  卤水猪大肠是一款菜品,用猪大肠等做成的,菜品口味:中辣  卤水猪大肠的做法  1.买回来的猪大肠清水冲洗几遍再放一大勺盐反复搓洗几遍;  2.再翻面把肥肠里面大部分油和油筋拉扯掉(不要全部扯完留一点口感会好很多),再放盐搓洗干净,再把面翻过来冲洗一下就干净了;  3.水烧开放入肥肠灼水5分钟,用铲子翻匀,灼水后用清水洗净备用;  4.准备材料,八角,花椒,桂皮,陈皮冰糖清洗干净,卤水汁(没有陈皮可不放,卤水汁最好买李锦记的,李锦记卖没买到我买的海天的)  5.高压锅放适量清水,把大肠和所有材料放进去,干辣椒2个也放进去,这是微辣,不吃辣就不放,再倒入卤水汁约50克,老抽少许,盐少许(注意盐

全部编排文件和配置文件可以访问我的 Github ,大家只要修改配置文件中的路径即可快速搭建一个3实例的ES集群和一个Kibana实例。

不敢说“煎饼果子”是天津人的信仰,但是毫无疑问,天津人对煎饼果子是严肃的认真的。先看一则新闻:(二嫂子、德禄斋、津老味三家入选)(来自国家旅游局网站的新闻)没错,就是这个街头小吃现在成为了非物质文化遗产,地位之重,已然不仅在食客之中,而上升到整个城市形象层次。有个天津卫的老哥(无敌吃货&无敌喷货),原来说过一句很在理的话,天津的吃食,在外人眼里,七分靠包子,两分靠煎饼,还有一分就是麻花了……细琢磨一下,嗯!没毛病。没错,煎饼果子的地位就是这样高,能从老天津卫“三绝”中杀出一套血路,也有些许“时代选择”的意味所在……话说天津三绝,也或许是因为,包子全国各地都有,甚至很多名气还大于“狗不理

规划

计划创建3个ES实例组成一个集群,同时创建一个Kibana实例连接该集群。每个ES实例使用本地配置文件,方便配置文件的保存和版本管理。Kibana的配置文件也放在本地,通过文件映射的方式挂载到容器内。

看了那么多外国家装的案例,我们总能发现:很多老外的客厅都没有电视,即使有也不会是客厅的中心,难道外国人真的就不看电视吗?这里的“外国人”,可以理解为主要是欧美家庭,因为我看的图片,多来自于美国、澳大利亚、瑞典、挪威、英国、法国、波兰。事实上,据说他们是有专门的TVroom,而客厅的主要功能是招待客人,和家人之间互相交流、休闲的空间,看电视不是主要功能,所以电视机不放在客厅背景墙中间,或者不正对着沙发很正常,甚至不放电视机也很正常。辣么,老外的客厅又和中国人的客厅有怎样的不同呢?它对于我们中国人而言,又有怎样的借鉴含义呢?对此,我们总结了8个值得中国人借见的老外客厅的用法:第1类:小茶几代替大桌

总的目录结构如下:

受邀回答此问题。之前回答过类似人民币硬币收藏与珍稀度的问题,很多类似的问题因为无论精普制,无论品相与否等因素,空谈价值多寡,无异于不谈剂量说毒性一般。提问来看这是两个问题,第一个问题,长城币有收藏价值吗?肯定有,收藏价值包含诸多,有经济价值,历史价值和文化价值等等。第二个问题,升值空间怎样?升值空间上来说有很多条件,如是过去流通后存下的,那没有什么过多成本,大可长期收藏保存。图上为1980年,1981年和1985年,都是普遍的流通年份而且品相相对一般。相对价值高的1985年普制2角币这里还没有。广义上收藏级装帧发行的长城币,是从1分币到1元币6种币,真正币面有长城图案的其实只是1元币。1980

$ tree . ├── docker-compose.yml ├── kibana.yml ├── node1 │ └── es1.yml ├── node2 │ └── es2.yml └── node3 └── es3.yml 3 directories, 5 files

编排文件

主要的编排文件是 docker-compose.yml

version: "2.1" services: es-node1: image: docker.elastic.co/elasticsearch/elasticsearch:6.7.0 hostname: es-node1 expose: #不会将端口暴露给容器外应用 - "9001" ports: #将端口暴露到宿主机中 - "9200:9200" - "9300:9300" volumes: - ~/Projects/sh-valley/docker-conf/elasticstack/cluster/node1/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml environment: - cluster.name=es-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms256m -Xmx256m" ulimits: memlock: soft: -1 hard: -1 networks: es-cluster-network: ipv4_address: 172.21.0.10 es-node2: image: docker.elastic.co/elasticsearch/elasticsearch:6.7.0 hostname: es-node2 expose: #不会将端口暴露给容器外应用 - "9002" ports: #将端口暴露到宿主机中 - "9201:9201" - "9301:9301" volumes: - ~/Projects/sh-valley/docker-conf/elasticstack/cluster/node2/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml environment: - cluster.name=es-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms256m -Xmx256m" ulimits: memlock: soft: -1 hard: -1 networks: es-cluster-network: ipv4_address: 172.21.0.11 es-node3: image: docker.elastic.co/elasticsearch/elasticsearch:6.7.0 hostname: es-node3 expose: #不会将端口暴露给容器外应用 - "9003" ports: #将端口暴露到宿主机中 - "9202:9202" - "9302:9302" volumes: - ~/Projects/sh-valley/docker-conf/elasticstack/cluster/node3/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml environment: - cluster.name=es-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms256m -Xmx256m" ulimits: memlock: soft: -1 hard: -1 networks: es-cluster-network: ipv4_address: 172.21.0.12 kibana: image: docker.elastic.co/kibana/kibana:6.7.0 ports: - "5601:5601" volumes: - ~/Projects/sh-valley/docker-conf/elasticstack/cluster/kibana.yml:/usr/share/kibana/config/kibana.yml environment: - ELASTICSEARCH_URL=http://es-node1:9200 networks: - es-cluster-network networks: es-cluster-network: driver: bridge ipam: driver: default config: - subnet: 172.21.0.0/16 gateway: 172.21.0.1

ES配置文件只选取了一个示例如下:

cluster.name: elasticsearch-cluster node.name: es-node1 network.bind_host: 0.0.0.0 network.publish_host: 172.21.0.10 http.port: 9200 transport.tcp.port: 9300 http.cors.enabled: true http.cors.allow-origin: "*" node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["172.21.0.10:9300","172.21.0.11:9301","172.21.0.12:9302"] discovery.zen.minimum_master_nodes: 2

Kibana的配置文件如下

server.name: kibana server.host: "0" elasticsearch.hosts: [ "http://es-node1:9200", "http://es-node2:9201", "http://es-node3:9202" ] xpack.monitoring.ui.container.elasticsearch.enabled: false

启动命令

配置文件准备好之后,就可以启动集群了

$ docker-compose up -d

启动过程可能会比较慢,通过命令行可以看到集群节点

$ curl http://localhost:9200/_cat/nodes 172.21.0.12 51 96 29 6.53 6.43 3.72 md - es-node3 172.21.0.11 47 96 30 6.53 6.43 3.72 mdi - es-node2 172.21.0.10 49 96 30 6.53 6.43 3.72 mdi * es-node1

后续使用过程中可以通过 docker-compose 命令启动、停止服务,如果不想保留相关的实例,可以使用 docker-compose down 关闭并删除容器。

参考资料

elasticsearch document

docker-compose自定义网络,固定容器ip地址

docker-compose ports和expose的区别

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

用docker镜像搭建elk后怎么配置客户端

一、简介

1、核心组成

ELK由Elasticsearch、Logstash和Kibana三部分组件组成;

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用

kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

2、四大组件

Logstash: logstash server端用来搜集日志;

Elasticsearch: 存储各类日志;

Kibana: web化接口用作查寻和可视化日志;

Logstash Forwarder: logstash client端用来通过lumberjack 网络协议发送日志到logstash server;

3、ELK工作流程

在需要收集日志的所有服务上部署logstash,作为logstash

agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到Redis,然后logstash

indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana

来结合自定义搜索进行页面展示。

  • 本文相关:
  • docker构建elk docker集群日志收集系统
  • 详解docker目录挂载的方法总结
  • docker中容器的网络配置常用命令详解
  • docker inspect 命令使用技巧
  • 详解docker swarm服务发现和负载均衡原理
  • 搭建docker内网私服的方法(docker-registry with nginx&ssl on
  • docker入门之容器介绍
  • centos7 docker服务无法启动解决方案及实现步骤
  • 使用docker部署influxdb与 mongo的常用命令
  • docker基础命令详解
  • docker 修改文件是否需要重启(命令详解)
  • 用docker镜像搭建elk后怎么配置客户端
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved