什么是 Syslog?
由 InfluxData 支持
Syslog 协议标准定义
Syslog 是系统日志监控的缩写,是一种协议标准,精确地描述了日志消息应如何格式化和传输,以创建尽可能高效的工作流程。我们日常使用的设备和应用程序可以向我们发送关于其当前状态的宝贵数据,以及关于已发生的某些事件,甚至是已执行的诊断结果,所有这些都将被传输到中央服务器。
这个服务器被称为 Syslog 服务器,监听器进程会在其中收集数据,以便根据情况通过 UDP 或 TCP 发送出去。
这里的主要好处是 Syslog 允许在生成日志消息的软件、存储日志消息的系统以及实际报告和分析这些见解所需的附加软件之间实现一定程度的分离。通过 Syslog 发送的每条消息都标有设施代码,该代码基本上分解了消息的生成方式。然后为其分配一个严重级别,所有这些都是为了让监控这些设备的人员能够做出最佳和最明智的决策。
Syslog 网络监控概述
Syslog 的主要好处之一是,由于它已经存在了几十年,因此包括以下大多数主要操作系统都支持它:
- MacOS、Linux、Unix 和其他
- Microsoft Windows(虽然您需要使用许多第三方工具之一)
这种兼容性也向另一个方向扩展,因为 Syslog 也几乎与您可能正在使用的任何主要网络设备兼容。这包括但不一定限于服务器、防火墙、路由器等。任何生成关于事件和状态的自身日志的东西都可能会使用 Syslog 来完成,这使得跟踪和处理所有这些信息变得尽可能容易。
请注意,Syslog 消息还包含其他信息,如 IP 地址、时间戳、实际日志消息等,以及从“紧急”到“调试”的内置严重级别。所有这些都为网络监控和警报提供了关键的见解,使专业人员能够尽快对某些类型的事件采取行动。
何时使用 Syslog?
工程师通常使用 Syslog 进行系统管理和安全审计。它也可以成为简单地收集一般信息、分析数据和实时调试消息的宝贵方法。当有人需要将来自不同类型系统的所有日志数据整合到一个中央存储库中以便于分析时,就会使用 Syslog。
Syslog 工作原理
总的来说,Syslog 提供了一种让您可能正在使用的所有网络设备发送消息和记录事件的方式。为了实现这一点,所有 Syslog 消息都具有所有应用程序和设备都可以使用的标准格式。您收到的任何 Syslog 消息都将包含一个标头,后跟结构化数据,然后是消息本身
- 消息的标头部分包括相关信息,如版本、时间戳、主机名、优先级、进程 ID、消息 ID 等。
- 顾名思义,结构化数据由特定格式的数据块组成。
- 日志消息告诉您更多关于已发生事件的信息。
Syslog 如何传输?
同样重要的是要理解 Syslog 具有构成标准定义的不同层。Syslog 内容是事件消息本身中的所有相关信息。Syslog 应用程序是生成、发送、解释并最终存储消息的层。最后,还有 Syslog 传输,这正是它的字面意思,负责将消息传输到称为 Syslog 服务器的中央存储库。
这些服务器可以是物理服务器、独立的虚拟机或基于软件的存储库,这实际上取决于用户。无论他们选择哪种方法,所有 Syslog 服务器都有两个主要组件
- 监听器,它允许服务器接收 Syslog 数据收集的重要消息。
- 数据库,这对于特别是较大的网络至关重要,因为它允许官员存储 Syslog 数据以供将来轻松参考。
配置 Syslog 的最佳实践
到目前为止,配置 Syslog 最重要的最佳实践涉及您在 Syslog 服务器本身方面做出的选择。
任何值得您花时间的 Syslog 服务器都应该允许您从单个位置收集和查看消息。如果不是这样,您将放弃您应该从 Syslog 实施中获得的大部分好处。请注意,这不仅包括所有 Syslog 消息,而且您还应该能够通过安全门户从任何具有活动互联网连接的设备登录。
在配置 Syslog 监控时您会想要接受的另一个关键概念是自动化。凭借普通网络生成的大量信息,理解所有信息并揭示隐藏在其中的见解可能很快就会变成一场艰苦的战斗。自动化将允许您配置警报,以便在问题发生后尽快通过 Syslog 自动通知您,这样您就不必去寻找它们。如果您愿意,您甚至可以使用自动化来设置对某些类型事件的响应,例如运行脚本或转发消息。
最后,您应该习惯于配置 Syslog 以根据您的独特目标查看报告中的信息。您可以安排报告在特定时间运行,然后直接发送到您的电子邮件收件箱。
使用 Telegraf 进行 Syslog 网络监控
InfluxDB 通过 Telegraf Syslog 输入插件支持 Syslog 网络监控,该插件允许 Telegraf 使用 Syslog 协议摄取日志。Telegraf 将 Syslog 消息转换为行协议以写入 InfluxDB,数据可以从 InfluxDB 中实时查询,以便使用 InfluxDB、Grafana 或其他可视化工具进行警报和可视化。
请记住,Telegraf 本身是 InfluxDB 时序平台的数据收集模块,采用它的主要用例之一涉及网络监控,这使其成为您 Syslog 部署的完美匹配。借助 Telegraf Syslog 输入插件,您最终拥有一个可以在所有主机上运行的单一来源,收集关于您的系统和应用程序的数据,并从简洁、易于使用(且易于理解)的仪表板报告所有这些信息。如果您选择,它甚至可以完全远程运行,通过应用程序使用时公开的端点收集数据。