ログ調査に使えるコマンド色々

サーバを運用していると、どうしてもログを調査しなければならない時があります。
そんな時に使える便利なアレコレを紹介します。

 

1行が長いが、読みにくくなるので改行させずに確認したい

less -S filename.log

ファイルの頭から20行までを確認したい

head -20 filename.log

ファイルの最後から20行までを確認したい

tail -20 filename.log

gz圧縮されたログ出力

zcat filename.log.gz

1列目、3列目、5列目〜7列目まで表示

cut -f1,3,5-7 filename.log

フィルタ

単純な検索

fgrep hello filename.log

タブ区切りで1-3列目まで表示

cat filename.log | awk ‘BEGIN{FS=”\t”} {print $1,$2,$3}

タブ区切りで2列目が400以上のものだけ1-3列目まで表示

cat filename.log | awk ‘BEGIN{FS=”\t”} $2 >= 400 {print $1,$2,$3}

ソート関連

単純なソート

sort filename.log

降順ソート

sort -r filename.log

数値としてのソート

sort -n filename.log

2列目を基準にソート

sort -k2,2 filename.log

区切り文字を,にして2列目基準ソート

sort -t”,” -k2,2 filename.log

ファイルへ出力

単純に結果をファイルへ書き出す

sort -nr before.log > after.log

様々な処置を行い画面へ出力させながらログにも残したい

sort -nr before.log | head -20 | tail -10 | tee after.log

 
様々なコマンドがあり、組み合わせの発想で目的のデータを抜き出すことが可能になります。
ぜひ苦手意識を持たずにチャレンジしてみてください。


開発テストって何をするの?

こんにちわ。
リエです。
 
毎日暑い日が続きますね。
お休みの日は日中は外にでる気になれず、夜行性と化しています。
(夜も気温があまり下がらないですけどね。。でも日差しがない分いくらかマシです)
 
さて、弊社は開発会社なので日々開発に取り組んでいます。
作ったサービスやアプリはリリース前に必ず動作などのテストを行いますが、これを開発テストと言います。
作ったものが正常に動くかどうか、バグがでないかどうか、想定していない動きをするとどうなるのかなどを調べていきます。

 
どのように開発テストを進めていくのか今日は書きたいと思います。

チェックシートを作成

まずはテストをする項目をかいたチェックシートを作成します。
項目内容はサービスごとで異なりますが、基本的なこと(ログインできるかなど)も入れます。このシートに沿ってテストを行います。

対象ブラウザ、端末の確認

サービスによって対象ブラウザや端末(共通してバージョン)は異なります。
例えば[対象ブラウザはGoogleChrome、端末はWindows、MacOS、Android、iosに対応、バージョンは○○以上]であれば、その対象ブラウザ、端末を使って同じ項目をテストします。
そのため、社内には様々なテスト端末が存在します。
もちろん、接続状況もWi-Fiに繋げてor繋げていない場合とでテストします。

開発テストは根気の作業

開発テストはブラウザを変え、端末を変え、接続環境を変えとひたすら同じことの繰り返しで根気のいる作業です。
サービスによりますが、テストは数日〜数週間はかかります。
バグがでたときにたま〜に「あれ?今どういう動作したっけ!?再現動作がわからん〜!」となり、また再現するのに時間がかかったり。。
ダメなんですけど、同じ動作を繰り返していると無心になっちゃうんですよね。。

大変だけどとても大切な開発テスト

開発テストは大変ですが、作ったサービスをユーザー様に気持ちよく使っていただくためにはとても大切な作業です。
できあがったものを、繰り返しテストをして完璧な形へ近づける。
ユーザー様へよりよいものを提供したいという想いで日々開発を行っています。
 
弊社のスローガンである[ウェブサービスで日常を少し豊かにする]ために、これからも開発に勤しみます。


ZOZOSUITをためしてみた

