A partir de la versión 8.1.5 Rsyslog recomienda el modo inotify. Tradicionalmente, imfile utilizaba el modo polling, que consume muchos más recursos (y es más lento) que el modo inotify.
Habilita el módulo imfile para monitorizar archivos específicos de logs. Para añadir el módulo imfile, añada lo siguiente a tu rsyslog.conf:
module(load="imfile"PollingInterval="10")#needs to be done just once
Crea un archivo /etc/rsyslog.d/datadog.conf.
En /etc/rsyslog.d/datadog.conf, añade la siguiente configuración y sustituye <site_url> por datadoghq.com y <API_KEY> por tu clave de API Datadog. Debes incluir una línea input distinta para cada archivo de log que quieras monitorizar:
## For each file to send
input(type="imfile" ruleset="infiles" Tag="<APP_NAME_OF_FILE1>" File="<PATH_TO_FILE1>")
## Set the Datadog Format to send the logs
$template DatadogFormat,"<DATADOG_API_KEY> <%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% - - - %msg%\n"
ruleset(name="infiles") {
action(type="omfwd" protocol="tcp" target="intake.logs.<site_url>" port="10514" template="DatadogFormat")
}
En /etc/rsyslog.d/datadog.conf, añade la siguiente configuración y sustituye <site_url> por datadoghq.com y <API_KEY> por tu clave de API Datadog. Debes incluir una línea input distinta para cada archivo de log que quieras monitorizar:
## For each file to sendinput(type="imfile"ruleset="infiles"Tag="<TAGS>"File="<PATH_TO_FILE1>")## Set the Datadog Format to send the logstemplate(name="test_template"type="list"){constant(value="{")property(name="msg"outname="message"format="jsonfr")constant(value="}")}# include the omhttp modulemodule(load="omhttp")ruleset(name="infiles"){action(type="omhttp"server="http-intake.logs.<site_url>"serverport="443"restpath="api/v2/logs"template="test_template"httpheaders=["DD-API-KEY: <API_KEY>","Content-Type: application/json"])}
Reinicia Rsyslog. Tus nuevos Logs se reenviarán directamente a tu cuenta de Datadog.
sudo systemctl restart rsyslog
Asocia tus logs con las métricas y las etiquetas (tags) del host.
Para asegurarte de que tus logs están asociados a las métricas y las etiquetas del mismo host en tu cuenta de Datadog, configura el HOSTNAME en tu rsyslog.conf para que coincida con el nombre de host de tus métricas de Datadog.
Si especificaste un nombre de host en datadog.conf o datadog.yaml, sustituye el valor %HOSTNAME% en rsyslog.conf para que coincida con tu nombre de host.
Si no especificaste un nombre de host en datadog.conf o datadog.yaml, no necesitas cambiar nada.
Para sacar el máximo partido de tus logs en Datadog, define un origen para los logs.
(Opcional) Datadog corta las conexiones inactivas tras un periodo de inactividad. Algunas versiones de Rsyslog no son capaces de reconectarse cuando es necesario. Para mitigar este problema, utiliza marcadores de tiempo para que la conexión nunca se interrumpa:
Añade las siguientes líneas a tu archivo de configuración de Rsyslog:
$ModLoad immark
$MarkMessagePeriod 20
Reinicia el servicio Rsyslog:
sudo systemctl restart rsyslog
(Opcional) Añade el cifrado TLS a los logs enviados desde Rsyslog a tu cuenta de Datadog.
Instala los paquetes rsyslog-gnutls y ca-certificates:
Añade la siguiente línea al final de tu archivo /etc/rsyslog.d/datadog.conf:
## Define the destination for the logs
$DefaultNetstreamDriverCAFile /etc/ssl/certs/ca-certificates.crt
ruleset(name="infiles") {
action(type="omfwd" protocol="tcp" target="tcp-intake.logs.datadoghq.eu" port="443" template="DatadogFormat" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.logs.datadoghq.eu" )
}
Reinicia el servicio Rsyslog:
sudo systemctl restart rsyslog
Habilita el módulo imfile para monitorizar archivos específicos de logs. Para añadir el módulo imfile, añada lo siguiente a tu rsyslog.conf:
module(load="imfile"PollingInterval="10")#needs to be done just once
Crea un archivo /etc/rsyslog.d/datadog.conf.
En /etc/rsyslog.d/datadog.conf, añade la siguiente configuración y sustituye <site_url> por datadoghq.com y <API_KEY> por tu clave de API Datadog. Debes incluir una línea input distinta para cada archivo de log que quieras monitorizar:
## For each file to send
input(type="imfile" ruleset="infiles" Tag="<APP_NAME_OF_FILE1>" File="<PATH_TO_FILE1>")
## Set the Datadog Format to send the logs
$template DatadogFormat,"<DATADOG_API_KEY> <%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% - - - %msg%\n"
ruleset(name="infiles") {
action(type="omfwd" protocol="tcp" target="intake.logs.<site_url>" port="10514" template="DatadogFormat")
}
En /etc/rsyslog.d/datadog.conf, añade la siguiente configuración y sustituye <site_url> por datadoghq.com y <API_KEY> por tu clave de API Datadog. Debes incluir una línea input distinta para cada archivo de log que quieras monitorizar:
## For each file to sendinput(type="imfile"ruleset="infiles"Tag="<TAGS>"File="<PATH_TO_FILE1>")## Set the Datadog Format to send the logstemplate(name="test_template"type="list"){constant(value="{")property(name="msg"outname="message"format="jsonfr")constant(value="}")}# include the omhttp modulemodule(load="omhttp")ruleset(name="infiles"){action(type="omhttp"server="http-intake.logs.<site_url>"serverport="443"restpath="api/v2/logs"template="test_template"httpheaders=["DD-API-KEY: <API_KEY>","Content-Type: application/json"])}
Reinicia Rsyslog. Tus nuevos Logs se reenviarán directamente a tu cuenta de Datadog.
sudo systemctl restart rsyslog
Asocia tus logs con las métricas y las etiquetas del host.
Para asegurarte de que tus logs están asociados a las métricas y las etiquetas del mismo host en tu cuenta de Datadog, configura el HOSTNAME en tu rsyslog.conf para que coincida con el nombre de host de tus métricas de Datadog.
Si especificaste un nombre de host en datadog.conf o datadog.yaml, sustituye el valor %HOSTNAME% en rsyslog.conf para que coincida con tu nombre de host.
Si no especificaste un nombre de host en datadog.conf o datadog.yaml, no necesitas cambiar nada.
Para sacar el máximo partido de tus logs en Datadog, define un origen para los logs.
(Opcional) Datadog corta las conexiones inactivas tras un periodo de inactividad. Algunas versiones de Rsyslog no son capaces de reconectarse cuando es necesario. Para mitigar este problema, utiliza marcadores de tiempo para que la conexión nunca se interrumpa:
Añade las dos siguientes líneas a tu archivo de configuración de Rsyslog:
$ModLoad immark
$MarkMessagePeriod 20
Reinicia el servicio Rsyslog:
sudo systemctl restart rsyslog
(Opcional) Añade el cifrado TLS a los logs enviados desde Rsyslog a tu cuenta de Datadog.
Instala los paquetes rsyslog-gnutls y ca-certificates:
sudo yum install rsyslog-gnutls ca-certificates
Añade la siguiente línea al final de tu archivo /etc/rsyslog.d/datadog.conf:
## Define the destination for the logs
$DefaultNetstreamDriverCAFile /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
ruleset(name="infiles") {
action(type="omfwd" protocol="tcp" target="intake.logs.datadoghq.com" port="10516" template="DatadogFormat" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.logs.datadoghq.com" )
}
Reinicia el servicio Rsyslog:
sudo systemctl restart rsyslog
(Opcional) Añade el cifrado TLS a los logs enviados desde Rsyslog a tu cuenta de Datadog.
Instala los paquetes rsyslog-gnutls y ca-certificates:
sudo yum install rsyslog-gnutls ca-certificates
Añade la siguiente línea al final de tu archivo /etc/rsyslog.d/datadog.conf:
## Define the destination for the logs
$DefaultNetstreamDriverCAFile /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
ruleset(name="infiles") {
action(type="omfwd" protocol="tcp" target="tcp-intake.logs.datadoghq.eu" port="443" template="DatadogFormat" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.logs.datadoghq.eu" )
}
Reinicia el servicio Rsyslog:
sudo systemctl restart rsyslog
Habilita el módulo imfile para monitorizar archivos específicos de logs. Para añadir el módulo imfile, añada lo siguiente a tu rsyslog.conf:
module(load="imfile"PollingInterval="10")#needs to be done just once
Crea un archivo /etc/rsyslog.d/datadog.conf.
En /etc/rsyslog.d/datadog.conf, añade la siguiente configuración y sustituye <site_url> por datadoghq.com y <API_KEY> por tu clave de API Datadog. Debes incluir una línea input distinta para cada archivo de log que quieras monitorizar:
## For each file to send
input(type="imfile" ruleset="infiles" Tag="<APP_NAME_OF_FILE1>" File="<PATH_TO_FILE1>")
## Set the Datadog Format to send the logs
$template DatadogFormat,"<DATADOG_API_KEY> <%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% - - - %msg%\n"
ruleset(name="infiles") {
action(type="omfwd" protocol="tcp" target="intake.logs.<site_url>" port="10514" template="DatadogFormat")
}
En /etc/rsyslog.d/datadog.conf, añade la siguiente configuración y sustituye <site_url> por datadoghq.com y <API_KEY> por tu clave de API Datadog. Debes incluir una línea input distinta para cada archivo de log que quieras monitorizar:
## For each file to sendinput(type="imfile"ruleset="infiles"Tag="<TAGS>"File="<PATH_TO_FILE1>")## Set the Datadog Format to send the logstemplate(name="test_template"type="list"){constant(value="{")property(name="msg"outname="message"format="jsonfr")constant(value="}")}# include the omhttp modulemodule(load="omhttp")ruleset(name="infiles"){action(type="omhttp"server="http-intake.logs.<site_url>"serverport="443"restpath="api/v2/logs"template="test_template"httpheaders=["DD-API-KEY: <API_KEY>","Content-Type: application/json"])}
Reinicia Rsyslog. Tus nuevos Logs se reenviarán directamente a tu cuenta de Datadog.
sudo systemctl restart rsyslog
Asocia tus logs con las métricas y las etiquetas del host.
Para asegurarte de que tus logs están asociados a las métricas y las etiquetas del mismo host en tu cuenta de Datadog, configura el HOSTNAME en tu rsyslog.conf para que coincida con el nombre de host de tus métricas de Datadog.
Si especificaste un nombre de host en datadog.conf o datadog.yaml, sustituye el valor %HOSTNAME% en rsyslog.conf para que coincida con tu nombre de host.
Si no especificaste un nombre de host en datadog.conf o datadog.yaml, no necesitas cambiar nada.
Para sacar el máximo partido de tus logs en Datadog, define un origen para los logs.
(Opcional) Datadog corta las conexiones inactivas tras un periodo de inactividad. Algunas versiones de Rsyslog no son capaces de reconectarse cuando es necesario. Para mitigar este problema, utiliza marcadores de tiempo para que la conexión nunca se interrumpa:
Añade las dos siguientes líneas a tu archivo de configuración de Rsyslog:
$ModLoad immark
$MarkMessagePeriod 20
Reinicia el servicio Rsyslog:
sudo systemctl restart rsyslog
(Opcional) Añade el cifrado TLS a los logs enviados desde Rsyslog a tu cuenta de Datadog.
Instala los paquetes rsyslog-gnutls y ca-certificates:
sudo dnf install rsyslog-gnutls ca-certificates
Añade la siguiente línea al final de tu archivo /etc/rsyslog.d/datadog.conf:
## Define the destination for the logs
$DefaultNetstreamDriverCAFile /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
ruleset(name="infiles") {
action(type="omfwd" protocol="tcp" target="intake.logs.datadoghq.com" port="10516" template="DatadogFormat" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.logs.datadoghq.com" )
}
Reinicia el servicio Rsyslog:
sudo systemctl restart rsyslog
(Opcional) Añade el cifrado TLS a los logs enviados desde Rsyslog a tu cuenta de Datadog.
Instala los paquetes rsyslog-gnutls y ca-certificates:
sudo dnf install rsyslog-gnutls ca-certificates
Añade la siguiente línea al final de tu archivo /etc/rsyslog.d/datadog.conf:
## Define the destination for the logs
$DefaultNetstreamDriverCAFile /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
ruleset(name="infiles") {
action(type="omfwd" protocol="tcp" target="tcp-intake.logs.datadoghq.eu" port="443" template="DatadogFormat" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.logs.datadoghq.eu" )
}