Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
fluentdサーバをchefで構築するの辛かったけどDockerも別に救世主じゃなかった / tokyu ruby kaigi 12
Search
h3poteto
July 29, 2018
Technology
0
3.8k
fluentdサーバをchefで構築するの辛かったけどDockerも別に救世主じゃなかった / tokyu ruby kaigi 12
fluentdのchefメンテまじで辛い,どうせみんなcookbookとか忘れたでしょ
h3poteto
July 29, 2018
Tweet
Share
More Decks by h3poteto
See All by h3poteto
EKS on Fargateは最高のJob基盤 / jawsug_bgnr
h3poteto
1
850
Kubernetes上で単発のジョブを実行するkube-jobというツールを作った / kubernetesmeetuptokyo22
h3poteto
6
7.2k
Electronによるアプリケーション開発事情2018 / builderscon2018
h3poteto
9
8.9k
ECSのサービスをslack botでデプロイする // ecs-goploy
h3poteto
1
4.5k
まだRailsで消耗してるの?
h3poteto
7
4.5k
阿澄佳奈と昇竜拳
h3poteto
1
440
Other Decks in Technology
See All in Technology
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
2
9.9k
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
420
MapLibreとAmazon Location Service
dayjournal
1
150
開発生産性大幅アップ!Postman VS Code拡張機能
nagix
2
370
Hands-on Gemini, the Google DeepMind LLM
meteatamel
1
110
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
160
推しは推せるときに推せ! プロダクトにフィードバックしていこう
nakasho
0
290
反実仮想機械学習とは何か
usaito
PRO
11
4k
本当のAWS基礎
toru_kubota
0
500
マルチアカウント環境への発見的統制の導入
ch1aki
1
1.3k
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
290
リテール金融(キャッシュレス・ネット銀行・ネット証券)の競争環境と経済圏
8maki
0
390
Featured
See All Featured
Designing for Performance
lara
601
67k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
How to train your dragon (web standard)
notwaldorf
73
5.2k
Thoughts on Productivity
jonyablonski
58
3.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
Build The Right Thing And Hit Your Dates
maggiecrowley
24
2k
Scaling GitHub
holman
457
140k
[RailsConf 2023] Rails as a piece of cake
palkan
23
3.9k
The Brand Is Dead. Long Live the Brand.
mthomps
49
28k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
It's Worth the Effort
3n
180
27k
The Language of Interfaces
destraynor
151
23k
Transcript
fluentdαʔόΛchefͰߏங͢Δ ͷਏ͔͚ͬͨͲDockerผʹٹ ੈओ͡Όͳ͔ͬͨ @h3_poteto
ࣗݾհ • Akira Fukushimaʢౡ ໌ʣ • github: h3poteto • twitter:
h3_poteto • ࣄɿterraform৬ਓ@scouty
એ
None
None
એऴΘΓ
fluentdαʔόΛchefͰߏங͢Δͷਏ͔ͬ ͚ͨͲDockerผʹٹੈओ͡Όͳ͔ͬͨ ָԂͰ͢ɼࠓ͙͢Dockerʹ͠·͠ΐ͏ @h3_poteto
ղܾࡦ͕Θ͔Βͳ͍ͬͯΛ ͠Α͏ͱࢥͬͯͨͷʹɼ ղܾࡦ͕ݟ͔ͭͬͯ͠·ͬͨ
Έͳ͞Μ ϩάͷूʹfluentd ͬͯ·͢ΑͶʁ
None
͜Εͷ
aggregatorͷfluentdΛ chefͰߏங͍ͯͨ͠
Έͳ͞Μchefͷ͜ͱ ֮͑ͯ·͔͢ʁ
None
chefͭΒ͍ • immutable infra? • ͨ·ʹࣦഊ͢Δ • ΈΜͳ͏cookbookͷϝϯςͯ͠ͳ͍Ͱ ͠ΐʁ
chef-td-agent͋Δ
td-agentͷcookbookͰ yum install͍ͯ͠Δ
ͳͷʹamazon linux ͨ·ʹݹ͍yumϦϙδτϦΛ ফͯ͘͠Δ
͋Δಥવ Կͯ͠ͳ͍ͷʹ ಈ͔ͳ͘ͳΔʂ
fluentd v0.12ܥΛ ӡ༻ͯͨ͠ࠒͷ
td-agentͷґଘʹؒҧ͑ͯ v0.14ܥͷgem͕ࠞೖͨ͠
None
amazon linuxͷyum ฏવͱtd-agent 2.3.5ʹߋ৽ ͞ΕΔ
͔͠2.3.4͕ফ͞ΕΔ
͜ͷޙ1ϲ݄ۙ͘yum v2.3.5ͷ·· ߋ৽͞Εͳ͔ͬͨ
ͯ͢ͷΠϯελϯεͰchef ͷprovision͕ࣦഊ͢Δ
ͭΒ͍
chefࣗମͷόʔδϣϯΞοϓ Λͬͨͱ͖
ࠓ·Ͱrhelͱఆ͞Ε͍ͯͨ amazon linuxɼ৽ͨʹ amazonͱ͍͏ࣝผࢠΛ৽ઃ ͞ΕΔ
platformͷఆΛ͍ͯͨ͠ cookbook͕΄ͱΜͲ͍ ʹͳΒͳ͍
None
ํͳ͍ͷͰҰͭͣͭमਖ਼ͷ Pull Request
͚ͩͲະͩʹϦϦʔε͞Εͯ ͍ͳ͍ͷ͋Δ
None
None
Ͳ͏ͤ͏ΈΜͳcookbook ͷϝϯςͯ͠ͳ͍Ͱ͠ΐ……
ͭΒ͍
࣮͏ΈΜͳDockerͰ ӡ༻ͯ͠Δͷʁ ͔ͩΒchefϝϯς ͯ͠ͳ͍ͷʁ
গͳ͘ͱΞοϓσʔτ chefΑΓසൟ
σϓϩΠ࣌ͷBuffer Ͳ͏͢Μͷʁ ؾʹͳΔͱ͜Ζ……
None
Memory or File ?
Ͳͬͪίϯςφࡴͨ͠Β ফ͑Δ͡ΌΜʂ ͯࢥͬͯͨΜ͚ͩͲ……
flush_at_shutdown
flush_at_shutdown • SIGTERMΛड͚औͬͨͱ͖ʹBufferΛflush • flushྃ·Ͱtd-agent͕͔ͬͯΒऴྃ • buf_memoryͰσϑΥϧτͰ༗ޮ • SIGKILLͷͱ͖ޮ͔ͳ͍
ߟ͑ͯͨ͜ͱ • k8sͷPersistentVolumesͰNFSʢ͘͠ EBSʣΛvolumeϚϯτ͢Δ • k8sͷPreStopͰbufferΛS3ʹΞοϓϩʔυ͢ Δ • fluentdΫϥελ2ܥ౷࡞Δʁ
શ෦͍Βͳ͔ͬͨʂ flush_at_shutdownͰk8sʹ ͦͷ··ͤΕྑ͍ʂ
SIGKILLΛΒ͏ͱ͖͋Δ • td-agentɼtimeoutҎʹflushΒͳ͍ͱऴ ྃ͠ͳ͍ • k8sͷGracePeriodSecondsҎʹίϯςφ͕ ऴྃ͠ͳ͍ͱSIGKILL
͜Εྲྀྔͱͷ݉Ͷ߹͍
ৗʹਖ਼ৗऴྃͰ͖ͳ͍ͷͰ͋ Εɼbufferͷઃఆoutput ͷεϨουΛௐઅͨ͠ํ͕ ͍͍͔
fluentd on Docker ָԂͰ͋Δ
chefΛࣺͯͯDockerʹߦ͜͏