前言
什么是SRE?
SRE即Site Reliability Engineering(网站可靠性工程),是一种源于Google的工作理念和方法。它旨在确保产品和服务的高可用性和可靠性。
- SRE团队的成员通常是拥有软件开发背景的工程师,他们不仅设计和实施自动化工具和流程,还参与构建、部署和运行大规模复杂系统。SRE需要同时具备运维能力和开发能力
- 运维方面:之前文章已经介绍过服务器基础 、CPU、内存、硬盘等相关的硬件知识,感兴趣可以去看下历史文章,其他运维实例将在后续文章发布
开发方面:本人之前在某某云厂商用Go开发过数据平台,用于对批量云计算服务器进行全流程信息统计;因此计划更新简化版服务器管理平台开发实战教程,本篇文章会先对该平台进行整体介绍
1、背景需求
- 针对机房服务器采集操作系统等相关数据,如CPU、内存、PCI设备、登录日志、机器位置等信息,解决故障服务器定位难、服务器信息监控不完善等痛点
- 实现定时采集、自主上报、落地存储、报表展示、界面可视化curd的全链路流程一体化,构建自动化运维告警监控工具,即服务器数据管理平台
2、整体架构
2.1、架构图
2.2、设计思路
- 定时上报:Shell脚本比Agent更加轻量化,无侵入式实现定时采集、自主上报,对业务几乎无影响,用户侧无感知
- 稳定后端:Go-web后端借鉴Gin框架,后台服务更稳定、更轻量
- 落地存储:MySQL单库多表进行永久化数据存储
- 报表展示:Grafana定制化模版多样数据展示
- 可视化curd:layUI框架搭建前端系统,界面可视化增删改查操作
- 钉钉告警:SQL配置告警规则,定时轮询进行钉钉告警
- 文件存储:HTTPD文件服务器稳定上传下载
2.3、选型指南
Gin框架
- Go开源轻量级Web框架、简单易用
- 官方文档齐全、社区活跃
- 支持中间件、路由分组
- 支持JSON验证、错误分级管理
LayUI
- 开源模块化前端UI框架、拿来即用
- 遵循原生态的 HTML/CSS/JavaScript 开发模式
- 只需面向浏览器本身、无需涉足各类构建工具
- 文档齐全、示例众多
Postman调试工具
- 自动化API接口调试工具
- 模拟HTTP Request如GET、POST 、DELETE等请求
- 模拟发送文件(图片、TXT等) 等特定接口测试
3、环境准备
3.1、环境参数
Centos7.9
MySQL8.0.20
go1.19.3
Gin
Grafana8.3.3
httpd
LayUI2.8.11
GoLand2022.2
3.2、安装教程
HTTPD文件服务器
https://blog.csdn.net/stalin_/article/details/90200173
Golang
https://blog.csdn.net/super_xyo/article/details/128210788
Grafana
https://blog.51cto.com/u_15735145/5546596
MySQL
https://blog.csdn.net/qq_36539042/article/details/125385002
LayUI
Ansible
https://blog.csdn.net/Shyllin/article/details/123690458
4、成品简介
Grafana
LayUI
钉钉
End
公众号平台更改了推送规则,如果不想错过内容,请点击 “在看” 和 “赞”,感谢支持!
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。