当記事では、.bash_historyの出力内容をLogStare Collector(以下、LSCと記載)にて収集する方法についての説明を記載します。
目次
概要
ログフォワーダー「okurun.jar」を利用して.bash_historyの出力内容をsyslogとして発信し、LSCにて受信します。「okurun.jar」の入手先及び概要については、以下の記事をご参照ください。
ログフォワーダー「okurun.jar」について
前提条件
- 「okurun.jar」はjavaにて動作します。OpenJDK等事前にLinuxへインストールし環境変数の設定等を実施してください。
- Linux環境におけるjavaの環境変数設定については説明しません。
- 当記事の記載内容は下記環境にて実施したものです。
- 当記事の手順はすべて管理者権限にて実施しています。
- 当記事における.bash_historyの取得対象はrootユーザのみとなります。
Linux
OS | CentOS7 |
JAVA | OpenJDK15 |
LSCサーバ
LSCバージョン | 2.0.1 |
OS | CentOS7 |
メモリ | 4GB |
CPU | 2コア |
JAVA | OpenJDK14 |
設定(Linux側)
.bashrcの設定
- .bashrcに下記の内容を追記します。「export PROMPT_COMMAND='history -a; history -r'」を追記することで、コマンド実行時にリアルタイムで.bash_historyが更新されます。
# vi .bashrc ~省略~ export PROMPT_COMMAND='history -a; history -r'
「okurun.jar」の準備
- 任意のディレクトリに「okurun.jar」を配置します。当記事では、/usr/local/配下に配置します。
# pwd /usr/local # ls okurun.jar
.bash_historyの送信方法
- 「okurun.jar」を配置したディレクトリに移動します。
# cd /usr/local/ # ls okurun.jar
- 「okurun.jar」を実行します。当記事では、/root/配下の.bash_historyが「okurun.jar」の対象となるファイルです。当記事では、LSC(172.23.61.59)にudp/514でファシリティ「LOCAL1」プライオリティ「INFO」にて転送する場合のコマンドを記載します。※最後のアンパサンド(&)はバッググラウンド処理させるためのものです。
# java -jar okurun.jar /root/.bash_history UTF-8 udp 172.23.61.59 514 INFO LOCAL1 N Y &
- 上記コマンド実行後、バックグラウンド上で「okurun.jar」が起動します。
「okurun.jar」の停止方法
- フォワーダーはkillコマンドにて停止します。まず、「okurun.jar」のプロセスIDを確認します。
#ps -ef | grep java ~省略~ root 1511 1479 0 16:31 pts/0 00:00:16 java -jar okurun.jar /root/.bash_history UTF-8 udp 172.23.61.59 514 INFO LOCAL1 N Y root 3356 1479 0 22:13 pts/0 00:00:00 grep --color=auto java
- 停止したい「okurun.jar」のプロセスIDを確認し、killコマンドにて停止します。
# kill -9 1511
- 停止した「okurun.jar」のプロセスIDが存在しないことを確認します。
#ps -ef | grep java ~省略~ root 3356 1479 0 22:13 pts/0 00:00:00 grep --color=auto java
設定(LSC側)
基本設定
- 「okurun.jar」にて転送されたメッセージを「SYSLOG収集」にてLSCで受信します。「SYSLOG収集」につきましては、以下の記事をご参照ください。
SYSLOG収集 - 「SYSLOG収集」にて利用されるポート番号はデフォルトでtcp/udp共に514となっています。「okurun.jar」にてポート番号を514以外に設定した場合、環境設定より「SYSLOG収集」にて利用されるポート番号を変更することで514以外のポートで「SYSLOG収集」が可能となります。環境設定につきましては、以下の記事をご参照ください。
LogStare Collector における環境設定について
以上で.bash_historyの出力内容をLSCにて収集する方法についての説明は終了となります。
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。