企业级应用——ELK(三):filebeat

2020-1-6

提到ELK,就不得不提到EFK,通常意义上说,EFK是指用filebeat代替logstash形成的新组合。(哈,也有是指Fluentd的,这个我们之后再说) Filebeat 是基于原先 logstash-forwarder 的源码改造出来的,无需依赖 Java 环境就能运行,安装包10M不到。 而且如果日志的量很大,Logstash 会遇到资源占用高的问题,为解决这个问题,我们引入了Filebeat。Filebeat 是基于 logstash-forwarder 的源码改造而成,用 Golang 编写,无需依赖 Java 环境,效率高,占用内存和 CPU 比较少,非常适合作为 Agent 跑在服务器上,来实现日志转发的功能。


企业级应用——ELK(二):ELK进阶

2020-1-3

之前我们部署好了ELK的基本架构,也实现了从系统日志以及nginx中收集日志,不过等待我们的问题依然很多:怎么讲收集好的日志放至临时缓存?或者怎么从缓存中提取日志?对于java应用等日志非单行的服务日志该如何收集等等。本文将继续讲解ELK的各种进阶用法。


企业级应用——ELK(一):ELK的部署

2020-1-3

ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。 Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。 Logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。


企业级应用——DevOps(一)gitlab的部署与配置

2019-12-26

在企业生产中,DEVOPS这个概念越来越火了,不同公司对此都有不同的理解,但有一点毋庸置疑,提到DEVOPS都绕不开CI/CD。CI是continuous integration的简称,意为持续集成,CD是continuous deployment或者Continuous Delivery的缩写,意为持续部署或持续交付。


企业级应用——监控(一)zabbix的部署

2019-12-20

常见的开源监控软件有:cacti、nagios、zabbix、smokeping、open-falcon等,本文主要介绍目前使用较多的开源监控软件zabbix,针对容器环境的开源监控软件Prometheus下次再讲解。


Docker(五)——Docker镜像仓库

2019-12-7

比较常见的docker镜像仓库,有docker官方仓库[https://hub.docker.com/](https://hub.docker.com/),和阿里云镜像仓库``https://cr.console.aliyun.com/cn-hangzhou/instances/images``,可以比较方便的拉取镜像或储存容器镜像。而在企业生产中,绝对部分情况我们都是使用企业内部的镜像仓库,来分发部署我们的代码。本文将详细介绍阿里云仓库还有私有云仓库Registry、Harbor的搭建和使用的详细步骤方法。


Docker(四)——容器跨主机网络配置

2019-12-7

跨主机互联是说 A 宿主机的容器可以访问 B 主机上的容器,但是前提是保证各宿主机之间的网络是可以相互通信的, 然后各容器才可以通过宿主机访问到对方的容器, 实现原理是在宿主机做一个网络路由就可以实现 A 宿主机的容器访问 B主机的容器的目的, 复杂的网络或者大型的网络可以使用 google 开源的 k8s 进行互联。本文之后将详细介绍docker网络配置,并演示容器跨主机通信的实现。


Docker(三)——镜像制作

2019-12-6

在docker使用过程中,其实大部分时间都是花在了打镜像上,因为容器本身底层不可写,顶层可读写缺无法持久化性质,我们如果对容器进行了修改,想要进行横向扩容,快速部署时,一般需要重新制作镜像,在分发到其他主机或终端。(虽然也可以将数据储存在NFS和宿主机本地,而不是容器内部来方便的修改配置文件及保存数据等。) docker中镜像的制作方式一般手工修改后导出和通过Dockerfile生成两种方式。


Docker(一)——基础概念及部署

2019-12-4

在企业生产应用中,docker容器技术及k8s的编排管理工具的使用率越来越高,这项技术甚至已经改变了很多企业的架构与框架流程,因为容器技术的出现,可以将应用以集装箱的方式打包交付,使应用在不同的团队中共享,通过镜像的方式应用可以部署于任何环境中。这样避免了各团队之间的协作问题的出现,成为企业实现DevOps目标的重要工具,而且以容器方式交付的Docker技术支持不断地开发迭代,提升了产品开发和交付速度,极大的方便了业务的横向扩容。 且与KVM虚拟化技术不同的是,Docker直接移植于Linux内核之上,通过运行Linux进程将底层设备虚拟隔离,这样系统性能的损耗也要比虚拟机低的多,几乎可以忽略。同时,Docker应用容器的启停非常高效,可以支持大规模的分布系统的水平扩展,真正给企业开发带来福音。