JJUG CCC 2024 Fall 2024-10-27 https://jjug.doorkeeper.jp/events/177443
JJUG CCC 2024 Fall 2024-10-27 https://jjug.doorkeeper.jp/events/177443
アプリã®ãƒã‚°ã‚’/dev/nullã«æµã—ã¦ã—ã¾ã£ãŸã€‚ã™ã§ã«æµã‚Œã¦ã—ã¾ã£ãŸã‚‚ã®ã¯å–り戻ã›ãªã„ãŒã€ä»¥é™ã®ãƒã‚°ã‚’ãªã‚“ã¨ã‹ãƒ—ãƒã‚»ã‚¹ã‚’生ã‹ã—ãŸã¾ã¾ãƒ•ã‚¡ã‚¤ãƒ«ã«å‡ºåŠ›ã•ã›ãŸã„ã¨ã„ã†å ´åˆã¯ã‚ˆãã‚る。 gdbを使ãˆã°ãã‚ŒãŒå¯èƒ½ã¨ãªã‚‹ã€‚ 追記: 書ã„ãŸå¾Œã§ã™ã§ã«åŒã˜ã‚ˆã†ãªè¨˜äº‹ãŒã‚ã‚‹ã®ã‚’見ã¤ã‘ã¦ã—ã¾ã£ãŸãŒè‹¥å¹²ã‚„ã‚Šæ–¹ãŒç•°ãªã£ã¦ã„ãŸã‚Šã—ãŸã®ã§ãã®ã¾ã¾å…¬é–‹ã€‚ 準備 1秒毎ã«Helloを出力ã™ã‚‹ã ã‘ã®ãƒ—ãƒã‚°ãƒ©ãƒ 。 #include <iostream> #include <unistd.h> int main(int argc, char *argv[]) { while(true) { std::cout << "Hello" << std::endl; sleep(1); } return 0; }
複数å°ã®ã‚µãƒ¼ãƒãƒ¼ã‚„クラウド環境を組ã¿åˆã‚ã›ã¦ã®ã‚µãƒ¼ãƒ“スé‹ç”¨ã«ãŠã„ã¦ã¯ã€ãƒã‚°ã®åŽé›†æ–¹æ³•ã«å·¥å¤«ãŒå¿…è¦ã¨ãªã‚‹ã€‚ã“ã†ã„ã£ãŸå ´åˆã«æœ‰ç”¨ãªã®ãŒã€ã•ã¾ã–ã¾ãªãƒã‚°ã®åŽé›†æ‰‹æ®µã‚’æä¾›ã™ã‚‹fluentdã 。今回ã¯fluentdã®ã‚¢ãƒ¼ã‚テクãƒãƒ£ã‚„ãã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«/è¨å®šæ–¹æ³•ã€åŸºç¤Žçš„ãªè¨å®šä¾‹ãªã©ã‚’紹介ã™ã‚‹ã€‚ ã•ã¾ã–ã¾ãªæ–¹æ³•ã§ãƒã‚°ã‚’åŽé›†ã§ãã‚‹fluentd 今回紹介ã™ã‚‹fluentdã¯ã€Treasure DataãŒé–‹ç™ºã™ã‚‹ãƒã‚°åŽé›†ç®¡ç†ãƒ„ールã (図1)。オープンソースã§å…¬é–‹ã•ã‚Œã¦ãŠã‚Šã€Linuxã‚„å„種UNIXã§å‹•ä½œã™ã‚‹ã€‚ 図1 fluentdã®Webサイト ãƒã‚°åŽé›†ã®ãŸã‚ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¨ã—ã¦ã¯syslogdã‚„syslog-ngãªã©ãŒæœ‰åã ãŒã€fluentdãŒã“れらã¨ç•°ãªã‚‹ç‚¹ã¨ã—ã¦ã¯ã€ä»¥ä¸‹ãŒæŒ™ã’られる。 ã•ã¾ã–ã¾ãªã‚½ãƒ¼ã‚¹ã‹ã‚‰ã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’ã•ã¾ã–ã¾ãªåª’体ã«å‡ºåŠ›ã§ãã‚‹ fluentdã®å¤§ããªç‰¹å¾´ã¨ã—ã¦ã¯ã€ãƒã‚°ã®åŽé›†æ–¹æ³•ã‚„ãƒã‚°ã®è¨˜
Dockerã§ã¯ã‚³ãƒ³ãƒ†ãƒŠå†…ã§å®Ÿè¡Œã•ã‚ŒãŸãƒ—ãƒã‚»ã‚¹ã®å‡ºåŠ›ã‚’ãƒã‚°ã¨ã—ã¦è¨˜éŒ²ã—ã¦ãŠã機能ãŒç”¨æ„ã•ã‚Œã¦ã„る。ã“ã®ãƒã‚°å‡ºåŠ›æ©Ÿæ§‹ã§ã¯ã€ã•ã¾ã–ã¾ãªãƒã‚°è¨˜éŒ²ã‚·ã‚¹ãƒ†ãƒ ã«ãƒã‚°ã‚’転é€ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã‚ã‚Šã€è¤‡æ•°ã®ç•°ãªã‚‹ãƒ›ã‚¹ãƒˆã§ç¨¼å‹•ã—ã¦ã„るコンテナã®ãƒã‚°ã‚’1ã¤ã®ãƒžã‚·ãƒ³ã«é›†ç´„ã™ã‚‹ã€ã¨ã„ã£ãŸã“ã¨ã‚‚ã§ãる。今回ã¯ã“ã®ãƒã‚°æ©Ÿèƒ½ã«ã¤ã„ã¦ç´¹ä»‹ã™ã‚‹ã€‚ Dockerã®Logging Driver機構 Dockerコンテナã§ã¯ã€ã‚³ãƒ³ãƒ†ãƒŠä½œæˆå¾Œã«ã‚³ãƒ³ãƒ†ãƒŠå†…ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚·ã‚¹ãƒ†ãƒ ã«æ›¸ãè¾¼ã¾ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã¯ã‚³ãƒ³ãƒ†ãƒŠã®å‰Šé™¤æ™‚ã«ä¸€ç·’ã«ç ´æ£„ã•ã‚Œã¦ã—ã¾ã†ã€‚ãã®ãŸã‚ã€å„種ãƒã‚°ã‚„エラーメッセージ出力ãªã©ã®ä¿å˜ã—ã¦ãŠããŸã„æƒ…å ±ã¯ã‚³ãƒ³ãƒ†ãƒŠå¤–ã«å‡ºåŠ›ã—ã¦ä¿å˜ã—ã¦ãŠãå¿…è¦ãŒã‚る。Dockerã§ã¯ã“れを支æ´ã™ã‚‹æ©Ÿèƒ½ã®1ã¤ã¨ã—ã¦ã€ãƒã‚°ã‚’外部ã®ãƒã‚°è¨˜éŒ²ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã«è»¢é€ã™ã‚‹æ©Ÿæ§‹ãŒç”¨æ„ã•ã‚Œã¦ã„る。ã“れを利用ã™ã‚‹ã“ã¨ã§ã€å¤šæ•°ã®ã‚³ãƒ³ãƒ†ãƒŠãŒç¨¼å‹•ã™ã‚‹ã‚ˆã†ãªç’°å¢ƒã‚„ã€è¤‡æ•°ã®ãƒžã‚·ãƒ³ã‚’組ã¿åˆã‚
How to watch Polaris Dawn astronauts attempt the first commercial spacewalk
æ¦‚è¦ dockerを本番é‹ç”¨ã™ã‚‹éš›ã«ãƒã‚°ã®æ‰±ã„ã«æ‚©ã‚“ã ã®ã§æƒ…å ±ã‚’ã¾ã¨ã‚ã¦ã¿ã¾ã—ãŸã€‚ 環境 docker v1.12.1 コンテナã®ãƒã‚°ã¯ä½•å‡¦ã«æ¸¡ã™ã¹ã㋠主ã«ä»¥ä¸‹ã®ï¼“通りã«ãªã‚‹ã¨æ€ã„ã¾ã™ã€‚ コンテナ内ã«ä¿å˜ volumeå…ˆã«æŒ‡å®šã—ã¦ã«æ°¸ç¶šä¿å˜ log driverを使ã£ã¦è»¢é€ a. コンテナ内ã«ä¿å˜ 何もè¨å®šã—ãªã„ã¨ã‚³ãƒ³ãƒ†ãƒŠã«ä¿æŒã•ã‚Œã¾ã™ã€‚ メリット 何もè¨å®šã—ãªãã¦ã„ㄠデメリット 当然コンテナãŒç ´æ£„ã•ã‚ŒãŸå ´åˆã¯ãƒã‚°ãƒ•ã‚¡ã‚¤ãƒ«ãŒãªããªã‚Šã¾ã™ã€‚ b. volumeå…ˆã«æŒ‡å®šã—ã¦ã«æ°¸ç¶šä¿å˜ volumeを用ã„ã¦ãƒ›ã‚¹ãƒˆã«æ°¸ç¶šçš„ã«ä¿å˜ã—ã¾ã™ã€‚ å‚ç…§ãŒåˆ‡ã‚Œãªã„よã†ã«-v <host_path>:<container_path>ã¨ã™ã‚‹ã‹ã€--volumes-from <container_name>ã§ãƒ‡ãƒ¼ã‚¿ç”¨ã‚³ãƒ³ãƒ†ãƒŠã«ä¿æŒã—ã¦ãã ã•ã„。 メリット ã‚³ãƒ³ãƒ†ãƒŠã‚’ç ´æ£„ã—ãŸã¨ã—ã¦ã‚‚volumeã§ãã“を指定ã™ã‚Œã°
https://github.com/Songmu/App-LJ ljã¨ã„ã†ãƒ„ールを書ã„ãŸã€‚標準入力をèªã‚“ã§JSONã½ã„æ–‡å—列ãŒå«ã¾ã‚Œã¦ã„ãŸã‚‰è‰²ä»˜ãã§ç¶ºéº—ã«å‡ºã—ã¦ãれる。ã“ã‚“ãªæ„Ÿã˜ã€‚ fluentdã§stdoutã§å‡ºã—ãŸãƒã‚°ã¨ã‹ã€ã‚¢ãƒ—リケーションã‹ã‚‰é›‘ã«JSONã§åã„ãŸãƒã‚°ã‚’眺ã‚ã‚‹ã¨ãã¨ã‹ã«ä¾¿åˆ©ã€‚ % cpanm App::LJ ã§å…¥ã‚Šã¾ã™ãŒã€fatpackã—ãŸå˜ä¸€ãƒ•ã‚¡ã‚¤ãƒ«ã‚‚作ã£ã¦ã‚ã‚‹ã®ã§ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ã—ã¦ã‚‚使ãˆã¾ã™ã€‚ % curl -L https://raw.githubusercontent.com/Songmu/App-LJ/master/lj > /usr/local/bin/lj; chmod +x /usr/local/bin/lj fatpack㯠@ks0608 ã•ã‚“ã®App::Fatpack::Simpleを使ã£ãŸã€‚便利。CPANã«ã‚ã’ã¦æ¬²ã—ã„。 実装ã ã„ã¶é›‘ãªã®ã§ã€ã
File::RotateLogs ãŒå¤§å¤‰ä¾¿åˆ©ã§ã‚ˆã使ã£ã¦ã„ã‚‹ã®ã ãŒã€ã“ã‚Œã¯ãƒ•ã‚¡ã‚¤ãƒ«ã¸æ›¸ã込むã¨ãã« print を呼んã§ã„る。 一方 ã«ã²ã‚Šãšã‚€::ã—ã‚“ã·ã‚‹ - perl ã§å¾©æ•°ã®ãƒ—ãƒã‚»ã‚¹ã‹ã‚‰ãƒã‚°ã‚’åãã¨ã㯠syswrite ã¾ãŸã¯ flock ã™ã¹ã— ã«ã‚ˆã‚‹ã¨é•·ã„ãƒã‚°ã‚’åãã¨ã㯠syswrite ã«ã—ãªã„ã¨æ··ã–ã‚‹ã¨ã‚る。 よã£ã¦ File::RotateLogs も実ã¯æ··ã–ã‚‹ã“ã¨ãŒã‚ã‚‹ã®ã‹ãªã¨æ€ã„ã€è¤‡æ•°ãƒ—ãƒã‚»ã‚¹ã‹ã‚‰é•·ã„ãƒã‚°ã‚’åãã¾ãã£ã¦ã¿ãŸãŒä¸€å‘ã«æ··ã–らãªã‹ã£ãŸã€‚ ã„ã‚ã„ã‚調ã¹ãŸçµæžœã€open layer ã«æœ€ã‚‚低級㪠layer ã§ã‚ã‚‹ :unix を指定ã™ã‚Œã° print 時も 1 ã¤ã® write(2) ã«ãªã‚‹ã‚ˆã†ã ã£ãŸã€‚ > cat test.pl open my $fh, ">:unix", "test.txt"; print $fh "a" x (1024 * 100);
プãƒã‚»ã‚¹ã‚¢ã‚«ã‚¦ãƒ³ãƒ†ã‚£ãƒ³ã‚°ç”¨ã«åºƒã利用ã§ãる物ã¨ã—㦠"Process Accounting Utility" ãŒã‚ã‚Šã¾ã™ã€‚環境ã«ã‚ˆã£ã¦ã€ãƒ‘ッケージã®åå‰ãŒã€ psacct ã‚‚ã—ã㯠acct ã«ãªã£ã¦ã„ã‚‹ã‚‚ã®ã§ã™ã€‚ $ # インストール (ubuntu) $ apt-get install acct 用æ„ã•ã‚Œã¦ã„るコマンド lastcomm: 実行ã•ã‚ŒãŸã‚³ãƒžãƒ³ãƒ‰ã®è¡¨ç¤º ac : ユーザã®æŽ¥ç¶šæ™‚é–“ã®è¡¨ç¤º sa: éŽåŽ»ã«å®Ÿè¡Œã•ã‚ŒãŸã‚³ãƒžãƒ³ãƒ‰ã®é›†è¨ˆï¼ãƒ•ã‚£ãƒ«ã‚¿ ※ 質å•ã®è¦ä»¶ã‚’満ãŸã™ãŸã‚ã«ã€ä¸€èˆ¬ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‹ã‚‰ã¯ã“れらã®ã‚³ãƒžãƒ³ãƒ‰ãŒå®Ÿè¡Œã§ããªã„よã†ã«ã—ã¦ãã ã•ã„。 アカウンティングサービスã®å®Ÿè¡Œ $ # サービスã®é–‹å§‹ $ /etc/init.d/acct start $ # サービスã®åœæ¢ $ /etc/init.d/acct stop 実際ã¯ã€accton コマンドã«ã‚ˆã£ã¦ãƒ—ãƒã‚»ã‚¹ç›£è¦–ãŒå§‹ã‚られã¾ã™ã€‚
ã“ã¡ã‚‰ã§ã™ã€‚Perl ã§ã„ã†ã¨ Devel::KYTProf ã«æ€§è³ªãŒã¡ã‹ã„。 motemen/go-loghttp · GitHub (GoDoc) 使用例 ãŸã¨ãˆã°ã“ã†ã„ã†ã‚³ãƒ¼ãƒ‰ã«â€¦ package main import ( "io" "log" "net/http" "os" ) func main() { resp, err := http.Get(os.Args[1]) if err != nil { log.Fatal(err) } io.Copy(os.Stdout, resp.Body) } % go run main.go http://example.com/ <!doctype html> ... ä¸€è¡Œè¿½åŠ ã™ã‚‹ã¨: package main import ( "io" "log" "net/http" "os" _ "github.com/motemen/go-lo
Logs Are Streams, Not Files logs Fri Apr 01 07:29:49 -0700 2011 Server daemons (such as PostgreSQL or Nginx) and applications (such as a Rails or Django app) sometimes offer a configuration parameter for a path to the program’s logfile. This can lead us to think of logs as files. But a better conceptual model is to treat logs as time-ordered streams: there is no beginning or end, but rather an ong
å°‘ã—å‰ã«ãƒã‚°ã®è©±ã‚’書ã„㟠http://d.hatena.ne.jp/naoya/20130219/1361262854 ã¨ãã«ã€Treasure Data ã«ã¤ã„ã¦ã¯å¾Œæ—¥ã«ã‚‚ã†å°‘ã—詳細ã«æ›¸ãã¨è¨€ã£ãŸã®ã§æ›¸ãã¨ã—よã†ã€‚ è¿‘é ƒ Treasure Data (以下ã€æ™‚折 TD) ã¨ã„ã†åå‰ã‚’ã¡ã‚‰ã»ã‚‰èžã„ãŸã“ã¨ãŒã‚る人ã¯å¤šã„ã®ã§ã¯ãªã„ã‹ã¨æ€ã„ã¾ã™ã€‚「ビッグデータã®ã‚¯ãƒ©ã‚¦ãƒ‰ã‚µãƒ¼ãƒ“スã§ã‚ã‚‹ã€ã¨ã‹ã€Œæ—¥æœ¬äººãŒå‰µæ¥ã—ãŸã‚·ãƒªã‚³ãƒ³ãƒãƒ¬ãƒ¼ã®ãƒ™ãƒ³ãƒãƒ£ãƒ¼ã€ã€ã‚ã‚‹ã„㯠Yahoo! 創æ¥è€…ã® Jerry Yang ãŒæŠ•è³‡ã—ãŸã¨ã‹ã€Fluentd ã¨ä½•ã‹é–¢ä¿‚ãŒã‚ã‚‹ã¨ã„ã£ãŸæ–‡è„ˆãªã©ãªã©ã€‚ ã‘ã©ã€å…·ä½“çš„ã« Treasure Data ãŒã©ã†ã„ã†ã‚µãƒ¼ãƒ“スã§ã€ã©ã†ã„ã†æ©Ÿèƒ½ã‚’æŒã£ã¦ã„ã¦ã€ã©ã‚“ãªå ´é¢ã§åˆ©ç”¨ã•ã‚Œã‚‹ã‚‚ã®ãªã®ã‹ã¯ã¾ã ã‚ã¾ã‚Šè‰¯ã知られã¦ã„ãªã„ã‹ã‚‚ã—ã‚Œãªã„・・・よã†ã«ã‚‚見ãˆã‚‹ã€‚今日ã¯ãã®è¾ºã‹ã‚‰å°‘ã—紹介ã—ã¦ã„ã“ã†ã‹ãªã¨æ€ã†ã€‚
日本語ã§ã‚‚書ã Plack::Middleware::AxsLog ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 0.10 をリリースã—ã¾ã—ãŸã€‚ cpan: https://metacpan.org/release/Plack-Middleware-AxsLog 今ã¾ã§ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€combinedã€commonã€ltsvã®3ã¤ã®ãƒã‚°ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã—ã‹ä½¿ãˆãªã‹ã£ãŸã‚“ã ã‘ã©ã€æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ä»»æ„ã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆãŒä½¿ãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ AxsLogãŒPM::AccessLogã«æ¯”ã¹ã¦é€Ÿã„ã®ã¯ã€ãƒã‚°æ–‡å—列ã®ç”Ÿæˆã‚’æ£è¦è¡¨ç¾ã§ã¯ãªãã€å˜ç´”ãªæ–‡å—列連çµã§ã‚„ã£ã¦ã„ãŸãŸã‚ã§ã€ãã®ä»£ã‚ã‚Šã«ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã‚’自由ã«å¤‰æ›´ã§ããªã„制é™ãŒã‚ã‚Šã¾ã—ãŸã€‚ ã‘ã©ã€ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‹ã‚‰ Apache::LogFormat::Compiler を使ã£ã¦ã„ã‚‹ã®ã§ã€é€Ÿåº¦ã‚’çŠ ç‰²ã«ã™ã‚‹ã“ã¨ãªãフォーマットã®å¤‰æ›´ãŒå¯èƒ½ã¨ãªã‚Šã¾ã—ãŸãžã‚ˆã€‚ 使ã„æ–¹ use Plack::
æŸæ‰€ã§ 人間ã®è„³ã«ã¯äººã®é¡”ã‚’è˜åˆ¥ã™ã‚‹ãŸã‚ã®ç‰¹åˆ¥ãªç¥žçµŒå›žè·¯ãŒæœ€åˆã‹ã‚‰çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã¦ã€äººã®é¡”ã®é•ã„を見分ã‘ãŸã‚Šã¨ã„ã†ã®ãŒã€ä»–ã®å›³å½¢ã‚ˆã‚Šã‚‚æ ¼æ®µã«é«˜é€Ÿã«è¡Œãˆã‚‹ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ã¨ã„ã†ã“ã¨ã§ã€ãƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«é¡”æ–‡å—を入れã¦ã¿ãŸã‚‰ã€ãªã«ã“ã‚Œã™ã”ã„ヽ(=´▽`=)ノ ã£ã¦ãªã£ãŸã¨ã“ã‚。 ã¨ã„ã†ç™ºè¨€ã‚’ã¿ã‹ã‘ãŸã®ã§ã€ã¤ãã‚Šã¾ã—ãŸã€‚ Log::Minimal::Emotional - https://gist.github.com/hirose31/4958764 「エモーショナルã€ã¯ãŠå¥½ã¿ãªã‚‚ã®ã«å®¹æ˜“ã«å†å®šç¾©å¯èƒ½ã§ã™ã€‚ #!/usr/bin/env perl use strict; use warnings; use utf8; use Log::Minimal::Emotional; $Log::Minimal::Emotional::EMOTION->{CRITICAL} = '⊂二二二( ^ω^)
LTSVフォーマット本当ã«è¦‹ã‚„ã™ãã¦ä¾¿åˆ©ã ãªã¨æ„Ÿã˜ãŸ@HIROCASTERã§ã”ã–ã„ã¾ã›ã†ã€‚ 何ã‹ã¨è©±é¡Œã®LTSVã ãŒã€æœ¬å½“ã«ã‚³ãƒãƒ³ãƒ–スã®åµã ã¨æ€ã£ã¦ã„る。 ã„ã¾ã¾ã§ã€Apacheã®combineå½¢å¼ã®ãƒã‚°ã‚’独自ã«æ‹¡å¼µã—ãŸãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã‚’利用ã—ã¦ã€fluentd(実際ã¯td-agentを利用ã—ã¦ã„ã‚‹)ã«ãƒã‚°ã‚’åŽé›†ã•ã›ã¦ã„ãŸã€‚ 実感ã™ã‚‹ãŸã‚ã«LTSVフォーマットã«å®Ÿéš›ã«å¤‰æ›´ã—ã¦é‹ç”¨ã—始ã‚ãŸã€‚ Nginxã«LTSVフォーマットを登録ã™ã‚‹ LTSVã®ã‚µã‚¤ãƒˆã‚’å‚考ã«Nginxã®è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ï¼ˆ/etc/nginx.confã‚ãŸã‚Šï¼‰ã«LTSVã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã‚’登録ã™ã‚‹ã€‚リãƒãƒ¼ã‚¹ãƒ—ãƒã‚ã‚·ã¨ã—ã¦ã‚‚利用ã—ã¦ã„ã‚‹ãŸã‚ã€$upstream_response_timeã®è¨å®šã‚’æ„図的ã«å¢—ã‚„ã—ã¦ã„る。 log_format ltsv "time:$time_local" "thost:$remote_addr" "tfor
What is it? GoAccess is an open source real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser. It provides fast and valuable HTTP statistics for system administrators that require a visual server report on the fly. Why GoAccess? GoAccess was designed to be a fast, terminal-based log analyzer. Its core idea is to quickly analyze and view we
追記(2/17) 変æ›ã‚¹ã‚¯ãƒªãƒ—トを見ã›ã¦ã»ã—ã„ã€ã¨ã„ã†è¦æœ›ãŒã‚ã£ãŸã®ã§ã€ https://gist.github.com/stanaka/4967403 ã«ä¸Šã’ã¦ãŠãã¾ã—ãŸã€‚ltsvã‚’èªã¿è¾¼ã‚“ã§ã‚ªãƒ—ションã§æŒ‡å®šã—ãŸãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆ(デフォルト JSON)ã«å¤‰æ›´ã—ã¾ã™ã€‚ 追記ã“ã“ã¾ã§ LTSVã®ç››ã‚Šä¸Šã‚Šã‚‚åŽæŸã—ã¦ãã¦ã„ã¾ã™ãŒã€ã‚µã‚¤ã‚ºã«é–¢ã™ã‚‹æ‡¸å¿µãŒã‚ãŒã£ã¦ã„ãŸã®ã§ã€ç¢ºèªã—ã¦ã¿ã¾ã—ãŸã€‚ 手近ã«ã‚ã£ãŸã‚¢ã‚¯ã‚»ã‚¹ãƒã‚° 186万件ã»ã©ã‚’対象ã«ã€ ssv .. Combined Log Formatã®æ‹¡å¼µã§ã€ãƒ©ãƒ™ãƒ«ãªã— (レスãƒãƒ³ã‚¹æ™‚é–“ã¨ã‹10個ãらã„ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’æ‹¡å¼µã—ã¦ã„ã¾ã™) json .. ラベルã‚ã‚Š ltsv .. ラベルã‚ã‚Š ã®3パターンã§è©¦ã—ã¦ã¿ã¾ã—ãŸã€‚ ã¾ãšã¯è¡Œæ•°ã‚’確èªã—ã¦ãŠãã¾ã™ã€‚ % wc -l access_log.json 1861706 access_log.json未圧縮ã ã¨ã€ a
LTSV ã£ã¦ä½•? Labeled Tab-Separated Values ã¨ã„ã†ã€ãƒ†ã‚ストã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã®ä»•æ§˜ã§ã™ã€‚CSV ã‚„ TSV ã‚„ JSON ãã®ã»ã‹ã¨åŒã˜ã€ãƒ†ã‚ストデータã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆå。主ã«ãƒã‚°ã€ç‰¹ã« httpd ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒã‚°ãªã©ã«é©ç”¨ã™ã‚‹ã¨ä¾¿åˆ©ã§ã™ã€‚ 仕様㯠http://ltsv.org ã«ã¾ã¨ã¾ã£ã¦ã„ã¾ã™ã€‚éšæ™‚æ›´æ–°ä¸ã§ã™ã€‚ LTSV ã¯å˜ãªã‚‹ãƒã‚°ã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã§ã‚ã£ã¦ã€ãれ以上ã§ã‚‚ãれ以下ã§ã‚‚ã‚ã‚Šã¾ã›ã‚“。 LTSV ã£ã¦ã‚¿ãƒ–区切りã§å€¤ã«åå‰ã‚’付ã‘ãŸã ã‘ã®ã‚‚ã®? ã¯ã„ã€ãã†ã§ã™ã€‚ ã“れ㌠127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (
Labeled Tab-separated Values (LTSV) ãŒãƒ–ームã®ã‚ˆã†ã§ã™ã€‚ LTSV ã«ã¤ã„ã¦ã¯ã€ãƒ©ãƒ™ãƒ«ã‚’ã¤ã‘ã‚‹ã“ã¨ã§æŸ”軟ã«æ‹¡å¼µã§ãã‚‹ã¨ã„ã†ç‚¹ãŒã€ãã®ç‰¹å¾´ã¨ã—ã¦å–り上ã’られã¾ã™ãŒã€ã‚‚ã†ä¸€ç‚¹ã€ã‚¿ãƒ–をセパレータã«ä½¿ã†ã“ã¨ã§ãƒã‚°ã®ãƒ‘ースãŒç°¡å˜ã«ãªã£ãŸã€ã¨ã„ã†ç‚¹ã‚’忘れるã¹ãã§ã¯ãªã„ã§ã—ょã†ã€‚ 特㫠httpd ã®ãƒã‚°ã¯ NCSA httpd ã¨ã„ㆠHTTP/0.9 時代ã®Webサーãƒã®ãƒã‚°ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆãŒãƒ™ãƒ¼ã‚¹ã«æ‹¡å¼µã•ã‚Œã¦ããŸãŸã‚ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ã‚»ãƒ‘レータã¨ã—ã¦ç©ºç™½ã€[]ã€ãƒ€ãƒ–ルクォート ("")*1ãŒæ··åœ¨ã™ã‚‹ã¨ã„ã†ã€ã¨ã¦ã‚‚処ç†ã—ã¥ã‚‰ã„ã‚‚ã®ã«ãªã£ã¦ã„ã¾ã—ãŸã€‚ã©ã‚Œã»ã©è¤‡é›‘ã‹ã¯ã€Œ404 Blog Not Found:perl - Apache Combined Log ã‚’ LTSV ã«ã€ã®å®Ÿè£…を見れã°æ˜Žã‚‰ã‹ã§ã—ょã†ã€‚ 127.0.0.1 - - [08/Feb/2012:23:52:4
2013å¹´02月08æ—¥19:00 カテゴリTipsLightweight Languages perl - Apache Combined Log ã‚’ LTSV ã« ã³ã£ãã†ã‡ã€œã¶ã«ä¹—ã‚‹å‰ã®æº–å‚™ã¨ã—ã¦ã€‚ Labeled Tab-separated Values (LTSV) Labeled Tab Separated Valuesノススメ - stanakaã®ãƒ–ãƒã‚° タグ「ltsvã€ã‚’検索 - ã¯ã¦ãªãƒ–ックマーク 移行ã«ã‚ãŸã£ã¦ã¯å½“然「éŽåŽ»ãƒã‚°ã©ã†ã™ã‚‹ã‚ˆã€ã¨ã„ã†å•é¡ŒãŒç™ºç”Ÿã™ã‚‹ã‚ã‘ã§ã™ãŒã€ä¸€ç•ªä½¿ã‚ã‚Œã¦ã„ã‚‹ã§ã‚ã‚ㆠ(common|combined) log ã‚’LTSVã«å¤‰æ›ã™ã‚‹ã‚¹ã‚¯ãƒªãƒ—トãŒã€ã–ã£ã¨è¦‹å›žã—ã¦ã‚‚見ã¤ã‹ã‚‰ãªã‹ã£ãŸã®ã§ã€‚ã¤ãƒ¼ã‹ã‚¹ã‚¹ãƒ¡ã‚‹ãªã‚‰ã“ã‚Œãらã„用æ„ã—よã†ã‚ˆï¼žid:stanaka ltsv.orgã®exampleã‚‚combined_ltsvã®æ–¹ãŒã„ã„ã¨æ€ã†ã€‚ Enjoy! Dan
ランã‚ング
ランã‚ング
ランã‚ング
リリースã€éšœå®³æƒ…å ±ãªã©ã®ã‚µãƒ¼ãƒ“スã®ãŠçŸ¥ã‚‰ã›
最新ã®äººæ°—エントリーã®é…ä¿¡
処ç†ã‚’実行ä¸ã§ã™
j次ã®ãƒ–ックマーク
kå‰ã®ãƒ–ックマーク
lã‚ã¨ã§èªã‚€
eコメント一覧を開ã
oページを開ã
{{#tags}}- {{label}}
{{/tags}}