首页
关于作者
阅读记录
友链
Search
1
微内核插件架构风格在skywalking agent 上的实践
357 阅读
2
debian 11 安装nginx 并配置端口映射
335 阅读
3
和chatgpt聊设计
300 阅读
4
开始看《金阁寺》
233 阅读
5
github上star的工程分类记录
201 阅读
不知所云
杂记
书籍摘抄
有点技术
Redis
运维
架构
nginx
byzer
尚未分类
程序人生
与AI聊天
登录
/
注册
Search
标签搜索
nginx
redis
byzer
github
运维
mybatis-plus
王猪
累计撰写
25
篇文章
累计收到
3
条评论
首页
栏目
不知所云
杂记
书籍摘抄
有点技术
Redis
运维
架构
nginx
byzer
尚未分类
程序人生
与AI聊天
页面
关于作者
阅读记录
友链
搜索到
1
篇与
的结果
2023-06-21
202306中心级opsMaster运维比赛总结
202306中心级opsMaster运维比赛总结考察能力一共出了7道题,大致考察了java反编译、oracle分区索引、redis、nginx、网络命令、日志分析、内存、磁盘、抓包分析我用还记得住的点记录一下。内存超出本题考查了 JVM 参数,需要对JVM 有一定的了解。java 进程A 访问java 进程B,若正常页面会返回答案,异常则返回内存空间不足。进入服务器发现 进程B 占用内存3g, 立即重启,重启报错,空间不足。显然它还是占用了过大的空间。JVM启动参数添加 -Xmx512m 。限制内存使用512m, 启动解决问题。java -Xmx512m processB.jaroracle分区索引失效本题考查了oracle分区索引失效的解决方案。访问页面,报错 ORA-XXXX,某分区索引失效。反编译,获取数据库连接串,通过plsql 连接, 重建该分析索引,或者直接删除分区索引均可。可以先看看失效的索引有哪些:SELECT INDEX_OWNER, INDEX_NAME, PARTITION_NAME, STATUS FROM DBA_IND_PARTITIONS WHERE STATUS='UNUSABLE';因为我们知道了索引名、表名,也可以直接查ALL_INDEXESSELECT * FROM ALL_INDEXES WHERE owner = '用户名' AND TABLE_NAME = '表名';下一步删除索引即可,当然,如果该索引在主键约束中,则还需加一步。-- 去除主键索引 ALTER TABLE 表名 DROP CONSTRAINT 主键约束名; -- 删除索引 DROP INDEX 索引名;解决问题后,则获得答案。ORACLE 分区索引为啥会失效呢? 一般都是DDL操作导致的,但是DML也是有可能的。REDIS GET 命令报错本题考查了redis 运维相关的知识,如何禁用一个命令。这次在页面上显示报错 redis get 命令错误。而get命令是redis基础命令,不应有错。通过反编译jar包,在linux上通过redis-cli 执行get 发现的确报错。通过 ps -ef | grep redis 查看到redis进程,但貌似没指定配置文件。直接kill,再去/usr/local/redis/bin重启redis-server,发现的确没报错了,但是也没数据。显然,这步操作十分的冒失了,相当于重启之后数据文件位置指定不对,它其实是有配置文件启动的。通过find / -name redis.conf 查找到了3个配置文件,通过路径上的6379猜测应该是它,则用它重启redis,重现了该问题。然后在配置文件中,发现了rename get '' 将get 命令禁用了,将其注释并重启则解决问题。其实,还有一种方法,进到服务器时,不将redis进程kill掉,用lsof找到它的数据路径,直接用新的配置文件,将数据路径指向其去启动即可。生产上,像keys、 flushdb、 flushall、 config 等命令都是被运维要求禁用的,都是通过rename来实现。当然,redis 7 之后的acl控制可以有其他方法。nginx 403 forbidden考察nginx 配置文件当页面访问403后,首先想到的是将项目文件的权限改正,让nginx有权限读。后发现仍403,打开配置文件未发现异常,但是它有include conf.d文件夹中的配置文件,在其中找到了 deny all 配置,删除其即可完成访问。网络命令、磁盘本题综合考察提干说X端口的python服务用于接收另一台机器的请求,备份日志。但是不知其IP,但是给出了服务器账号和密码。通过 netstat -ano|grep 端口号, 则可以发现和本机建立连接的IP。 登录后发现其启动的python脚本中提示是磁盘空间不足。通过df -h 查看到该日志目录挂载的磁盘的确空间不足,通过 rm -rf * 完成删除即可。抓包分析wireshark的应用,网络知识题目说某位老师(xxxxx)忘记了内管账号的密码,但是有正常登录时的网络包,找出他的密码。打开题目给定的网络包,直接先过滤一手 http 协议。在备注中可以看到有些POST 访问xxx/inner/xxx的报文,打开一看的确是请求登录的报文。通过TCP流追踪可以发现,登录报错都是400返回,找到数个成功的是200返回码,当然,还需要注意该老师的工号要对上。日志分析考察awk,sort等一系列命令的运用。在给定的logs目录下有 system.out.log.1 - system.out.log.100 这100个文件,让我们找出访问接口次数最多的接口,它在哪个文件中被访问的最多。所以其实一共有两步,先找到该接口,再找到该接口在哪个文件中出现次数最多。# $3 是每行分割后接口所在的列 awk '{print $3}' logs/system.out.log.* | sort | uniq -c | sort -rn | head -n 10 1111 /api/login 231 /api/test 1 /actuator/info ...(demo)接下来,我们再找出它在哪个文件中个数最多cd logs # $1 是grep 输出的第一列,文件名 grep "/api/login" system.out.log.* | awk -F ':' '{print $1}' | sort | uniq -c | sort -nr | head -n 10 653 system.out.log.21 251 system.out.log.2 37 system.out.log.56 ...(demo)那么最多的就是system.out.log.21。对于不长时间运维的的确挺难的,我们知道命令也没在时限内做出来。
2023年06月21日
86 阅读
1 评论
2 点赞
浙公网安备 33020502001051号
浙ICP备2023015387号-1