- 追加された行はこの色です。
- 削除された行はこの色です。
*Linux:サーバのログの情報を収集してSQLITEに投入 [#fb3d29c3]
サーバが一桁台であれば、目で見てまとめることもできますが、3桁台となるとそうもいかないです。
実際そういう状況に遭遇しているため、シェルをいろいろ作って、最終的にSQLITEに投入して情報をいろいろ見れるようにしました。
せっかくなのでそのまま残します。
:01_findlogs.sh|「target.txt」に記載されるサーバにsshでfindコマンドを実行し、結果ファイルを出力します。
:02_seikei.sh|01_findlogs.shの出力ファイルを入力として、DBに投入するようにsed、awkを使って整形します。&br;このシェルの中のsedで、あとからDBでグルーピングしやすいようにどのログかを分かるようにデータを整形してます。
:03_CreateTable.sh|ddl.sqlを実行してsqliteにテーブル、インデックスを作成します。
:ddl.sql|03_CreateTable.shから実行されるDDL文が入ってます。
:04_to_sqlite.sh|02_seikei.shの出力ファイルを入力として、03で作ったテーブルにデータを投入します。
***各スクリプトの中身 [#j31de0eb]
こんな感じです。
なお、01、02、04のスクリプトからは、共通のファイル「target.txt」が入力となります。
■&ref(target.txt);(IPアドレスもしくはホスト名を1行1レコードで記述)
■target.txt(IPアドレスもしくはホスト名を1行1レコードで記述)
192.168.1.100
localhost
■&ref(01_findlogs.sh);
#refpre(01_findlogs.sh,,1);
■&ref(02_seikei.sh);
#refpre(02_seikei.sh,,1);
■&ref(03_CreateTable.sh);
#refpre(03_CreateTable.sh,,1);
■&ref(ddl.sql);(03で実行されるDDL)
#refpre(ddl.sql,,1);
■&ref(04_to_sqlite.sh);
#refpre(04_to_sqlite.sh,,1);
データをSQLITEに投入したら、もう好きなように調理してー
*** 参考サイト [#b25e5054]
-http://www.dbonline.jp/sqlite/