ガイド付きインストール プロセスを使用して syslog モニタリング エージェントをインストールすることも、エージェントを手動でインストールすることもできます。このドキュメントでは、このインストール プロセスを開始するための前提条件と、インストール オプションの段階的な説明について説明します。
前提条件
始める前に、 New Relic アカウントにサインアップする必要があります。エージェントを手動でインストールすることを選択した場合は、以下も必要です。
NewRelicアカウントID 。
New Relic
。
syslog メッセージ収集用のエージェントをデプロイするには、Docker コンテナを使用することをお勧めします。これを使用するには、次のものが必要です。
- Linux ホストにインストールされたDocker
- コマンドライン経由で新しいコンテナを起動する機能
Podman コンテナを使用してエージェントをリリースする場合は、次のものが必要です。
- LinuxホストにインストールされたPodman
- コマンドライン経由で新しいコンテナを起動する機能
Linux を使用してエージェントをサービスとしてインストールする場合は、次のものが必要です。
ホストへの SSH アクセス
アプリケーションとサービスをインストール/削除するためのアクセス
サポートされているオペレーティング システムは次のいずれかです。
- CentOS 8
- Debian 12 (本の虫)
- Debian 11 (ブルズアイ)
- Debian 10 (バスター)
- レッドハットエンタープライズリナックス9
- Ubuntu 20.04 (フォーカル LTS)
- Ubuntu 22.04 (ジャミー LTS)
- Ubuntu 23.04 (月版)
重要
syslog メッセージを受信するには、エージェントは UDP 514 にバインドする必要があります。ホストベースのインストールでは、インストール プロセス中に次のコマンドが含まれます。実行すると、KTranslate は昇格された特権で実行されます。
sudo setcap cap_net_bind_service=+ep /usr/bin/ktranslate
重要
ktranslate
は、 RFC3164 、 RFC5424 、およびRFC6587形式の syslog を自動的に処理します。 -syslog.format=NoFormatを設定しない限り、これらの形式以外で受信したメッセージはすべて破棄されます。 実行時にフラグを設定します。
ネットワーク監視エージェントを実行しているホストに syslog メッセージを送信するようにソース デバイスを構成する必要があります。 一部のデバイスでネットワーク Syslog エクスポートを構成する方法は次のとおりです (これはすべてを網羅したリストではありません)。
- チェックポイント-セキュリティゲートウェイ。User Center/PartnerMAPチェックポイントにサインインする必要があります。
- Cisco-ASA
- Cisco-IOS
- Cisco-NX-OS
- F5-BIG-IP
- フォーティネットFortigate
- ジュニパー-Junos
- パロアルト-PAN-OS
NewRelicでネットワークsyslogモニタリングを設定する
ほとんどのユースケースでは、ネットワーク フロー データの監視をセットアップするためのガイド付きインストールをお勧めします。セットアップがカスタム構成でより高度な場合は、手動でインストールすることをお勧めします。
one.newrelic.com > All capabilities > Add more dataに移動します。
Networkが表示されるまで下にスクロールし、 Syslogをクリックします。
ガイド付きインストール プロセスで説明されている手順に従います。Docker または Linux を使用できます。
one.newrelic.com > All capabilities > Add more data > Network > Syslog syslog メッセージの監視を設定します。
次のクエリを使用して、New Relic UI でデバイスの syslog メッセージを調査します。
"plugin.type":"ktranslate-syslog"ネットワークsyslogモニタリングを設定する方法を示す短いビデオ(2:56分)は次のとおりです。
syslog エージェントを手動でインストールする方法を読む前に、エラーを回避するためにガイド付きインストール プロセスの使用を検討してください。
Dockerがインストールされている Linux ホストで、次のいずれかを実行して ktranslate イメージをダウンロードします。
snmp-base.yaml
ファイルをdockerユーザーのローカル$HOME
ディレクトリにコピーし、次のコマンドを実行して コンテナーを破棄します。bash$cd ~$id=$(docker create kentik/ktranslate:v2)$docker cp $id:/etc/ktranslate/snmp-base.yaml .$docker rm -v $idsnmp-base.yaml
ファイルを編集し、次の構造でdevices
辞書キー内に syslog デバイスを追加します。devices:# This key and the corresponding 'device_name'# need to be unique for each devicesyslog_device1:device_name: syslog_device1device_ip: x.x.x.x/yyping_only: true# Optional user tagsuser_tags:owning_team: net_engenvironment: production重要
すでに syslog メッセージもネットワークに送信する SNMP データ デバイスを監視している場合は、両方の設定ファイルで
device_name
の値が同一であることを確認して、syslog メッセージがNew Relic UIの適切なテンプレートに表示されるようにしてください。次のコマンドで
ktranslate
を実行し、ネットワーク フローをリッスンします。bash$docker run -d --name ktranslate-$CONTAINER_SERVICE --restart unless-stopped --pull=always -p 514:5143/udp \>-v `pwd`/snmp-base.yaml:/snmp-base.yaml \>-e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \>kentik/ktranslate:v2 \>-snmp /snmp-base.yaml \>-nr_account_id=$YOUR_NR_ACCOUNT_ID \>-metrics=jchf \>-tee_logs=true \>-dns=local \># Use this field to create a unique value for `tags.container_service` inside of New Relic>-service_name=$CONTAINER_SERVICE \>nr1.syslogヒント
コンテナが syslog メッセージをリッスンするデフォルトのポートは
514/udp
です。 メッセージが別のポート経由で送信される場合は、引数-p 514:5143/udp
を-p $srcPort:5143/udp
に変更する必要があります。次のクエリを使用して、New Relic UI でデバイスの syslog メッセージを調査します。
"plugin.type":"ktranslate-syslog"
Podman がインストールされているホストで、次のコマンドを実行してktranslateイメージをダウンロードします。
- bash$podman pull docker.io/kentik/ktranslate:v2
snmp-base.yaml
ファイルを Podman ユーザーのローカル$HOME
ディレクトリにコピーし、次のコマンドを実行してコンテナを破棄します。bash$cd ~$id=$(podman create kentik/ktranslate:v2)$podman cp $id:/etc/ktranslate/snmp-base.yaml .$podman rm -v $idsnmp-base.yaml
ファイルを編集し、次の構造でdevices
辞書キー内に syslog デバイスを追加します。devices:# This key and the corresponding 'device_name'# need to be unique for each devicesyslog_device1:device_name: syslog_device1device_ip: x.x.x.x/yyping_only: true# Optional user tagsuser_tags:owning_team: net_engenvironment: production重要
ネットワーク syslog メッセージも送信する SNMP データ デバイスをすでに監視している場合は、
device_name
の値が両方の設定ファイルで同一であり、syslog メッセージがNew Relic UIの適切なテンプレートに表示されるようにする必要があります。ルートレス Podman コンテナーは 1024 未満のポートにバインドできません。 syslog メッセージのパケット リダイレクトを処理するには、次のコマンドを使用して、パケットが UDP で到着するポート (
$scrPort
) をターゲットとするiptables
ルールを作成する必要があります。bash$sudo iptables -t nat -A PREROUTING -p udp --dport $scrPort -j REDIRECT --to-port 5143次のコマンドで
ktranslate
を実行し、syslog メッセージをリッスンします。bash$podman run -d --name ktranslate-$CONTAINER_SERVICE --userns=keep-id --restart unless-stopped --pull=always --net=host \>-v `pwd`/snmp-base.yaml:/snmp-base.yaml \>-e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \>kentik/ktranslate:v2 \>-snmp /snmp-base.yaml \>-nr_account_id=$YOUR_NR_ACCOUNT_ID \>-metrics=jchf \>-tee_logs=true \>-dns=local \>-service_name=ktranslate-$CONTAINER_SERVICE \>nr1.syslog次のクエリを使用して、New Relic UI でデバイスの syslog メッセージを調査します。
"plugin.type":"ktranslate-syslog"
- パッケージマネージャに応じて、以下のいずれかのコマンドを使用して
ktranslate
をインストールします。
Yum:
bash$curl -s https://packagecloud.io/install/repositories/kentik/ktranslate/script.rpm.sh | sudo bash && \>sudo yum install ktranslateApt:
bash$curl -s https://packagecloud.io/install/repositories/kentik/ktranslate/script.deb.sh | sudo bash && \>sudo apt-get install ktranslate
ktranslate
で使用される環境変数を定義します:bash$sudo tee "/etc/default/ktranslate.env" > /dev/null <<'EOF'$NR_ACCOUNT_ID=$YOUR_NR_ACCOUNT_ID$NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY$KT_FLAGS="-snmp /etc/ktranslate/snmp-base.yaml \>-metrics=jchf \>-tee_logs=true \>-dns=local \>-service_name=$CONTAINER_SERVICE \>-syslog.source=0.0.0.0:514 \>nr1.syslog"$EOF$$# ensure /etc/default/ktranslate.env is owned by ktranslate user$sudo chown ktranslate:ktranslate /etc/default/ktranslate.env$$# Syslog binds to privileged port 514. Allow ktranslate to bind to this point with the following command$sudo setcap cap_net_bind_service=+ep /usr/bin/ktranslate既存の
snmp-base.yaml
設定ファイルがない場合は、次のように作成します。bash$cd ~$touch snmp-base.yamlsnmp-base.yaml
ファイルを編集し、次の構造でdevices
辞書キー内に syslog デバイスを追加します。devices:# This key and the corresponding 'device_name'# need to be unique for each devicesyslog_device1:device_name: syslog_device1device_ip: x.x.x.x/yyping_only: true# Optional user tagsuser_tags:owning_team: net_engenvironment: productionsnmp-base.yaml
ファイルに変更を適用するには、ktranslate
サービスを再起動します。bash$sudo systemctl restart ktranslate次のクエリを使用して、New Relic UI でデバイスの syslog メッセージを調査します。
"plugin.type":"ktranslate-syslog"
このドキュメントはインストールの役に立ちましたか?
次は何ですか?
ネットワーク syslog データを補完するために、いくつかの追加エージェントをセットアップできます。
- ネットワークデバイスのパフォーマンスをよりよく把握するには、 SNMPデータ監視を設定します。
- ネットワークがどのように使用されているかをよりよく把握するには、ネットワークフローデータの監視を設定します。