来源:木讷大叔爱运维
需求
当进入新的工作环境或建设新的IDC,我们难免要按运维框架去梳理应基础设施环境、应用基础环境、数据库环境、监控环境、中间件集群环境等诸多环节,因为正是这些组成了运维的基本盘,此时我们的核心目标就是“坚持原则与底线,做好运维的基本盘,与各团队建立友好互信的关系”!
运维基本盘
运维工作看似无序,但其实我们的工作脱离不了三大块:
应用基础
应用系统是我们赖以生存的关键,SLA是我们的目标。无论是单体应用、微服务、云原生时代,如何提供标准化、规范化的应用系统,是运维、研发、架构共同面对的。运维要敢于提合理的管理需求、架构要严格把控需求准入、研发要实现需求的平稳落地。例重中间件或数据库的重连机制、连接池机制、Redis禁使用止复杂度高的命令、统一的健康检查、标准的JVM参数等等,如果没有规范限制,那么等待的只有锅从天降!
基础设施
无论是公有云、私有云、混合云,基础设施的管理始终是运维必须要面对的,其主要的消费场景可分为静态和动态两种,其中静态场景为资产盘点、业务系统拓扑;动态场景为统一的生命周期管理、为上层应用提供数据支撑。但无论哪种场景,“保证基础设施的准确性”是个人或团队的第一要务,否则我们将深陷泥潭而无法自拔!
多维度监控
在解决运维如何活着的问题后,我们下一步要面临的问题就是如何活下去,而这一步的关键就是多维度监控。对于监控我们正从基础硬件、操作系统、应用、中间件、业务等具象化的多维度监控,逐步转向logging(日志)、metrics(指标)、tracing(应用跟踪)三大支柱的可观测性。“水满则溢,月满则亏”,或许当我们觉得监控已足够覆盖多维度时,但其实从可观测性角度来看,我们的监控仍有待提高。
如何做好运维基本盘?
“外行看热闹内行看门道”,外行人对运维的第一印象就是工具人,所以我们先从工具入手,正所谓“工欲善其事必先利其器”:
cmdb资产管理
NetBox,一个基础设施资源建模 (IRM) 应用程序,旨在支持网络自动化,用于建模和记录现代网络的领先解决方案。 Snipe-IT,一个开源的资产管理系统, 用于IT资产管理,IT部门通过它能够跟踪谁拥有哪台笔记本电脑、何时购买、包含哪些软件许可证和可用的附件等等。 RackTables,开源IDC数据中心资产管理系统。 蓝鲸CMDB, 一款面向应用的 CMDB,在蓝鲸体系中扮演着基石的角色,为应用提供了各种运维场景的配置数据服务 。 EasyCmdb, 优维科技基于多年IT需求管理和项目实践,打破传统CMDB资产管理的局限,从应用视角出发,管理企业一切软硬件IT资源,提供准确信息供上层平台及周边系统场景消费的产品 。 ITop, 一个开源Web应用程序,适用于IT服务的日常运维管理。
诚然,以上工具我没有全部体验过,但是我们可以面向需求自行去了解。
自动化运维平台
OpsManage, 一款代码部署、应用部署、计划任务、设备资产管理平台。 GIN-VUE-ADMIN,一款基于GIN+VUE+ElementUI开发的全栈基础开发平台 Spug, 面向中小型企业设计的轻量级无Agent的自动化运维平台 OMP智能运维平台(云智慧开源) OpsAny是云原生场景下的智能化运维平台。 鲁班运维平台,基于Go语言+Vue开发的Kubernetes多集群管理平台 Nautobot,一个真实的网络源和网络自动化平台
运维监控系统
wgcloud, 新一代运维监控系统,极简、轻量、高效,专注Linux、Windows等服务器主机的性能监测和健康分析,实时故障告警通知。 HertzBeat赫兹跳动,一个拥有强大自定义监控能力,无需Agent的实时监控告警系统。 夜莺,全面支持 Metrics、Logging、Tracing,向着构建开源、开放、完整的可观测性解决方案迈进。 Zabbix,开源的分布式监控系统,支持多种采集方式和采集客户端,同时支持 SNMP、IPMI、JMX、Telnet、SSH 等多种协议。 Prometheus,Cloud Native Computing Foundation 的一个监控系统项目, 集采集、监控、报警等特点于一体。
日志管理系统
ELK/EFK/EFLK,适合重量级的日志收集场景。 Promtail+Loki+Grafana,适合轻量级日志收集场景。 goaccess, 快速的并基于终端的日志分析工具 。 Plumelog, 简单易用的java分布式日志系统 。 Graylog,一个开源的日志聚合、分析、审计、展现和预警工具;功能上和ELK类似,但又比ELK要简单。 Logging Operator,BanzaiCloud下开源的一个云原生场景下的日志采集方案 。 OpenSearch, 一种分布式,由社区驱动并取得 Apache 2.0 许可的 100% 开源搜索和分析套件。
然而,有了工具并不意味着就“万事俱备”了,而核心的工作对于运维人来说才刚开始:
选择适合当下需求的,摒弃所谓高大上、流于表面的工具; 融入日常运维管理,既要面向静态场景、也要兼顾动态场景,实现动静结合; 经历资源纳管规模的洗礼,从粗放到精细,从分散到聚合; 由点及面,由下到上,能够融会贯通;
因此工具人只是暂时的,精细化管理才是运维人的出路!
总结
运维基本盘就在那里,而真正决定运维人差距的,不是天赋与努力,而是细节。