我遇到一个大问题,麻烦大家指点一下,急!!!!!!!!!!!

linux_6 2013-01-10 02:00:30
刚来这家公司上班,接到一个任务非常紧急,负责做操作系统告警的模块,大致的需求就是当linux操作系统发生系统级或者应用级的异常事件时,能够捕获到异常,并用邮件或者短信的形式发送给系统管理员。

我原打算是通过定时的分析系统的log信息来检测异常的,但是经理和我说这样做不好,因为系统的log太大,分析时比较耗费资源,影响系统的性能。经理建议通过捕获内核的异常消息事件来事件,必要的时候可以修改内核源码。我现在无从下手啊,哪位大侠能够指点一下啊,万分感激!!!!!!
...全文
204 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kkh30 2013-02-17
  • 打赏
  • 举报
回复
应用级的异常很依赖程序本身的健壮性。难道要你帮助改程序?如果脱离程序本身让你捕获异常信号不现实,怎么可能知道某个异常来源于哪个进程。
袁保康 2013-02-17
  • 打赏
  • 举报
回复
这东西一般是遇到了才解决的,居然要提前全部知道,这。。 学习学习!
quxiaojian8710 2013-02-06
  • 打赏
  • 举报
回复
引用 3 楼 quxiaojian8710 的回复:
这个难度系数较高,以下纯属个人愚见: 一.和领导确认下详细的需求,期望捕获哪些异常,将需求异常做好分类、等级,大致可以分成应用和内核两大块 二.对应用程序异常,可以写一个daemon常驻进程,获取系统进程的关键进程信息(一般/etc/proc下),还有系统内存、CPU什么的,出现异常的时候由daemon进程作出相关记录和通知,最好再写一个check daemon进程,……
纠正下:获取系统进程的关键进程信息(一般/proc下)。
quxiaojian8710 2013-02-06
  • 打赏
  • 举报
回复
这个难度系数较高,以下纯属个人愚见: 一.和领导确认下详细的需求,期望捕获哪些异常,将需求异常做好分类、等级,大致可以分成应用和内核两大块 二.对应用程序异常,可以写一个daemon常驻进程,获取系统进程的关键进程信息(一般/etc/proc下),还有系统内存、CPU什么的,出现异常的时候由daemon进程作出相关记录和通知,最好再写一个check daemon进程,保证daemon进程的正常,双保险。 三.对于内核的异常,大致可以分成两类。一类是内核的告警信息,不影响系统的继续运行的。可以创建个字符设备,通过netlink将内核异常信息传给应用层的daemon程序,由daemon程序做好记录和通知。另一种就是内核崩溃或者说是系统崩溃的情况了,如果是这类的,可能比较麻烦,一般此类信息由另一设备进行检测,或者如果设备允许,可以将崩溃前的内核信息由内核程序保存在FLASH中(重启不丢失的,不是系统内存)或者其他什么的地方,待系统重启后,daemon程序启动时,对FALSH进行检测并作出相关异常和告警。第三类的异常肯定是要对内核程序做修改的了。 望楼主成功
nevil 2013-01-10
  • 打赏
  • 举报
回复
不知道你说的异常是啥...如果是内核crash,那估计没有时间发送邮件.. 如果只是一些特定的事件,你可以用netlink让内核与用户态的进程通信,用户态的进程收到netlink事件就发送邮件.
linux_6 2013-01-10
  • 打赏
  • 举报
回复

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