程序运行慢的代码问题(如何处理突发的程序故障)(1)

来源 | 异步 | 文末赠书

在互联网公司中,大家常提到的是用代码“改变世界”的开发人员。其实,产品上线和维护,除了开发,还有一个岗位也肩负着重要责任。

他们随时待命,遇到系统故障要立马解决,还要为项目上线、维护、更新等重大事情提供IT资源,让产品能如期运转。

程序运行慢的代码问题(如何处理突发的程序故障)(2)

他们就是运维工程师,就像急诊科医生一样,总是临危受命,抢救项目于水火。

但这种临危不乱,快速解决问题的技能并非人人都会的。在未来,IT岗位越来越需要综合能力强的人员,无论是开发还是运维,在知识体系上有所重合。运维需要了解开发,而开发也需要掌握运维基础。

程序运行慢的代码问题(如何处理突发的程序故障)(3)

因此,异步君为大家分享优秀的运维工程师必备的两项技能吧!作为新手运维和其他互联网岗位的人员学习参考。


面对问题和故障


与其他Linux系统一样,在学习OSSIM的过程中也会出现各种问题和故障。由于网上能直接找到的资料有限,所以很多新手都担心出现问题,在面对问题时都很局促,特别是当一个个问题接踵而来时会显得无可奈何。


学习OSSIM可以充分暴露你的“知识短板”,这体现在编程语言、数据库、操作系统、TCP/IP、网络安全的各个方面。


不过通过解决OSSIM中遇到的问题,就会逐步弥补这些短板。学习就是一个发现问题与解决问题的过程,只要掌握了OSSIM的体系结构和运行原理,很多问题都可以迎刃而解。


当然,前提是我们已经具备了下面所列的这些扎实的基本功

◎ 有一定的英文水平;

◎ 了解网络原理尤其是TCP/IP的内容;

◎ Debian Linux系统和网络管理知识;

◎ MySQL数据库的基本操作;

◎ 服务器、网络设备运维基础;

◎ 系统攻击与应急响应相关的技能;

◎ IDS部署和SIEM/SOC应用基础。


要想成为OSSIM系统运维人员,面对问题时头脑中必须有一个清晰、明确的故障解决思路,一般有以下5个步骤。


1从报错提示挖掘幕后问题

OSSIM在Web UI中报错,主要内容都显示在屏幕上,只要能看懂错误提示(前提是能读懂英文),就能基本猜出发生问题的几种可能性。

2查看日志文件

Web前台报错,在后台日志会有详细的错误日志。系统日志在文件/var/log中,OSSIM日志在/var/log/ossim或/var/log/alienvault/中,结合两个目录下的日志内容就有可能发现问题。

3定位问题

这个过程相对复杂,查看Web里的提示和挖掘日志就能基本推测出现问题的几种途径。

4解决问题

抓住最有可能的途径进行排查,最后就能解决真正的问题。

5不要恋战

一些人特别执着,有着不解决问题誓不罢休的架势。当遇到一些OSSIM故障问题时,若在尝试各种思路后依然无法得到自己想要的结果,这时就不要再恋战了,而是跳过这个问题,继续前进。通过休息等方式来疏解一下心中的情绪,没准在过几天的实验结果中会联想到实验失败的教训,激发出新的灵感来解决以前的问题。


以上只是解决问题的基本步骤,实验失败是一段充满教育性的成长经历,没有失败积累经验,何谈成功呢?失败次数越多,你对它的理解就越深,离突破性成功就越近。但很多人却不这么看,他们在安装配置OSSIM的过程中,接连遇到一两个失败的经历就对这款工具没什么兴趣以至于最后放弃。


在安装阶段遇到的典型问题有下面这些。

无法找到硬盘或者网卡驱动。这主要是硬件驱动问题,初学者只要选择VMware虚拟机进行安装就能解决。

安装过程停滞。在OpenVAS解包安装时,界面上出现卡死现象(其实是后台更新脚本时间比较长,在安装界面表现为停滞状态)。很多人在这个环节直接将机器重启,认为自己的操作或者安装文件出了问题,其实只要耐心等待20分钟就能过去。

系统引导应是短暂的,但有时候却长期停留在引导界面。其实这是假象,只要在控制台按下Ctrl Alt F3组合键就会出现命令行登录界面。

安装完成,经过长时间的系统引导后,发现无法登录Web UI

登录Web UI后设置的admin密码不符合系统的复杂度要求,其实采用8位字母数字的组合就能快速解决这个问题。

除此之外,还有路由不通、图形无法显示、抓不到包、采集不到日志等许多故障。

无论你是新手还是专家,只要坚持学习OSSIM,就会不断遇到各种问题。老问题解决了,换个环境,新问题还会不断发生。如果都能逐一化解,那么你的业务能力和分析问题、解决问题的能力会逐步增强。


