More Related Content
PDF
「DevSecOpsとは?」の一歩先 (CloudNative Days Tokyo 2021) PDF
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話 PDF
アナザーエデンにおける非同期オートセーブを用いた通信待ちストレスのないゲーム体験の実現 PDF
マイクロサービスバックエンドAPIのためのRESTとgRPC PDF
【Unity】 Behavior TreeでAIを作る PDF
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法 PDF
PPTX
WebRTC SFU Mediasoup Sample update What's hot
PDF
MMOG Server-Side 충돌 및 이동처리 설계와 구현 PPTX
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리 PPTX
PPTX
[IGC 2017] 펄어비스 민경인 - Mmorpg를 위한 voxel 기반 네비게이션 라이브러리 개발기 PDF
PDF
強いて言えば「集約どう実装するのかな、を考える」な話 PDF
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル) PDF
PDF
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~ PDF
PDF
PDF
Redmineのバージョンアップに追従していくための一工夫 PDF
xOps: エンジニアがスタートアップの成長の原動力となる日 PDF
PPTX
Node.js x Headless Chrome for WeRTC MCU / Node.js x Chrome headless で、お手軽WebR... PDF
PPTX
shared_ptrとゲームプログラミングでのメモリ管理 PPTX
PPTX
これから始める人のための自動化入門~Ubuntu Jujuを使って〜– OpenStack最新情報セミナー 2015年7月 Viewers also liked
PPTX
PDF
PDF
PPTX
PDF
パケットキャプチャでインフラ主導のデバッグ環境を作る PDF
Go conference 2015_winter Similar to インフラ部門で働くCプログラマの話
PPTX
PPTX
YJTC18 A-1 データセンタネットワークの取り組み PDF
Yahoo! JAPANにおけるApache Cassandraへの取り組み PDF
[Basic 7] OS の基本 / 割り込み / システム コール / メモリ管理 PDF
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! - PDF
インフラエンジニアが プログラミングで業務改善していく話 PPTX
PDF
第2回インフラエンジニアのためのプレゼン技術研究会(オススメの技術書) PDF
「ほげエンジニア」の定義について #operationcasual PPTX
PDF
PDF
PDF
PPTX
PPTX
Infrastructure of Pathtraq PDF
PDF
PPT
Recently uploaded
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」 PDF
2025→2026宙畑ゆく年くる年レポート_100社を超える企業アンケート総まとめ!!_企業まとめ_1229_3版 PDF
自転車ユーザ参加型路面画像センシングによる点字ブロック検出における性能向上方法の模索 (20260123 SeMI研) PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望 PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S... PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信 PDF
PMBOK 7th Edition Project Management Process Scrum PDF
PMBOK 7th Edition_Project Management Context Diagram PDF
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector PDF
PMBOK 7th Edition_Project Management Process_WF Type Development インフラ部門で働くCプログラマの話
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
miruo
Pretty-Print TCP sessionmonitor/analizer
miruo を⼀⾔で説明するなら「⾒やすい tcpdump」です。当社⽐10倍です、ISUCON 勢に
オススメです。TCPセッション毎にパケットをまとめて出⼒するため、パケットの流れが格
段に追いやすくなります。また、問題のなさそうなパケットはあえて省略して表⽰しないの
で、興味のありそうなパケットだけが出⼒されます。
$ ./miruo --all -i en0 -m http tcp port 80
listening on en0, link-type EN10MB (Ethernet), capture size 1522 bytes
0001 0.048 | 10.0.0.100:62511 == 125.6.190.6:80 | Total 21 segments, 13397 bytes
0001:0000 17:27:30.093 | SYN_SENT >----S-> SYN_RECV | 1B5B2031/00000000 78 - <mss=1460,
0001:0001 17:27:30.099 | ESTABLISHED <-A--S-< SYN_RECV | 5F9DC421/1B5B2032 78 - <mss=1460,
0001:0002 17:27:30.099 | ESTABLISHED >-A----> ESTABLISHED | 1B5B2032/5F9DC422 66 - <timestamp
0001:0003 17:27:30.099 | ESTABLISHED >-AP---> ESTABLISHED | 1B5B2032/5F9DC422 572 - <timestamp
DPI:HTTP:RequestLine >>>> GET /archives/51977201.html HTTP/1.1
DPI:HTTP:Header >>>>>>>>> Host: dsas.blog.klab.org
0001:0004 17:27:30.125 | ESTABLISHED <-AP---< ESTABLISHED | 5F9DC422/1B5B222C 1514 - <timestamp
DPI:HTTP:ResponseLine >>> HTTP/1.1 200 OK
0001:**** | |
0001:0016 17:27:30.136 | ESTABLISHED <-A---F< FIN_WAIT1 | 5F9DF149/1B5B222C 66 - <timestamp
0001:0017 17:27:30.136 | CLOSE_WAIT >-A----> FIN_WAIT2 | 1B5B222C/5F9DF149 66 - <timestamp
0001:**** | |
0001:0019 17:27:30.136 | LAST_ACK >-A---F> FIN_WAIT2 | 1B5B222C/5F9DF14A 66 - <timestamp
0001:0020 17:27:30.142 | CLOSED <-A----< TIME_WAIT | 5F9DF14A/1B5B222D 66 - <timestamp
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
rlogd
参考にした部分
・タグベースでのログ振り分け
・input / outputのプラグイン機構
・バッファリングと再送機構
・コンフィグ構⽂
その他の特徴
・省メモリ(10MB程度)
・書き出し側をブロックさせない
・ログを消失したら切腹 😇
fluentd を参考にC⾔語で実装
<source>
type forward
bind unix:///var/run/rlogd/rlogd.sock
</source>
<source>
type forward
bind 0.0.0.0:10381
label forwarded
</source>
<match example.**>
type forward
target 127.0.0.1:10381
buffer_path /var/run/rlogd/buf/
</match>
<label forwarded>
<match example.acc.**>
type file
# time_format %s
# format $time $tag: $record
path /var/run/rlogd/logs/example/%Y-%m-%d/acc_%H%M.log
</match>
<match example.err.**>
type file
path /var/run/rlogd/logs/example/%Y-%m-%d/err_%H%M.log
</match>
<match example.app.**>
type file
path /var/run/rlogd/logs/example/%Y-%m-%d/app_%H%M.log
</match>
</label>
- 19.
- 20.
- 21.
OSSへのコントリビュート
インフラに限らず、KLab では多数の OSSを利⽤しています。KLabが開発して公開してい
るものもありますが、他のプロジェクトの成果を利⽤させてもらっているケースが圧倒的に
多いです。トラブルに⾒舞われた場合にはコードを解析して修正することも珍しくなく、開
発元へのフィードバックを積極的に⾏っています。
他にも、⾃分が興味を持ったプロダクトへのコントリビュートを業務として⾏っています。
- 22.
OSSへのコントリビュート
雑に⾔うと、組み込みや IoT デバイス向けにC で実装された fluentd のサブセット
・IPv6 対応と BSD 系 OS への移植
・プラグインの実装(in_mem / out_stdout)
Linux を NAT64 ゲートウェイとして機能させるためのカーネルモジュール
・Netfilter の API が Kernel 4.1 で変更になっていたので対応させた
・namespace 周りの処理でクラッシュしそうな箇所があったので修正
Linux でロードバランサ(LVS)を構築する際に IPVS と組み合わせて使う
KLabでは keepalived-extcheck.patch という独⾃パッチを作って運⽤中
・この独⾃パッチを全⾯的に書き直して本家へ統合を提案(マージ済み)
・別件で、keepalived のプロセスが増殖してしまう問題を修正中(WIP)
- 23.
- 24.
- 25.