Download
latest Releases : 2.0.0-RELESE
2.0.0-RELESE | Download page |
Number of Projects
RT-Component | 153.5 |
RT-Middleware | 35 |
Tools | 22 |
Documentation | 2 |
Choreonoid
Motion editor/Dynamics simulator
OpenHRP3
Dynamics simulator
OpenRTP
Integrated Development Platform
AIST RTC collection
RT-Components collection by AIST
TORK
Tokyo Opensource Robotics Association
DAQ-Middleware
Middleware for DAQ (Data Aquisition) by KEK
Fluentd、Fluent Bitはログの処理や転送を行うオープンソースのソフトウェアライブラリです。
Fluentd、Fluent Bitはデータを収集するInputプラグイン、データを送信するOutputプラグインを設定できます。 Fluentd、Fluent Bitの概要図は以下のようになっています。
Inputは外部プロセスから受信、プロセス内部からのログ書き込み、CPU使用率やディスク使用率等を取得するなどで収集したデータをOutputに渡します。 Outputは受け取ったデータを外部プロセスへ送信、ファイルへ書き込み、標準出力等します。 Input、Outputはプラグインとして実装されており、プラグインを変更することでデータの収集方法や送信方法を変更できるため、以下のような様々なデータの収集方法、送信方法を選択できます。
またInputからOutputにデータを渡す前にFilterでデータの変換、追加、除外等を実行できます。
Inputにはタグが設定でき、Output、Filterにはマッチングルールを設定できます。 Output、Filerはマッチングルールに一致したタグのデータを受け取ることができます。
このページではOpenRTM-aistのFluent Loggerプラグインの使用方法を説明します。
C++版
Windows
Fluent Bitのインストール
Fluent BitのビルドにBison/Flexが必要なため適当な場所に展開して環境変数PATHに設定します。
set PATH=%WORKDIR%\win_flex_bison-2.5.24;%PATH%
OpenSSLを適当な場所に展開してください。
Windows用に修正したFluent Bitのソースコードを適当な場所に展開してPowerShellでそのフォルダに移動してください。
PowerShellで以下のコマンドを実行するとFluent Bitをビルドします。
各種ライブラリのインストール
以下のコマンドで必要なヘッダーファイルをコピーします。
OpenRTM-aistのビルド
CMake実行時にFLUENTBIT_ENABLE、FLUENTBIT_ROOTのオプションを設定します。
他の手順は通常のビルド手順と同じです。
以下のコマンドでインストールしてください。
動作確認
td-agent、もしくはtd-agent-bitをインストール、起動する必要があります。
RTCの起動
rtc.confで以下のように設定する。tagの名前は適宜変更する。
RTCを実行するとログを送信する。
またはOpenRTM-aistに含まれるrtc.fluentbit_stream.confを使用して起動することもできます。
Ubuntu
Fluent Bitのインストール
各種ライブラリのインストール
以下のコマンドで必要なヘッダーファイルをコピーします。
OpenRTM-aistのビルド
CMake実行時にFLUENTBIT_ENABLE、FLUENTBIT_ROOTのオプションを設定します。
他の手順は通常のビルド手順と同じです。
以下のコマンドでインストールしてください。
動作確認
td-agent、もしくはtd-agent-bitをインストール、起動する必要があります。
RTCの起動
rtc.confで以下のように設定する。tagの名前は適宜変更する。
RTCを実行するとログを送信する。
動作しない場合は/etc/ssl/certsから壊れたリンクを削除する。
またはOpenRTM-aistに含まれるrtc.fluentbit_stream.confを使用して起動することもできます。
Python版
Python版のFluent LoggerプラグインはForward Outputのみに対応しています。 別にForward通信を受信するFluentd、Fluent Bitを起動して、処理して他のOutputプラグインで送信するという使い方ができます。
fluent-logger-pythonのインストール
fluent-logger-pythonのインストールが必要です。
Ubuntuの場合はsudoで実行してください。
動作確認
td-agent、もしくはtd-agent-bitをインストールする必要があります。
RTCの起動
rtc.confに以下のように記述してRTCを起動するとfluentdにログが送信されます。
manager.modules.load_pathはOpenRTM-aistをインストールしたPythonのパスによって適宜変更してください。 Ubuntuの場合は/usr/local/lib/python2.7/dist-packages/OpenRTM_aist/ext/logger/fluentlogger等になります。
fluentdでログは以下のように表示される。
メッセージの内容、名前、ログを送信した時間、ログレベルが送信される。
簡単な動作確認
OpenRTM-aistをビルド、インストールすると、Fluent Loggerプラグインの簡単な動作確認用の設定ファイルがインストールされます。
Kibana+Elasticsearchによるログ可視化
KibanaはElastic社の開発したデータ可視化ツールです。 分析エンジンElasticSearchと連携してWebブラウザ上でグラフなどのデータ可視化ができるようになります。
OpenRTM-aistのFluent BitプラグインからElasticSearchにログを送信して、Kibanaでデータを可視化する手順を説明します。
Elasticsearchのインストール
Ubuntu 18.04環境で以下のコマンドによりElasticsearchをインストールします。 Ubuntu 18.04ではElasticsearchのバージョン次第で動作しない場合があるので、こちらで動作を確認した7.8.0をインストールします。
/etc/elasticsearch/elasticsearch.ymlを編集します。
編集後にサービスを再起動します。
メモリの不足で起動できない場合は/etc/elasticesearch/jvm.optionsを編集して調節してください。
Kibanaのインストール
以下のコマンドでKibanaをインストールします。Elasticsearchと同じバージョンを指定します。
また、/etc/kibana/kibana.ymlに以下の行を追加します。
server.hostにNICに設定されたIPアドレスを指定してください。
サービスを再起動します。
動作確認
以下のrtc.confを作成してください。
${OPNRTM_INSTALL_DIR}はOpenRTM-aistをインストールしたパスに置き換えてください。 host、portにElasticsearchのアドレスとポート番号を指定してください。 Indexやtagは任意の文字列を設定します。
このrtc.confを指定してRTCを起動します。
次にWebブラウザからKibanaにアクセスしてログを確認します。 http://127.0.0.1:5601にアクセスしてください。別の端末からアクセスする場合はIPアドレスを変更してください。
可視化するデータのインデックスパターンを設定します。今回の例ではrtc.confでIndexをfluentbitに指定しました。 ページが開いたら左上をクリックして表示されたメニューからManagmentのStack Managementをクリックしてください。
Stack Managementのページの左側のIndex Patternsをクリックします。
Index patternsのページのCreate Index patternボタンを押します。
Create index patternのページでIndex patternをfluentbit*に指定してNext stepボタンを押します。
Step 2でTime Filter field nameは@timestampのままCreate index patternボタンを押します。
ここからはデータを確認します。 ページ左上をクリックして、メニューからKibanaのDiscoverをクリックしてください。
Discoverの画面で左側にインデックスパターンが表示されているため、インデックスパターンをクリックして先ほど設定したfluentbit*に切り替えます。
これでログの一覧が確認できます。グラフなどで利用する手順についてはKibanaのマニュアルなどを参考にしてください。
Pythonで動作確認
OpenRTM-aist Python版で動作確認する場合はElasticsearch Loggerプラグインを使用します。 まずはelasticsearchのPythonライブラリ、ECSentbit:https://fluentbit.io/]]
Fluentd、Fluent Bitはデータを収集するInputプラグイン、データを送信するOutputプラグインを設定できます。 Fluentd、Fluent Bitの概要図は以下のようになっています。
Inputは外部プロセスから受信、プロセス内部からのログ書き込み、CPU使用率やディスク使用率等を取得するなどで収集したデータをOutputに渡します。 Outputは受け取ったデータを外部プロセスへ送信、ファイルへ書き込み、標準出力等します。 Input、Outputはプラグインとして実装されており、プラグインを変更することでデータの収集方法や送信方法を変更できるため、以下のような様々なデータの収集方法、送信方法を選択できます。
またInputからOutputにデータを渡す前にFilterでデータの変換、追加、除外等を実行できます。
Inputにはタグが設定でき、Output、Filterにはマッチングルールを設定できます。 Output、Filerはマッチングルールに一致したタグのデータを受け取ることができます。
このページではOpenRTM-aistのFluent Loggerプラグインの使用方法を説明します。
C++版
Windows
Fluent Bitのインストール
Fluent BitのビルドにBison/Flexが必要なため適当な場所に展開して環境変数PATHに設定します。
set PATH=%WORKDIR%\win_flex_bison-2.5.24;%PATH%
OpenSSLを適当な場所に展開してください。
Windows用に修正したFluent Bitのソースコードを適当な場所に展開してPowerShellでそのフォルダに移動してください。
PowerShellで以下のコマンドを実行するとFluent Bitをビルドします。
各種ライブラリのインストール
以下のコマンドで必要なヘッダーファイルをコピーします。
OpenRTM-aistのビルド
CMake実行時にFLUENTBIT_ENABLE、FLUENTBIT_ROOTのオプションを設定します。
他の手順は通常のビルド手順と同じです。
以下のコマンドでインストールしてください。
動作確認
td-agent、もしくはtd-agent-bitをインストール、起動する必要があります。
RTCの起動
rtc.confで以下のように設定する。tagの名前は適宜変更する。
RTCを実行するとログを送信する。
またはOpenRTM-aistに含まれるrtc.fluentbit_stream.confを使用して起動することもできます。
Ubuntu
Fluent Bitのインストール
各種ライブラリのインストール
以下のコマンドで必要なヘッダーファイルをコピーします。
OpenRTM-aistのビルド
CMake実行時にFLUENTBIT_ENABLE、FLUENTBIT_ROOTのオプションを設定します。
他の手順は通常のビルド手順と同じです。
以下のコマンドでインストールしてください。
動作確認
td-agent、もしくはtd-agent-bitをインストール、起動する必要があります。
RTCの起動
rtc.confで以下のように設定する。tagの名前は適宜変更する。
RTCを実行するとログを送信する。
動作しない場合は/etc/ssl/certsから壊れたリンクを削除する。
またはOpenRTM-aistに含まれるrtc.fluentbit_stream.confを使用して起動することもできます。
Python版
Python版のFluent LoggerプラグインはForward Outputのみに対応しています。 別にForward通信を受信するFluentd、Fluent Bitを起動して、処理して他のOutputプラグインで送信するという使い方ができます。
fluent-logger-pythonのインストール
fluent-logger-pythonのインストールが必要です。
Ubuntuの場合はsudoで実行してください。
動作確認
td-agent、もしくはtd-agent-bitをインストールする必要があります。
RTCの起動
rtc.confに以下のように記述してRTCを起動するとfluentdにログが送信されます。
manager.modules.load_pathはOpenRTM-aistをインストールしたPythonのパスによって適宜変更してください。 Ubuntuの場合は/usr/local/lib/python2.7/dist-packages/OpenRTM_aist/ext/logger/fluentlogger等になります。
fluentdでログは以下のように表示される。
メッセージの内容、名前、ログを送信した時間、ログレベルが送信される。
簡単な動作確認
OpenRTM-aistをビルド、インストールすると、Fluent Loggerプラグインの簡単な動作確認用の設定ファイルがインストールされます。
Kibana+Elasticsearchによるログ可視化
KibanaはElastic社の開発したデータ可視化ツールです。 分析エンジンElasticSearchと連携してWebブラウザ上でグラフなどのデータ可視化ができるようになります。
OpenRTM-aistのFluent BitプラグインからElasticSearchにログを送信して、Kibanaでデータを可視化する手順を説明します。
Elasticsearchのインストール
Ubuntu 18.04環境で以下のコマンドによりElasticsearchをインストールします。 Ubuntu 18.04ではElasticsearchのバージョン次第で動作しない場合があるので、こちらで動作を確認した7.8.0をインストールします。
/etc/elasticsearch/elasticsearch.ymlを編集します。
編集後にサービスを再起動します。
メモリの不足で起動できない場合は/etc/elasticesearch/jvm.optionsを編集して調節してください。
Kibanaのインストール
以下のコマンドでKibanaをインストールします。Elasticsearchと同じバージョンを指定します。
また、/etc/kibana/kibana.ymlに以下の行を追加します。
server.hostにNICに設定されたIPアドレスを指定してください。
サービスを再起動します。
動作確認
以下のrtc.confを作成してください。
${OPNRTM_INSTALL_DIR}はOpenRTM-aistをインストールしたパスに置き換えてください。 host、portにElasticsearchのアドレスとポート番号を指定してください。 Indexやtagは任意の文字列を設定します。
このrtc.confを指定してRTCを起動します。
次にWebブラウザからKibanaにアクセスしてログを確認します。 http://127.0.0.1:5601にアクセスしてください。別の端末からアクセスする場合はIPアドレスを変更してください。
可視化するデータのインデックスパターンを設定します。今回の例ではrtc.confでIndexをfluentbitに指定しました。 ページが開いたら左上をクリックして表示されたメニューからManagmentのStack Managementをクリックしてください。
Stack Managementのページの左側のIndex Patternsをクリックします。
Index patternsのページのCreate Index patternボタンを押します。
Create index patternのページでIndex patternをfluentbit*に指定してNext stepボタンを押します。
Step 2でTime Filter field nameは@timestampのままCreate index patternボタンを押します。
ここからはデータを確認します。 ページ左上をクリックして、メニューからKibanaのDiscoverをクリックしてください。
Discoverの画面で左側にインデックスパターンが表示されているため、インデックスパターンをクリックして先ほど設定したfluentbit*に切り替えます。
これでログの一覧が確認できます。グラフなどで利用する手順についてはKibanaのマニュアルなどを参考にしてください。
Pythonで動作確認
OpenRTM-aist Python版で動作確認する場合はElasticsearch Loggerプラグインを使用します。 まずはelasticsearchのPythonライブラリ、ECSフォーマッタ をインストールします。elasticsearchのバージョンには注意してください。
以下のようなrtc.confを用意してESLogger.pyをロードしてください。
接続先のElasticsearchサーバーのアドレス、ポート番号、データを登録するインデックスを指定してください。
このrtc.confを指定してRTCを起動します。