お盆はやっぱり交通渋滞のニュースを見ながら自宅でビール!(負け惜しみ
#お盆休みない人あるある」をツイッターで眺めつつ今週前半休暇でしっかり休みボケしているマエダです。
 
そんな僕にも待ちに待ったアレが届きました!
 
 
そう、ZOZOSUIT!!

バーン!
 
 
さっそく開封の儀。

 
丁寧にお届け遅延についてのお詫びカードも入っていてなんだかホッコリ。^^
計測時にスマホを固定できるように組み立て式のスマホスタンドも入っていました。
 
 
そして計測へ。
 
計測はZOZOSUITを着用してスマホのカメラに向かってぐるぐる回るだけでした。
音声での案内でとてもわかりやすかったです。
 
 
で、計測結果。

 
((((;゚Д゚))))ガクガクブルブル
予定では股下は80cmのはずだったのに・・・
子どもの頃、少年誌の裏表紙広告に掲載してあった”グングン背が高くなるやつ”を試してみたいと思います。
 
 
で、「あなたサイズ」の服が確認できてデニムとTシャツを購入。
ここまでのフローがとてもスムーズ。

 
いやーホントによくできてます。
商品届くのが楽しみです!
 
 
 
 
 
お盆の週ということで社内にヒトが少ないので毎日ZOZOSUITで勤務してみました。(ウソ)

 
 
 
 
 
※ひとりで計測してて急にオフィスにヒトが入ってきたときの恥ずかしさはプライスレス。
※体型維持/改善のために運動をしよう! → https://sportare.jp/ [PR]


この夏はひたすら氷を食べている

こんにちわ。
リエです。
 
毎年夏になると絶対蚊に刺されるのですが、(一昨年はひどかった)今年はなんとまだ刺されていません。
調べてみると蚊は35度以上だと活動がにぶくなるそうです。
あとは単純に緑あるところ(公園とか)に行ってないだけかと思いますが、蚊に刺されないとはいいもんです。
 
最近ジムに通い始めたのですが、トレーナーさんについてもらって自分の体の直したいところを見てもらっています。
ダイエットのための運動ではないのですが、基本オフィスワークで座りっぱなしだし、慢性的に運動不足だし、1日中PCを見ているので姿勢が悪くなっちゃって体の劣化がすごく気になってたんですよね。。
自分で運動すると効かせたい箇所に効かなかったりするので効率的に運動するためにトレーナーさんに見てもらうことにしたのです。
こういう運動をボディメイクと言うそうです。

 
今で通いだして1ヶ月ちょいなのですが、まぁ最初のトレーニングの後は立てなくなりました。
こんなに自分の体は動かないのか!と驚愕もしました。
教えてもらったスクワットが全然できなくて、今まで自分がやってきたスクワットって何やったんやろとも思いました。
 
まだまだ筋肉はついていませんが、最近やっとダンベルの重さを変えれるようになってきたので、産み落とされた卵状態から孵化したひよこぐらいにはなれたと思います。
 
やっぱり運動をするとよく眠れるのと、慢性的に肩こりがひどかったのですが、それがマシになってきました。
筋肉って本当大事なんだなぁ。
 
食事制限はそんなにしていないのですが、アイスはやめたほうがいいと言われたので、家ではアイスをやめました。(外で誰かと一緒の時は食べてるけど)でも猛暑でアイスが食べたくなるので、その時は氷を食べています。
なので氷の消費量がかなり激しいです。歯もたまに心配になります。前歯は使っちゃいけません☓
 
という感じで、もう少し筋肉痛と戦いながら運動を頑張ってみたいと思います。


ちょっとしたときのSQLite

今年こそは絶対焼かない!
毎年そう意気込んでみるものの今年も見事に市民プール焼けしているマエダです。
 
全然最新技術調査でもないのですがSQLiteってちょっとしたときに便利だなと思いますのでご紹介です。
 
「SQLite」で検索すると白地に英語テキストとロゴ画像が無造作に羅列されたロックでクールなサイトが確認できます。
https://www.sqlite.org/

 
Ubuntuでの簡単な使い方。
 
sudo apt-get install sqlite3 libsqlite3-dev
sqlite3 testdb.sqlite3
 
以上。
 
 
 
え!?簡単すぎてイミフですって!?
 
 
 
ではここからはRDBMSに慣れ親しんだ方にはおなじみのSQLの実行例。
 
まずDBに接続。(DB作るときと同じコマンドです。)
sqlite3 testdb.sqlite3
 
1) テーブル作成
create table users (id, name);
※ データ型を指定することは必須ではありません・・・
 
2) データ保存
insert into users values(1, ‘maeda’);
 
3) データ参照
select * from users where id = 1;
 
特別なことは全然なくて、ほんとにちょっとしたときにサクッと利用できちゃいます。
 
どうやって接続終了したらいいの?はいつも使ったことないエディタ使ったりするときに思うやつなのでご紹介。
.quit
 
以上。
 
 
 
毎日数値をエクセルなどにデータ転記するようなルーチンをSQLiteを活用して自動化してみてください♪
シェルでのクエリ実行は以下のような感じです。
sqlite3 testdb.sqlite3 ”${sql}”
 
もちろん各種プログラミング言語もだいたいライブラリあるようなので大丈夫です!(無責任)
 
 
SQLといえば全然話変わりますが、弊社の英語表記を考えたときにSploutSQLを見つけたのを思い出しました😇
http://sploutsql.com/
 
 
 
 
 
※ 本文とアイキャッチイメージは特に関連性はありません。