语言:Python/Go/Shell
Web 框架:Flask/Django/Gin/Beego
版本管理、文档和自动化构建部署工具:Git、Confluence、Jenkins
数据库/缓存/中间件:MySQL/Redis/RocketMQ
容器化:Docker/K8S
操作系统:基于 Linux/Mac 开发
1、告警平台:将各个运维系统产生的告警信息进行统一管理,方便查看所有系统的告警记录以及受理状态等
负责告警记录,告警统计模块功能代码开发,在了解业务需求的前提下,通过 Flask、MySQL 等组件框架编写相关 Python 代码,顺利完成任务
主导将原有 Flask 版本的告警平台完整移植为 Django 版本。通过调研对比 Flask 以及 Django 异同进行相关迁移,最终在两周时间内顺利通过 Django 框架实现原先所有功能
负责告警记录采集支持 Webhook 方式。通过新增 Webhook API 方式接收告警信息,提高了告警时效性,并通过新增统一告警接口,为其他系统将告警信息提供了接入告警平台的能力
负责告警消息处理(接收解析)模块设计与代码编写,在原先 API 以及邮件轮询获取告警消息进行解析处理之后,将结构化的消息(如 JSON)推送至 RocketMQ 消息队列,实现异步解耦,模块拆分。
负责项目的自动化构建以及容器化部署方案的设计以及实施:使用 Jenkins 自动化构建镜像,通过 Rancher 部署容器到 K8S 集群,Deployment 部署多个 Pod,使用 K8S Service 自带实现负载均衡,一定程度上提升了系统的可用性,解决了原先手工构建部署的不便之处,实现快速迭代。
2、CMDB 配置管理数据库
参与项目整体架构设计,包括 server 端以及 agent 端
负责项目基础目录架构搭建,使用 Go Module 初始化项目,编写相关中间件连接代码以及配置文件读取等业务无关基础代码,mvc 分层架构,两阶段构建容器镜像,为后续项目可拓展性奠基
负责 server 端部分业务功能开发,通过对各项资源数据存储,路由相关配置以及 middleware 代码编写,解决对上层应用提供数据服务能力(API)的需求
负责 agent 端部分业务功能开发,包括各项资源指标采集上报至 server 端,agent 自动注册发现等,解决了主机/各种 agent 数据采集上报等需求