第一部分讲公司的环境
1、Java
在研究Java的时候,刚开始接触,设置开机自启动,
定时任务重启失败,总是不成功,最后得出的结论是环境变量设置的问题;
公司一开始没有专职运维,开发维护环境,
权限没设置好,导致有些恶意的木马传了上来,导致网站有问题,
用了一些指纹和Linux的杀毒软件(宝塔)
2.数据库存储
公司用的是MySQL做存储,ES做搜索引擎
然后以ES为基础,搭建了ELK日志平台,给开发和运维使用,因为网站经过长时间的使用,日志量太多。
因为平常开发总是向运维索要Web的日志,运维要到服务器上去下载,然后传给开发,
有了这个平台,大大减少了开发与运维交互的时间,减少了工作量,提高了工作效率。
3.本地存储与云存储
本地存储用的是NFS,这里可以说一下NFS与Glusterfs的区别。
云存储用的是OSS对象存储。
4.缓存机制
网站的业务,同时有比较高的并发,所以就加入了缓存Redis,同时也加入了消息队列RabbitMQ,
这些东西和Redis类似,我工作的时候部署了一下,配置完了,这台机器端口之类的信息给开发,
开发在代码里进行调用。
第二部分讲解工作内容
每天上班打开邮箱和微信的报警信息,根据报警信息进行处理;
在这之前的紧急故障随时处理,紧急的故障会打电话或者发微信,也会发钉钉。
检查监控:流量、CPU、带宽是否正常,跟之前的监控图做对比。
完成巡检:备份,脚本的执行情况。
完成之前的项目:例如 负载均衡的备份,选型,优化。
代码上线:开发提交通过后,运维进行上线。
文档书写与整理,进行分享。
有时也会有临时任务,随时处理。
第三部分穿讲解故障,没有监控,经常救火,做了监控,怎么做的,通过救火,进行总结,进行优化
故障一
java程序出了问题
top -hp pid 看看线程信息 配合日志 进行处理
故障二
touch/mkdir no spaceleft on device 磁盘空间不足
1. 当我操作服务器的时候 创建目录和文件,添加用户,执行脚本程序 日志中提示 no space left ondevice
2. 出现这个问题我的想法,出现这个问题后进行解决
3. 1. df -h #block 满没满du -sh 一层一层
2. df -i #查看inode是否满了
3.df -h 满了 du -sh 看没满文件没有被彻底删除进程调用
4.lsof |grep delete #找出对应进程重启服务
4.排查出故障因为文件没有被彻底删除导致问题.
监控细节
第四部分讲优化
讲完环境对方没有表示,讲解优化
哎,我再继续给你说一下我们公司的优化吧
我们公司的优化分为架构优化,系统优化,服务优化和安全优化
要有框架,不能对方问什么答什么。
优化体系
系统Linux
关闭SElinux
Firewalld CenetOS7Iptables(C6)安全组(阿里云)
网络管理服务
添加普通用户配置sudo
etc/hosts文件解析当前的主机名
锁定关键文件系统chattrlsattr
调整用户登录提示信息/etc/motd
清空/etc/issue/etc/issue.net
基础服务优化
1)ssh服务
2)yum源配置
3)安装常见工具
4)时间同步:定时任务+ntpdate/chrony
5)文件描述符每个进程可以打开的最大文件数量
6)开机自启动crond sysstatnetwork rsyslogsshd
7)修改历史命令环境变量
内核参数配置
8)禁止被ping
9)开启内核转发功能(内网服务器,上外网的时候需要用到)
10)time_wait过多
11)java程序故障导致大量占用swap 而不占用物理内存
服务优化
1. nginx
2. mysql
3. php
4. tomcat安全优化
5. zabbix
6. redis
安全优化阿里云:中间件遇到故障处理流程