Supported OS
概要 Rsyslog を構成して、ホスト、コンテナ、サービスからログを収集します。
セットアップ ログの収集 Rsyslog バージョン 8 以上 From
version 8.1.5 Rsyslog recommends
inotify
mode. Traditionally,
imfile
used polling mode, which is much more resource-intense (and slower) than
inotify
mode.
特定のログファイルを監視するために imfile
モジュールを有効にします。imfile
モジュールを追加するには、rsyslog.conf
に以下を追加します。
module ( load = "imfile" PollingInterval = "10" ) #needs to be done just once
/etc/rsyslog.d/datadog.conf
ファイルを作成します。
/etc/rsyslog.d/datadog.conf
に以下の構成を追加し、<site_url>
を {< region-param key=“dd_site” >} に、<API_KEY>
を自分の Datadog API キーに置き換えます。監視したいログファイルごとに、別の input
行を記述する必要があります。
## 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")
}
/etc/rsyslog.d/datadog.conf
に以下の構成を追加します。<site_url>
を {< region-param key=“dd_site” >} に、<API_KEY>
を自分の Datadog API キーに置き換えます。監視したいログファイルごとに、別の input
行を記述する必要があります。
## For each file to send
input ( type = "imfile" ruleset = "infiles" Tag = "<TAGS>" File = "<PATH_TO_FILE1>" )
## Set the Datadog Format to send the logs
template ( name = "test_template" type = "list" ) { constant ( value = "{" ) property ( name = "msg" outname = "message" format = "jsonfr" ) constant ( value = "}" )}
# include the omhttp module
module ( 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" ])
}
Rsyslog を再起動します。新しいログが Datadog アカウントへ直接転送されます。
sudo systemctl restart rsyslog
ログをホストのメトリクスおよびタグと関連付けます。
ログを Datadog アカウント内の同一のホストのメトリクスおよびタグと関連付けるには、 rsyslog.conf
で Datadog メトリクスのホスト名と一致するように HOSTNAME
を設定します。
datadog.conf
または datadog.yaml
でホスト名を指定している場合は、rsyslog.conf
の %HOSTNAME%
をホスト名に合わせて置き換えます。datadog.conf
または datadog.yaml
でホスト名を指定していない場合は、何も変更する必要はありません。Datadog でログを最大限に活用するために、ログのソースを設定します。
Datadog Agent にログを転送する 場合、Agent のコンフィギュレーションファイルでソースを設定することができます。
Datadog Agent にログを転送しない場合は、/etc/rsyslog.d/
に各ソース用の個別のコンフィギュレーションファイルを作成します。
ソースを設定するには、以下の形式を使用します (ソースが複数ある場合は、ファイルごとに形式の名前を変えてください)。
$template DatadogFormat,"<DATADOG_API_KEY> <%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% - - [metas ddsource=\"<MY_SOURCE_NAME>\"] %msg%\n"
ddtags
属性を使用してカスタムタグを追加することができます。
$template DatadogFormat,"<DATADOG_API_KEY> <%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% - - [metas ddsource=\"<MY_SOURCE_NAME>\" ddtags=\"env:dev,<KEY:VALUE>\"] %msg%\n"
(任意) Datadog は、非アクティブな状態が一定時間続くと、非アクティブな接続を切断します。Rsyslog の一部のバージョンは、必要に応じて再接続を行うことができません。この問題を軽減するには、タイムマーカーを使用して、接続が切断されないようにします。
Rsyslog のコンフィギュレーションファイルに以下の行を追加します。
$ModLoad immark
$MarkMessagePeriod 20
Rsyslog サービスを再起動します。
sudo systemctl restart rsyslog
(オプション) Rsyslog から Datadog アカウントに送信されるログに TLS Encryption を追加します。rsyslog-gnutls
と ca-certificates
パッケージをインストールします。
sudo apt-get install rsyslog-gnutls ca-certificates
以下の行を /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="intake.logs.datadoghq.com" port="10516" template="DatadogFormat" StreamDriver="gtls" StreamDriverMode="1" StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.logs.datadoghq.com" )
}
Rsyslog サービスを再起動します。
sudo systemctl restart rsyslog
(オプション) Rsyslog から Datadog アカウントに送信されるログに TLS Encryption を追加します。rsyslog-gnutls
と ca-certificates
パッケージをインストールします。
sudo apt-get install rsyslog-gnutls ca-certificates
以下の行を /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" )
}
Rsyslog サービスを再起動します。
sudo systemctl restart rsyslog
特定のログファイルを監視するために imfile
モジュールを有効にします。imfile
モジュールを追加するには、rsyslog.conf
に以下を追加します。
module ( load = "imfile" PollingInterval = "10" ) #needs to be done just once
/etc/rsyslog.d/datadog.conf
ファイルを作成します。
/etc/rsyslog.d/datadog.conf
に以下の構成を追加し、<site_url>
を {< region-param key=“dd_site” >} に、<API_KEY>
を自分の Datadog API キーに置き換えます。監視したいログファイルごとに、別の input
行を記述する必要があります。
## 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")
}
/etc/rsyslog.d/datadog.conf
に以下の構成を追加します。<site_url>
を {< region-param key=“dd_site” >} に、<API_KEY>
を自分の Datadog API キーに置き換えます。監視したいログファイルごとに、別の input
行を記述する必要があります。
## For each file to send
input ( type = "imfile" ruleset = "infiles" Tag = "<TAGS>" File = "<PATH_TO_FILE1>" )
## Set the Datadog Format to send the logs
template ( name = "test_template" type = "list" ) { constant ( value = "{" ) property ( name = "msg" outname = "message" format = "jsonfr" ) constant ( value = "}" )}
# include the omhttp module
module ( 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" ])
}
Rsyslog を再起動します。新しいログが Datadog アカウントへ直接転送されます。
sudo systemctl restart rsyslog
ログをホストのメトリクスおよびタグと関連付けます。
ログを Datadog アカウント内の同一のホストのメトリクスおよびタグと関連付けるには、 rsyslog.conf
で Datadog メトリクスのホスト名と一致するように HOSTNAME
を設定します。
datadog.conf
または datadog.yaml
でホスト名を指定している場合は、rsyslog.conf
の %HOSTNAME%
をホスト名に合わせて置き換えます。datadog.conf
または datadog.yaml
でホスト名を指定していない場合は、何も変更する必要はありません。Datadog でログを最大限に活用するために、ログのソースを設定します。
Datadog Agent にログを転送する 場合、Agent のコンフィギュレーションファイルでソースを設定することができます。
Datadog Agent にログを転送しない場合は、/etc/rsyslog.d/
に各ソース用の個別のコンフィギュレーションファイルを作成します。
ソースを設定するには、以下の形式を使用します (ソースが複数ある場合は、ファイルごとに形式の名前を変えてください)。
$template DatadogFormat,"<DATADOG_API_KEY> <%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% - - [metas ddsource=\"<MY_SOURCE_NAME>\"] %msg%\n"
ddtags
属性を使用してカスタムタグを追加することができます。
$template DatadogFormat,"<DATADOG_API_KEY> <%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% - - [metas ddsource=\"<MY_SOURCE_NAME>\" ddtags=\"env:dev,<KEY:VALUE>\"] %msg%\n"
(任意) Datadog は、非アクティブな状態が一定時間続くと、非アクティブな接続を切断します。Rsyslog の一部のバージョンは、必要に応じて再接続を行うことができません。この問題を軽減するには、タイムマーカーを使用して、接続が切断されないようにします。
Rsyslog のコンフィギュレーションファイルに以下の 2 行を追加します。
$ModLoad immark
$MarkMessagePeriod 20
Rsyslog サービスを再起動します。
sudo systemctl restart rsyslog
(オプション) Rsyslog から Datadog アカウントに送信されるログに TLS Encryption を追加します。rsyslog-gnutls
と ca-certificates
パッケージをインストールします。
sudo yum install rsyslog-gnutls ca-certificates
以下の行を /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" )
}
Rsyslog サービスを再起動します。
sudo systemctl restart rsyslog
(オプション) Rsyslog から Datadog アカウントに送信されるログに TLS Encryption を追加します。rsyslog-gnutls
と ca-certificates
パッケージをインストールします。
sudo yum install rsyslog-gnutls ca-certificates
以下の行を /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" )
}
Rsyslog サービスを再起動します。
sudo systemctl restart rsyslog
特定のログファイルを監視するために imfile
モジュールを有効にします。imfile
モジュールを追加するには、rsyslog.conf
に以下を追加します。
module ( load = "imfile" PollingInterval = "10" ) #needs to be done just once
/etc/rsyslog.d/datadog.conf
ファイルを作成します。
/etc/rsyslog.d/datadog.conf
に以下の構成を追加し、<site_url>
を {< region-param key=“dd_site” >} に、<API_KEY>
を自分の Datadog API キーに置き換えます。監視したいログファイルごとに、別の input
行を記述する必要があります。
## 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")
}
/etc/rsyslog.d/datadog.conf
に以下の構成を追加します。<site_url>
を {< region-param key=“dd_site” >} に、<API_KEY>
を自分の Datadog API キーに置き換えます。監視したいログファイルごとに、別の input
行を記述する必要があります。
## For each file to send
input ( type = "imfile" ruleset = "infiles" Tag = "<TAGS>" File = "<PATH_TO_FILE1>" )
## Set the Datadog Format to send the logs
template ( name = "test_template" type = "list" ) { constant ( value = "{" ) property ( name = "msg" outname = "message" format = "jsonfr" ) constant ( value = "}" )}
# include the omhttp module
module ( 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" ])
}
Rsyslog を再起動します。新しいログが Datadog アカウントへ直接転送されます。
sudo systemctl restart rsyslog
ログをホストのメトリクスおよびタグと関連付けます。
ログを Datadog アカウント内の同一のホストのメトリクスおよびタグと関連付けるには、 rsyslog.conf
で Datadog メトリクスのホスト名と一致するように HOSTNAME
を設定します。
datadog.conf
または datadog.yaml
でホスト名を指定している場合は、rsyslog.conf
の %HOSTNAME%
をホスト名に合わせて置き換えます。datadog.conf
または datadog.yaml
でホスト名を指定していない場合は、何も変更する必要はありません。Datadog でログを最大限に活用するために、ログのソースを設定します。
Datadog Agent にログを転送する 場合、Agent のコンフィギュレーションファイルでソースを設定することができます。
Datadog Agent にログを転送しない場合は、/etc/rsyslog.d/
に各ソース用の個別のコンフィギュレーションファイルを作成します。
ソースを設定するには、以下の形式を使用します (ソースが複数ある場合は、ファイルごとに形式の名前を変えてください)。
$template DatadogFormat,"<DATADOG_API_KEY> <%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% - - [metas ddsource=\"<MY_SOURCE_NAME>\"] %msg%\n"
ddtags
属性を使用してカスタムタグを追加することができます。
$template DatadogFormat,"<DATADOG_API_KEY> <%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% - - [metas ddsource=\"<MY_SOURCE_NAME>\" ddtags=\"env:dev,<KEY:VALUE>\"] %msg%\n"
(任意) Datadog は、非アクティブな状態が一定時間続くと、非アクティブな接続を切断します。Rsyslog の一部のバージョンは、必要に応じて再接続を行うことができません。この問題を軽減するには、タイムマーカーを使用して、接続が切断されないようにします。
Rsyslog のコンフィギュレーションファイルに以下の 2 行を追加します。
$ModLoad immark
$MarkMessagePeriod 20
Rsyslog サービスを再起動します。
sudo systemctl restart rsyslog
(オプション) Rsyslog から Datadog アカウントに送信されるログに TLS Encryption を追加します。rsyslog-gnutls
と ca-certificates
パッケージをインストールします。
sudo dnf install rsyslog-gnutls ca-certificates
以下の行を /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" )
}
Rsyslog サービスを再起動します。
sudo systemctl restart rsyslog
(オプション) Rsyslog から Datadog アカウントに送信されるログに TLS Encryption を追加します。rsyslog-gnutls
と ca-certificates
パッケージをインストールします。
sudo dnf install rsyslog-gnutls ca-certificates
以下の行を /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" )
}
Rsyslog サービスを再起動します。
sudo systemctl restart rsyslog
トラブルシューティング ご不明な点は、Datadog のサポートチーム までお問合せください。