IT外包桌面解决方案--Docker-compose 建立ELK集群的实现方法

| 2020-03-29 19:11:11    标签:

企业上云为什么是数字化转型升级的第一步

 

 

3月17日我们分享了一篇文章,”无企业,不上云”,被各大平台转载分享,这让我们看到了互联网的热情,也看到了企业对上云的渴望,艾锑无限作为阿里云的战略合作伙伴,我们更乐意帮助企业上云,让更多的企业迈向数字化时代.

 

我们相信每一家企业都是IT企业,每一家企业都是互联网企业,每一家企业都是数字化企业,这一切的基础都是基于云,云将会成为企业最重要的基础设施,就像水、媒、电一样的重要.



那为什么云对于企业来说如此重要呢,主要有以下五个方面:


1、应变力
云端快速部署、自由扩展的优势,使网站、APP等应用上线、迭代更加灵活,提高了信息系统的运营效率。云以突出的应变能力,适应多变的企业信息化进程,降低试错成本,加快研发进度,增强企业创新的信心。


2、稳定性
云环境为企业业务创造了一个稳定、可靠的空间,使用户体验更好,客户满意度显著提升。互联网产品获得流量和用户粘性的核心是用户体验,在线用户流畅访问,便捷操作,才会有较高的市场占有率。


3、性价比
云计算优异的性价比,为企业信息化大幅降低了成本。使企业可以把更多的资金,投入到业务创新中。传统企业转型升级存在着大量的不确定性,低成本的云计算帮助企业消除了资金上的顾虑。


4、安全性

转型中的传统企业,因对网络环境不熟悉,担心网络攻击、数据泄露等安全问题。云计算服务商有专业的技术和高效的服务体系,帮助企业保护数据安全、规避安全风险和提供海量数据查询,企业可以专注于网站和应用程序,而不是基础设施。

 

5、扩展性

 

在企业信息化的成本结构中,购买硬件软件成本占比很高,而实际用于开发的支出就相应很低,并且耗费时间较长。如果完全基于云开架设IT系统,几个小时就可完成基本框架。如果业务增加,就是直接购买服务器,边际效益很低,采用云后,由于云计算的高扩展性,通过边际效益可实现成本下降。



综上所述,未来云就像我们用的水、电、媒一样成为企业的必须品,也会是最重要的基础设施一个部分,所以数字化转型的企业,首先要上云,再考虑如何整合和重构企业内部的数据,从而让计算起到主导作用,最终实现企业数字化转型终极目标.



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

https://www.itbmw.com


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



规划

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

总的目录结构如下:

1

2

3

4

5

6

7

8

9

10

11

12

$   tree

.

├──   docker-compose.yml

├──   kibana.yml

├──   node1

│   └── es1.yml

├──   node2

│   └── es2.yml

└──   node3

 └──   es3.yml

 

3   directories, 5 files

编排文件

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

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

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

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配置文件只选取了一个示例如下:

1

2

3

4

5

<p style="text-align:ri