项目一:日志收集系统搭建部署
项目职责:搭建 ELK 来收集系统日志、APP 应用访问错误日志、微服务日志
项目描述:在企业级的微服务环境中,跑着成百上千个服务都算是比较小的规模了。在生产环境上,日志扮演着很重要的角色,排查异常需要日志,性能优化需要日志,业务排查需要业务等等。然而在生产上跑着成百上千个服务,每个服务都只会简单的本地化存储,当需要日志协助排查问题时,很难找到日志所在的节点。也很难挖掘业务日志的数据价值。那么将日志统一输出到一个地方集中管理,然后将日志处理化,把结果输出成运维、研发可用的数据是解决日志管理、协助
运维的可行方案,也是企业迫切解决日志的需求。因此在这样的环境下,公司领导同意搭建 ELK 集群日志收集系统。通过 logstash 将 nginx、tomcat 等 web 服务访问日志和错误收集完成之后输出至 elasticsearch, logstash 结合 kafka
实现多 nginx 服务器访问日志、错误日志及系统日志的收集,最后把收集的数据通过 kibana 展现出来,后期遇到问题可以通过 kibana 查看快速的解决当前出现的问题及分析问题出现的原因,找出解决方案尽量以后再次出现同样的问题
项目二:CI/CD 自动化部署项目
项目职责:搭建 Jenkins 结合插件实现快速部署
项目描述:由于机器数量较多,不能完全依赖脚本来完成上线回滚操作,同时没有审计和记录,采用开源 Jenkins+gitlab 完成自动化上线及回滚操作,Jenkins是一个插件多样化的工具,目前大多数公司都是使用 Jenkins+gitlab+maven 构建包,实现自动构建上线及回滚操作,K8S 环境也使用 Jenkins 对代码进行升级和回滚,开发只需将代码提交到 git 仓库,通过 Jenkins 拉取代码到指定的workspace 空间,执行代码编译,得到项目 jar,war 工程包,得到工程包后则可灵活使用 shell/python 进行上线及其回滚操作。同时为了代码的安全性,Jenkins 可 借 助 sonar 代 码 扫 描 工 具 对 源 码 进 行 扫 描 , 主 要 使 用sonarqube+sonar-scanner 组件进行代码漏洞扫描。
项目三:zabbix 监控平台部署
项目职责:使用监控工具 zabbix 完成服务器的监控、告警信息通知,监控数据
可视化等
项目描述:规划部署 zabbix 监控方案、自定义监控项和模板制作,使用主动模式及 zabbix proxy 收集个 zabbix agent 数据,并根据不同机房配置多个主动模式 zabbix proxy,将 zabbix agent 监控数据先汇总到代理,zabbix proxy 将数据推送给 server 端进行展示及其告警,利用 zabbix 自带的触发器实现部分服务的故障自愈,对 zabbix 监控模板进行分类,通过主机名、IP 地址等方式识别主机应用的不同,对被监控端添加不同的监控模板(自定义监控模板、java 监控模板、mysql 监控模板),报警机制通过邮件报警及微信报警通知运维人员,另外由于 Zabbix Server 监控的虚拟机和物理机总数较多,产生的监控数据量也相对较大,因此数据库使用双主模式进行数据读写,并使用 Zabbix API 快速批量添加监控主机及关联模板.