BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

osquery:Facebook开源的一款基于SQL的操作系统检测和监控框架

| 作者 谢丽 关注 11 他的粉丝 发布于 2014年11月1日. 估计阅读时间: 3 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

osquery是一款面向OSX和Linux的操作系统检测框架。它将操作系统暴露为一个高性能的关系型数据库,允许用户编写SQL查询查看操作系统数据。在osquery中,SQL表代表像下面这样的抽象概念:

  • 正在运行的进程
  • 已加载的内核模块
  • 打开的网络连接

osqueryi是osquery中的交互式查询控制台。通过它,用户可以执行像下面这样的语句,从SQL表中获取操作系统中正在监听所有端口的进程的pid、名称和端口:

osquery> SELECT DISTINCT
    ...>   process.name,
    ...>   listening.port,
    ...>   process.pid
    ...> FROM processes AS process
    ...> JOIN listening_ports AS listening
    ...> ON process.pid = listening.pid
...> WHERE listening.address = '0.0.0.0';

osquery中已经存在许多表,用户可以在osquery命令行中使用“.table”命令列出所有表,而且还可以根据需要创建新表。有了这些表,用户可以:

  • 根据需要执行查询以查看操作系统的状态
  • 通过调度器执行查询以监控分布式主机操作系统
  • 使用osquery API从自定义应用程序中发起查询

除了上文提及的特性及易于安装外,osquery还具有如下特性:

  • osqueryd——这是osquery中的一个分布式主机监控守护进程,它性能高,内存占用小,允许用户在整个基础设施上执行查询。
  • 跨平台——虽然osquery利用了非常底层的操作系统API,但它允许用户在Ubuntu、Cent OS和Mac OS X上构建并使用它。
  • 详细的内部部署文档

此外,osquery代码库是由高性能的模块化组件构成,并且其公共API有清楚的文档记录。这些组件可以组合出新的、有趣的应用程序和工具。

要想了解更多信息,请查看osquery wiki


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT