您的公司可能会认出真实的价值可观察性,但你可能一直在努力让它成为现实。最大的挑战之一是获取详细日志中捕捉到的每台设备的大脑和记忆,因为日志需要大量的存储容量,呈现出一种“狂野西部”格式。传统的日志记录解决方案很难实现,需要多种亚博直播平台技术和专门的基础设施专家。此外,他们无法扩展和支持公司需要洞察力和问题答案的速度。

我们开放的、可扩展的新的遗物一体平台使您可以轻松集成和使用您已经使用的工具。所以,除了使用新的遗物收集日志基础设施代理人,您也可以将日志数据摄入到新的遗物中遥测数据平台使用流利的位,Fluentd.亚马逊Kinesis数据Firehoselogstash.和各种其他人方法。但是,如果你想通过无代理的方式进一步简化你的生活呢?

你可以用新的遗物一个人这样做通过rsyslog和syslog-ng转发syslog数据的本机支持。此新的TCP端点显着扩展可用于轻松摄取日志数据的选项,而无需安装,配置或维护第三方转发器。我们将首先概述Syslog,Syslog-NG和rsyslog,然后向您展示如何开始使用几个简单步骤发送日志数据。

syslog,syslog-ng和rsyslog有什么区别?

系统日志协议(或syslog)是一种标准协议,用于将系统日志或事件消息发送到称为syslog服务器的特定服务器。它主要用于从中央位置的几台机器上收集各种设备日志,以进行监视和审查。几十年来,工程团队一直在使用syslog协议来传输消息。由于它的长期存在和流行,大多数主要操作系统,包括macOS、Linux和Unix,都支持syslog协议。

Syslog-ng是一个免费的和开源实现UNIX和UNIX的系统的Syslog协议。它将原始Syslogd模型扩展了基于内容的过滤,丰富的过滤功能,灵活的配置选项,并为Syslog添加了重要功能,例如使用TCP进行运输。Syslog-ng是一个非常流行的工具,具有许多贡献者。它是广泛使用的,因为它的灵活性及其设置和配置的简单性。

Rsyslog(用于“飞速”的syslog)是一个基于unix的开源实用程序,用于在IP网络中收集、转换、过滤和路由日志消息——类似于Fluent Bit这样的开源日志转发器。rsyslog从2004年开始使用,如今的流行可以部分归因于它的无处不在;它是Ubuntu和Debian中默认的syslog实用程序,并且可以从几个Linux发行版中开箱即用。

因此,rsyslog通常是默认默认,当您的团队希望快速启动并运行日志管理程序时。它同样受到希望避免将第三方软件部署到敏感系统的安全性团队的欢迎。

以下是如何在三个简单的步骤中快速设置Syslog以将日志数据发送到新的遗物。

rsyslog入门

例如,我们将介绍从运行rsyslog的AWS上的新Ubuntu机器向新的Regs转发到新的遗物。

步骤1。安装以下包以允许RSYSLOG通过加密连接发送日志:

安装rsyslog-gnutls ca-certificates

步骤2。接下来,创建一个文本文件/etc/rsyslog.d/newrelic.conf.conf.。将以下内容添加到新创建的文本文件中,确保替换your_nr_insert_key.与你的新遗物Insights API插入键

#define新的遗物syslog格式$ deposite nrlogformat,“your_nr_insert_key <%pri%>%pri%>%prote version %% timestamp ::: date-rfc3339%%hostname%%app-name%%procid %% msgid %%结构化 -  data%%msg%\ n“#配置tls和日志转发到新遗物$ defaultnetstreamdrivercafile /etc/sl/certs/ca-certificates.crt #debian / Red hat(Rhel) -  $ defaultnetstreamdrivercafile / etc / pki / tls / certs / ca-bundle.crt $ defaultnetstreamdriver gtls $ actionsedrivermode 1 $ actionsendstreamdriverauthmode x509 / name $ actionsendstreamdriverpermittedpeer * .myslog.nr-data.net *。* @@ newrelic.syslog.nr-data.net:6514; nrlogformat

第3步。重新启动rsyslog以确保应用更改:

sudo service rsyslog restart

最后,您可以将消息直接写入Syslog以验证您的配置:

Logger“Hello World”

log-details-screenshot

易于配置特定的日志

以上步骤提供了一种简单的配置,该配置将转发rsyslog当前收集到新遗物的任何日志。让我们贯彻如何配置尾部特定日志文件。

步骤1。启用imfile模块允许rsyslog跟踪文件。在/etc/rsyslog.conf文件的Modules部分添加以下内容,如果没有的话:

美元ModLoad imfile

步骤2。通过将以下内容添加到上一节中创建的Newrelic.conf文件的顶部,定义rsyslog应该尾部的文件

$ InputFileName / Var/Log/apache2/Access.log $ InputFiletag Apache_Access $ InputFiLestateFile Apache_State $ InputFileShiry Info $ InputRunFileMonitor

笔记:根据您的rsyslog版本,通配符在定义$ InputFileName时支持。

第3步。重启rsyslog,检查你的New Relic帐户日志:

sudo service rsyslog restart