有效的提问技巧


在系统出现问题时,大家通常会上网寻找答案,比如通过QQ群、百度、谷歌或者AlienVault社区、Blog等方式。在这些地方,他们往往将自己的报错信息粘到网上,便坐等答案出现(其实“坐等”“跪求”都无济于事)。

在专家眼里,是否对你提出的技术问题进行解答,很大程度上取决于提问的方式与此问题的难度。一些读者在提问前不深入思考,也不做功课,而是随便提出问题,想利用守株待兔的方式轻易获取问题的答案,这样能取得真经吗?不经历风雨又怎能见到彩虹!

从另一个方面看,专家会觉得你不愿意自己付出,在浪费他们的时间,因此你自然也不会得到想要的结果。专家最喜欢那些真正对问题有兴趣并愿意主动参与解决问题的人,而且只有提出有技术含量的问题,他才会花时间为你回答问题。

提问前的准备工作

作为提问者,必须表现出解决此问题的积极态度,应该提前做些功课,举例如下。

善于利用搜索引擎在网络中搜索。在相关技术论坛发帖时要注意,不要在面向高级技术的论坛上发布初级的技术问题,反之亦然。发帖时不要在同一论坛反复发布同一问题,以免被管理员认定为“灌水”。

OSSIM帮助系统比较完善,如果善用帮助系统,那么可以解决大部分参数的使用问题。

自己检查,反复做实验。

尝试阅读OSSIM源代码。

问题描述技巧

在描述问题时,请遵循以下技巧。

描述症状时不做猜测:明确表达问题的原始状态。

按时间顺序描述问题症状:解决问题最有效的线索就是故障出现之前发生的情况。所以,应准确地记录计算机和软件在崩溃前的情况。在使用命令行处理的情况下,对话日志的记录会非常有帮助。如果崩溃的程序有诊断选项,就试着选择能生成排错日志的选项。

大段问题的处理:如果你的问题记录很长(如超过3段),那么在开头简述问题,然后按时间先后详细描述过程也许更有用。

附件格式及注意事项

有些读者在提问时,喜欢贴一堆日志或者几张图然后发问,什么前因后果都不讲清楚,就想着获得答案。提问都懒得说清楚,专家也懒得回复。所以,请稍微花一些时间组织语言,把问题说清楚。注意体现文字的准确性和你思考问题的积极性。

最好把问题连同故障截图(提供完整截图)作为附件发给专家,建议使用标准的文件格式发送,以下是参考格式。


◎ 使用纯文本或者PDF格式,也可以使用DOC、RTF格式。

◎ 发送邮件时如有多个附件,压缩打包后检查附件内容是否能正常打开。

◎ 发送原始数据,并保持内容一致,例如截屏或者屏幕录像。

◎ 如果使用Windows操作系统发送电子邮件,关闭“引用”功能,以免在邮件中出现乱码。


异步作品


《开源安全运维平台OSSIM疑难解析:入门篇》

程序运行慢的代码问题(如何处理突发的程序故障)(4)

作者: 李晨光


本书精选了OSSIM日常运维操作中总结的许多疑难问题,是OSSIM运维工程师故障速查手册,专门针对OSSIM故障解答来编写。

本书主要介绍OSSIM架构与工作原理、系统规划、实施关键要素和过滤分析SIEM事件的要领,以及OSSIM所涉及的几个后台数据库。本书既可以作为开源技术研究人员、网络安全管理人员,也可以作为高校计算机专业师生学习参考之用。


《开源安全运维平台OSSIM疑难解析:提高篇》

程序运行慢的代码问题(如何处理突发的程序故障)(5)

作者: 李晨光


本书精选了OSSIM日常运维操作中总结的许多疑难问题,是OSSIM运维工程师故障速查手册,专门针对OSSIM故障解答来编写。

本书主要介绍重点强调安全事件分类聚合、提取流程、关联分析算法、Snort规则分析等技巧,介绍日志收集方法和标准化实现思路以及在OSSIM中用HIDS/NIDS、Netflow抓包分析异常流量的方法,深入分析了Openvas架构和脚本分析方法。


今日福利


程序运行慢的代码问题(如何处理突发的程序故障)(6)

《开源安全运维平台OSSIM疑难解析:提高篇》

作者: 李晨


如何获得:访问【异步图书】微信公众号,在同名文章中在看 参与话题留言 转发本文至朋友圈,2月3日,异步君将抽取2名读者赠送《开源安全运维平台OSSIM疑难解析:提高篇》。


今日互动话题:

“你眼中运维工作是怎么样的呢?”


程序运行慢的代码问题(如何处理突发的程序故障)(7)

,