送你一颗子弹 | 私有化部署环境中,从零到一搭建开箱即用的日志和指标收集与监控系统

本文介绍了如何在私有化部署环境中,利用Elasticsearch、Kibana和Beats搭建一个开箱即用的日志和指标收集监控系统。通过自动化部署工具,实现快速部署、简单组件交互和配置代码化,满足日志查看、系统监控及异常告警等功能需求。
摘要由CSDN通过智能技术生成

作者 | 熵简科技后台团队

背景

在当前的项目中,我们已经使用了 Elasticsearch 作为业务的数据储存,同时利用 ansible、docker、jenkins 组合了一套快速部署的工具。在配置好需要部署主机的 ssh 连接信息后,我们可以通过 jenkins 一键部署一个 Elasticsearch 和 Kibana。
在这里插入图片描述

这套系统遵循以下的设计原则:

1.Self-Contained Deployment:我们把所有的部署脚本、配置文件、Jenkins 任务都打包到一个标准化的 Jenkins docker 包中,只要安装到目标的环境上,即可把所有部署所需的工具都一次性带入。

2.Single Source of Truth:在 Jenkins 中内嵌一个 yaml 格式的配置文件管理器,对于所有部署需要依赖的变量进行统一管理,例如xx系统后端对外暴露的端口号,只在 Jenkins 中配置一次,所有的脚本都会自动读取该变量。

3.Configuration as Code, Infrastructure as Code:当所有的配置确定下来后,后续的流程理论上是可以做到全自动化的,所以所有的安装都通过脚本来完成。

需求分析

在私有化部署的环境中,日志的收集使用有几个特点:

1.需要能快速部署。由于客户的数量较多,我们需要能快速地部署监控系统,监控系统本身的运维压力需要较小。

2.部署组件要简单,且健壮性强。由于部署环境较为复杂,希望每个组件自身是健壮的,同时组件之间的交互尽量简单,避免复杂的网络拓扑。

3.功能性优于稳定性。由于日志和指标信息本身在宿主主机和应用上是有副本的,所以即时监控系统的数据丢失了,影响也不大。但是如果系统能提供更多强大的功能,对于分析是很有帮助的。

4.性能要求不高。由于私有化环境对接系统的容量和复杂度可控,可以使用单机部署,同时查询慢一些也没关系。

同时需要满足几个需求:

1.需要能采集分布式的日志,并且集中式地查看。

2.需要能采集机器的

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值