您可能会注意到使用上述配置时,rsyslog将从运行的主机发送两个系统日志,并且它已将其配置为尾部的日志。幸运的是,rsyslog使您只需使用所需的日志即可轻松过滤条件控制结构

例如,在newrelic.conf.conf.文件下面的文件,只有日志读取/var/log/apache2/access.log.将会被送到New Relic:

#tail apache访问日志$ inputfilename /var/log/apache2/access.log $ inputfileTag apache_access $ inputfilestatefile apache_state $ inputfilesmverity $ inputrunfilemonitor#define新的relic syslog格式$ template nrlogformat,“your_insert_key <%pri%>%protocts-version%%timestamp ::: date-rfc3339 %% hostname%app-name%%% procid %% msgid%computure-data%%% msg%\ n“#配置tls $ defaultnetstreamdrivercafile / etc / ssl / certs / ca-certive。crt $ defaultnetstreamdriver gtls $ actionstreamdrivermode 1 $ actionsteamdriverauthmode x509 / name $ actionsendstreamdriverpermitedpeer * .syslog.nr-data.net#转发apache访问日志到新的遗物。$ ProgramName的值对应于尾部配置中的#$ InputFiletag。如果$ programname =='apache_access'那么@@ newrelic.syslog.nr-data.net:6514; nrlogformat&〜

网络和安全设备日志

rsyslog通常用于从网络和安全设备中收集日志,如防火墙,其中大部分都有一个内置的syslog模块。这些设备的Syslog功能往往有限;您无法在它们上安装代理,并且数据转换几乎不可能。

Rsyslog提供了从网络设备接收syslog流量、根据需要转换日志、然后将它们发送到自定义目标(如New Relic)的能力,从而弥补了这一差距。

我们将首先启用imudp模块,它允许rsyslog监听传入的UDP流量。

步骤1。使能够imudp通过将以下内容添加到/etc/rsyslog.conf的模块部分

$ modload imudp.

步骤2。导航到/etc/rsyslog.d/,创建一个名为的新文件newrelic-firewall.conf.conf.,并添加以下内容,确保替换YOUR_INSERT_KEY与你的新遗物Insights API插入键

$ udpserveraddress 0.0.0.0#绑定UDP侦听器到localhost $ udpserverrun 9000#侦听UDP消息的端口9000。验证此端口是否对主机上的入站流量打开。#定义新的遗物syslog格式$ template nrlogformat,“your_insert_key <%pri%>%protocol%protoctor-version %% timestamp ::: date-rfc3339%%hostname%app-name%%%procid %% msgid %%结构化 -  data%%msg%\ n“#configure tls $ defaultnetstreamdrivercafile /etc/ssl/certs/ca-certificates.ca-certificates.crt $ $ defaceTnetstreamdriver gtls $ actionsendstreamdrivermode 1 $ actionsendstreamdriverauthmode x509 / name $ actionsendstreamdriverpermitedpeer * .syslog.nr-data.net#转发Cisco ASA日志对于新的遗物如果$ programname startswith'%asa'然后@@ newrelic.syslog.nr-data.net:6514; nrlogformat&〜

使用上述配置,您将发送到我们的主机的任何日志,以%ASA开头的程序名称将被发送到新的遗物。

确保可靠性

到目前为止,我们涵盖了如何使用rsyslog从一些不同的来源摄取日志数据。下一步是确保摄入的数据安全地到达目的地,这是其中的位置队列进来。

rsyslog提供四种队列模式:直接,磁盘,内存和磁盘辅助。磁盘辅助队列模式可能是最受欢迎的,因为它结合了内存和磁盘排队,以确保速度和可靠性。

要启用磁盘辅助排队,请编辑/etc/rsyslog.conf文件或在/etc/rsyslog.d/目录中使用以下内容创建文件:

$ workdirectory / var / spool / rsyslog#set spool文件位置$ actionqueueType linkedlist#启用linkedlist in-memory queue $ actionqueuemaxdiskspace 1g#max磁盘空间要分配给队列 - 根据需要的$ actionque $ actionutuefilename asa-01#spool filename前缀 -必须是唯一$ actionresumeretrycount -1#防止rsyslog删除目的地在目标不可达$ actionquequeahahonshutown On#,如果rsyslog关闭*。* @@ newrelic.syslog.nr-data.net:6514; nrlogformat#发送所有记录到新的遗物

一如既往,重新启动rsyslog以确保应用更改。

那么这对您的业务意味着什么?

将日志数据输入到新的遗迹遥测数据平台从来没有这么容易过。除了开源转发器、我们自己的基础设施代理和通过我们的API发送数据之外,现在您还可以使用syslog客户机将日志流到New Relic。访问细节和洞察设备行为的能力将帮助您减少检测和分辨率的平均时间,并进一步向端到端可观察性迈进一步。

因此,007代理人仍然可以根据需要提供,但他们现在可以在Syslog说“我有这个!”

注册一个新账户开始发送高达100gb /月的数据免费…永远。

Mike Neville-Onile是新的遗物测井团队的产品经理。他的专业利益包括不断变化的可观察性景观,DevOps,信息安全和基于日志的分析。查看帖子

有兴趣为New Relic博客写作吗?亚搏体育登入网送我们一个球场!!