1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

リモナビ:fluentd でログをローカル環境にリアル転送

Posted at

fluentd によるログファイル転送

 ログのリアルタイム転送で fluentd が思い浮かばない人はいないでしょう。歴史もありますし、EFK(ElasticSearch, fluentd, kibana)などの用語すらあったりします。

 超有名ソフトなので機能説明は省略しますが、今回はこの flunetd によるログ転送の中継コネクションにリモナビを使うケースを紹介していきます。

ちょっとした厄介ごと
fluentd は利用のみならず、config 設定もとても容易で、ただ一点、ご存じの方も多いと思いますデータ転送と並列に実施される heartbeat に UDP 通信が利用されること。 デフォルトの 24224 ポートの公開は TCP|UDP 両方必要。インターネットを使って中継する際の唯一の面倒と言っていいのがこれ。

 さて、中継にリモナビを使って、ローカルネットにログファイルを転送する上でこの課題、どう解決する?

リモナビでローカルネットに転送

 fluentd は 転送元 out に forward、転送先 in に forward の、最も単純な設定を利用します。 はて? IPポート 24224 の TCP, UDP 2つをリモナビで接続する?

fluentd の設定による簡単な解決
リモナビでは、1つの Sender で同一ポートを TCP|UDP で同時利用することができません。 ですが、問題ありません。そもそも fluentd の forward では、heartbeat機構をデータ転送の IPポート 24224 TCP で実現する設定があります。

つまり、24224ポート TCP のみの中継コネクションさえ用意できれば、リアルタイム転送できるんです。

 UDP を使わない方法も改めてするような話ではありませんが、知らない、やったことがない、って人も一定数いると思いますので、今回触れさせてもらいました。(リモナビを使う上で必要なことだから、なんですけどね)

接続構成

 接続構成図は中継にお決まり、[RemoNavi Sender|SaaS|Receiver] を配備して、転送元、転送先に fluentd を配備するだけの簡単構成。

 データベースに接続するかのように、転送先 fluentd を指定するだけ。 fluentd 転送で利用する TCP/IPポートは (24224) 。

 ちょっと面倒なのは fluentd の config 設定。それについては、以下にズバリ設定例を掲載します。

具体的な設定

転送元の設定

  • 転送元 RemoNavi Sender の 設定
     fluentd 設定に焦点をあてるので、RemoNavi の設定は最後に別掲します。

  • 転送元 fluentd 設定
    今回は転送に nginx のアクセスログを利用しますので、 in は tail。
    out は forward で、ポイントは転送先。ここに RemonNavi の Sender を指定します。

    fluent.conf
    <source>
        @type tail
        format ltsv
        path /var/log/nginx/access.log
        pos_file ./access.log.pos
        tag nginx.access
    </source>
    
    <match nginx.access>
        @type forward
        heartbeat_type transport       <-- heartbeat を TCPに
        heartbeat_interval 30          
        require_ack_response true
        <server>
            host localhost             <-- RemoNavi Sender の転送先IPアドレス
            port 9101                  <-- RemoNavi Sedner の転送先IPポート
        </server>
    </match>
    
    fluentd -c flunet.conf   直起動ならこんな感じですが、起動管理はお任せします。
    

転送先の 設定

  • 転送元 RemoNavi Receiver の 設定
     fluentd 設定に焦点をあてるので、RemoNavi の設定は最後に別掲します。

  • 転送元 fluentd 設定
    転送を受信するので、in は foward。
    out は 紹介なので、受信したデータを表示するだけにします。

    fluent.conf
    <source>
        @type forward
        port 24224                     <-- 今回はデフォルトの 24224 を利用します
        tag nginx.access
    </source>
    
    <match nginx.access>
        @type stdout           <-- 今回はファイル保存せず表示だけにします
    </match>
    
    fluentd -c flunet.conf   直起動ならこんな感じですが、起動管理はお任せします。
    

RemoNavi の設定

 設定はこれまでにも幾度か説明してきましたので簡略掲載します。

  1. RemoNavi SaaS にて 「SecureGateway(中継路)設定」をします。
  2. 転送元・環境にて
    上記 fluentd.confの設定では、fluentd と RemoNavi Sender を同一ホストにインストール
    1. RemoNavi Sender をインストール
    2. RemoNavi Sender の利用設定
      • 待受ポート番号は [9101] で利用設定
  3. 転送先・環境にて
    1. RemoNavi Receiver をインストール
    2. RemoNavi Receiver を利用設定
  • Sender | Receiver は RemoNavi SaaS から DL してインストールする必要があります。
  • インストール詳細はリモナビ社のドキュメントサイトの「運用マニュアル」を参照してください。
     https://remonavi.com/?pos=saas_doc
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?