运维规范-自用


公司运维管理规范

1、获取部署资源信息

1、登录工单系统,先看一下给的资源情况,是否符合部署条件,若有问题即使和项目联系解决,不要盲目进行部署

2、依次登录服务器,查看服务器状态,有没有无法登录,密码错误等情况及时反馈

3、修改初始密码

4、挂载硬盘,修改dns

2、部署流程

1、先确定好部署架构再进行部署

2、服务器初始化(通过脚本)

3、安装中间件、基础环境(一般采取工单系统的版本)

4、项目数据库迁移(开发本地测试库迁移至线上数据库)

5、jenkins构建(根据工单的git进行构建)

6、修改配置、启动项目(根据日志、端口验证项目状态)

7、nginx转发(转发后验证地址状态,访问的接口状态)

8、填写工单内容(填写转发后地址,交由项目进行访问、测试)

9、至此部署流程结束

3、自动化

1、确认客户是否给ssh端口

有ssh端口:通过jenkins内置ssh将包推送,结合脚本进行自动更新部署(可以结合ansible)

无ssh端口:通过agent工具通过curl命令,结合脚本进行自动更新部署(可以结合ansible)

2、自动推送更新

测试、确认自动更新脚本没有语法错误,没有问题后,结合jenkins完成进行整体更新流程测试

4、监控

1、将项目地址进行web监控,微服务架构由开发提供接口地址,对接口地址进行监控

2、利用zabbix或prometheus对服务器资源进行监控

5、文档

1、将部署的详细情况,部署细节记录在公司文档中

2、整理项目给与的服务器文档和服务器部署文档单独归档至文件服务器,便于以后查找

3、常州、扬州、盐城大地区在企业微信形成表格

故障处理规范

1、基本原则

在故障处理过程中采取的所有手段和行动,一切以恢复业务为最高优先级。

2、流程机制

1、组员根据zabbix或其他途径知道某个业务出现问题,根据地区、业务对应负责的组员进行处理

2、对于故障进行基本判断,如果问题和恢复过程非常明确,以优先恢复业务优先

3、若问题无法快速定位,存在难点或影响范围较大,由组长介入协助解决

4、若问题牵扯较多无法找到故障点,由经理介入协助解决,并通知技术支持部对客户发出公告,直至故障完全解决

3、事后总结

每次事故,需要在事故记录系统中详细填写故障时间,内容,涉及人员,解决流程,便于查找、总结

每次故障事后需自我反思:

一:故障原因有哪些?

二:我们做什么,怎么做才能确保下次不会再出现类似故障?

三:当时如果我们做了什么,可以用更短的时间恢复业务?

项目更新规范

1、更新时间

1、5.30下班后:正常项目统一更新时间

2、12.30后:轻微紧急项目,下午需要实现需求或下午需要演示的项目

3、需要立即更新:紧急的项目,需要开发经过项目的允许,如线上较大项目需通知技术支持部对客户发出公告,确保项目正常访问(可能存在回滚情况,预留时间要长一些)

2、更新流程

1、首先和开发、项目沟通好更新时间,更新内容,必要时让开发提供项目访问地址便于精确定位

2、如果开发、项目说的含糊不清可以拒绝更新,弄清楚再更新,避免更新错误问题

3、若自己不知道更新的项目、服务器地址等信息,由组长介入协助更新,不可盲目更新

3、更新验证

1、查看开发给的包,或者自动构建的包的实际大小和线上包的大小,是否有明显区别

2、查看包的日期是不是今天的

3、更新后查看项目访问地址是否可以正常访问

4、如果页面或接口报错,及时查看后台日志解决报错

5、自查结束后,告知对应的开发,由开发进行测试

密码使用规范

1、密码示例

项目所涉及的密码不可使用弱密码

使用数字+英文字母+特殊符号,总长度不小于10字符

错误示例:123456 simple simple123

正确示例:Simple@01! Simple@2022! Simple_app@2022!

2、密码修改

密码如果需修改,必须按照上述规范,开发或者别人要求使用弱密码应当拒绝

端口使用规范

1、项目端口

tomcat:

server.xml端口修改规范

<Server port="1xxxx" shutdown="SHUTDOWN"

<Connector port="xxxx" protocol="HTTP/1.1"

<Connector port="2xxxx" protocol="org.apache.coyote.http11.Http11AprProtocol"

示例:

<Server port="18180" shutdown="SHUTDOWN"

<Connector port="8180" protocol="HTTP/1.1"

<Connector port="28180" protocol="org.apache.coyote.http11.Http11AprProtocol"

微服务:

业务使用8开头 8180 8280
框架使用7开头 7772 7777

Jenkins规范

1、权限设置

jenkins指定项目对指定开发人员开放,不得随意将管理员用户密码等信息告知他人,若开发有更新需求可单独配置项目的更新、取消权限

2、jenkins命名规范

<地区 + 项目名称 - 备注信息> 已便于其他人员快速定位对应的项目

示例:

常州xxx-线上docker版

常州xxx-mysql测试版

3、jenkins描述

需要写,项目未转发的访问地址,和转发后的访问地址,还有是否自动部署的标注

示例:

自动部署
http://192.168.206.133:8280/zhbg/login.shtml   转发前
https://zhzl.api.czssq.net/zhbg/login.shtml    转发后

4、项目、脚本存放路径

目录使用大写,若docker部署使用_DOCKER后缀,以便运维人员进行区分

/home/dpan/simplesoft/apps/XXX

示例:

tomcat部署:

/home/dpan/simplesoft/apps/SHFL_CZ

docker部署:

/home/dpan/simplesoft/apps/SHFL_CZ_DOCKER


文章作者: yushui1995
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yushui1995 !
评论
  目录