运维工程师一天的日常都在做什么?

在公司负责Linux运维工作,就我一人,之前公司没有运维。

每天的日常,就是看B站,学习新的内容(主要是工位位置不好),逛一些论坛,还有接一些小活,写写脚本处理问题之类的,一个月也可以有个两千左右的额外收入。

一个月估计差不多有25天没人找我,每天都是准时下班,也基本不加班。

不过前提是,我做了以下的工作,这些都是入门级运维的操作,做好了自动化,可以省很多事情,还有好多更细碎的就不写。。。

基本上,我的方向就是,只要让我做第二次的事情,那就想办法做成自动化或者简化优化过程。

2022年5月5日 更新

有很多人私信问这么接私活,我更新一部分这块的内容:

前期蹲守各种活跃的论坛和群,有时会发布一些有偿的协助,如果做好的话,可以和对方持续的合作。但是这个挺浪费时间的,有的时候信息会过期或者被人先占了,需要定期去看看。

活有大有小,小到帮大学生写作业,面试的考题,大到帮一些公司或者个人写bash、python,恢复被挖矿、中毒的机子等等。

金额都是不定的,你要先考虑是否需要会因为做了单子,而让自己的本职被耽误,更得不偿失。


一、公司内部维护

1. 对SVN、git的每日备份,编写shell自动定期对SVN的账号进行密码更新,并且发送邮件通知。开发数据库和测试数据库的每日按库表备份。

2. 使用markdown,建立小型的wiki,编写公司内部的信息文档,避免重复、无用、过期的信息交换。

3. 维护公司的VPN,编写脚本定期变更密码。

4. 使用Jenkins+Shell建立公司的cd/ci流程,代码全部自动(部分由QA手动)编译发布至开发环境、测试环境供QA测试,也包含线上环境的自动发布与半自动发布。并且进行钉钉的通知部署情况。

5. 测试环境编写Dockerfile,进行构建Docker镜像,用于测试代码的发布,避免环境混乱,易于管理。

6. 建立公司内部连接客户服务器的VPN通道,方便故障时调试处理。

7. 建立维护内部DNS,优化网络连接效率。

8. 编写脚本监控预发布环境与生产环境的数据库结构差异,避免发布的代码缺少字段或表。

9. 编写脚本监控域名的ssl证书过期日期,到期之前钉钉通知。

10. 编写Dockercompose,提供环境给实施部门培训测试。

二、云端服务器的维护

1. 使用prometheus监控云端服务器与mysql数据库,到阈值时进行钉钉通知。

2. 使用Grafana图表展示prometheus信息,方便值班人员查看,定位问题。

3. 提供云端全部项目的日志展示,方便研发与值班人员查到定位问题。

4. 编写了shell脚本,监控进程或者API,进行故障时的重启拉起。

5. 部署了haproxy+nginx的负载均衡,对大流量项目访问进行分发负载。

6. 部署了redis 3+3集群,提供缓存负载

7. 建立mysql多源同步,使用mysql proxy与mycat(不同的项目)进行读写分离。

8. 建立rsync服务器,定时在服务器之间进行数据的互相备份,并且最终汇总到一台备用服务器上,统一拉回公司服务器上进行归档。

9. 建立云端的代码标识库,可对不同的用户提供不同版本的代码,并且记录代码更新内容与客户安装代码时的上报信息记录。

10. 编写shell采集全部客户服务器信息,包含:CPU、内存、硬盘、nginx、php、redis、部署的服务等。超过阈值则进行短信、邮件与钉钉通知。

11. 编写shell脚本监控云端的mysql多源同步情况,故障时进行邮件与钉钉通知。

12. 监控云端服务器到期时间,进行监控通知。

三、客户侧的维护

进行编写脚本,自动进行一些工作:

(1)自动更新本地的维护脚本、自动定期修改密码、自动更新软件包与配置、自动更新mysql配置、自动刷新文件权限、rsync配置更新

(2)通过shell脚本监控本地程序进程与API的保活:包含Mysql(包含同步监控)、redis、nginx、OpenVpn、php-fpm、Rsync、Tomcat等等。故障非忙时自动重启,并且进行钉钉与邮件通知。

(3)每日的日志切割,归档:mysql的gerenalLog、nginx日志、tomcat日志。

(4)客户侧监控,包含:shell脚本监控(生成信息由云端的shell脚本进行采集,进行钉钉、短信、邮件的通知)、atop(主要记录进程的变化,日志保留7天)、prometheus(node_exporter)、硬盘坏道检查定期检查(结果进行钉钉通知)、自定义的node_exporter

(5)定期备份数据库,并且加密压缩包,密码由云端的脚本提供,每日随机生成。定期自动修复数据库中的信息变化,比如本地IP发送变化,apikey发送了变化。

(6)有主从服务器的环境,进行互相的数据备份,包含用户文件、日志、数据库备份等。并且每日自动同步云端服务器上,最小化避免客户服务器故障时数据丢失。

(7)根据用户标识,自动获取版本是否更新,自动检验MD5的变化,进行更新对应版本的代码,代码更新成功后,自动上报云端服务器,由云端服务器统一进行钉钉通知成功或者失败。

(8)建立keepalived,主服务器故障时,IP偏移至备用服务器。

(9)编写php脚本,可通过get模式,传递秘钥,让实施人员可在现场进行一些特殊操作,比如重启服务等。

(10)一套日志服务,可通过公司内部的DNS,进行访问客户服务器查看日志。

(11)所有的shell与python脚本,执行的内容都会进行日志保存,可追溯之前执行脚本的情况。

云端部署jenkins,编写脚本,可对每个客户侧的服务器进行操作,提供给实施、研发进行查询、操作,功能如下:

(1)获取运行日志、错误日志、历史日志、redis数据、数据库general下载地址等

(2)手动更新代码、重启服务、切换主从服务器、备份数据库、取webssh地址、重启关机等。

1024 码到成功,永不宕机。

  • 7
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值