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
Log Operation -今あるログと向き合う- / phpconfuk2019
Search
Ken’ichiro Oyama
June 29, 2019
Technology
940
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Log Operation -今あるログと向き合う- / phpconfuk2019
PHPカンファレンス福岡2019
Ken’ichiro Oyama
June 29, 2019
More Decks by Ken’ichiro Oyama
See All by Ken’ichiro Oyama
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
2
5.7k
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
1k
analysis パッケージの仕組みの上でMulti linter with configを実現する / Go Conference 2025
k1low
1
840
Flight recorder at the application layer (NOT the FlightRecoder newly added at Go 1.25) / Fukuoka.go #22
k1low
0
190
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
12
6.4k
Parsing HCL/CUE / Fukuoka.go #21
k1low
0
11k
実践 net/http Middleware パターン / Kizuku.go Vol.1
k1low
2
470
Cleanup handling in Go / Go Conference 2024
k1low
7
4.2k
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
18
12k
Other Decks in Technology
See All in Technology
猫付きpingコマンドを自作
uyuki234
0
290
あなたの知らないバージョン命名規則
sat
PRO
2
110
[potatotips #96] Give Your AI Agent the Flutter Playbook
korodroid
0
140
Sets in Go
ramalho
1
1.2k
VLMで2.3万枚のPyCon JP写真を検索!
terapyon
1
260
私がブラウザを自作したくなった理由
supurazako
1
280
AI時代に、人は何を、どう学ぶのか #pbl_pub / What and How Do We Learn in the AI Era?
takaking22
1
240
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
140
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
120
コーチングの奥義 何もしないテクニック
jinwatanabe
0
150
AI時代のアウトプット――変わったこと、変わらないこと / Devsumi 2026 Kansai #devsumi
jnchito
0
500
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
440
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.4k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
630
The Mindset for Success: Future Career Progression
greggifford
PRO
0
470
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
The World Runs on Bad Software
bkeepers
PRO
72
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
540
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Amusing Abliteration
ianozsvald
1
260
Transcript
ࠓ͋Δϩάͱ͖߹͏ খࢁ݈Ұ(.01FQBCP *OD 1)1ΧϯϑΝϨϯεԬ -PH0QFSBUJPO
IUUQTHJUIVCDPNL-P8 ϓϦϯγύϧΤϯδχΞ খࢁ݈Ұ!L-P8 ϗεςΟϯάࣄۀ෦ϗεςΟϯάάϧʔϓϚωʔδυΫϥυνʔϜ
w UCMTJTB$*'SJFOEMZUPPMGPSEPDVNFOU BEBUBCBTF XSJUUFOJO(P w σʔλϕʔεʹଓͯ͠υΩϡϝϯτΛੜ ͯ͘͠ΕΔίϚϯυϥΠϯπʔϧ w 1PTUHSF42-.Z42-42-JUF42- 4FSWFS#JH2VFSZ"NB[PO3FETIJGU
w IUUQTHJUIVCDPNL-P8UCMT
None
None
wϨϯλϧαʔόͷΑ͏ʹߏஙɾӡ༻͕Ϛωʔδυͳ wΦʔτεέʔϧػೳ͋Δ wΩϟογϡػೳ͋Δ wϗεςΟϯάαʔϏε ͲΜͳαʔϏε
IUUQTTQFBLFSEFDLDPNLMPXMPMJQPQNBOBHFEDMPVEJTOPUGBBT ٕज़తͳ͓ͪ͜Β
None
ϩά
σʔλϩάཤྺɺใΛهʹ ͢͜ͱɻ·ͨɺͦͷهࣗମΛ ࢦ͢ɻ 8JLJQFEJB
w 1)1ΞϓϦέʔγϣϯ w 8FC%#ͷγϯϓϧͳߏ w -".1-"11 w "84 w ϏδωεϩδοΫ෦͕ൺֱత͠Ί
w ҙࣝΛूத͢Δ͖Օॴ ࠓ·Ͱ
w ϕΞϝλϧɺ0QFO4UBDLɺ,VCFSOFUFTΫϥελ/&8 w Ϣʔβ͕ૢ࡞͢ΔμογϡϘʔυ w /VYU1PTUHSF42- )" w ϢʔβͷαΠτΛϗετ͢ΔϗεςΟϯάྖҬ
w OHY@NSVCZ(P1PTUHSF42- )" w Ϣʔβʹఏڙ͢Δ.Z42- w ͦͷଞɺΩϟογϡαʔόɺϩʔυόϥϯαɺϦόʔεϓϩΩγɺόο ναʔόɺ"$.&δϣϒΩϡʔγεςϜɺετϨʔδδϣϒΩϡʔγ εςϜ w $POTVM)BTIJ$PSQ7BVMU w FUDFUDFUD w ϚωʔδυΫϥυ
w αʔϏεΛߏ͢ΔཁૉʢαʔόϛυϧΣΞʣͷछྨ͕૿͑ͨ w 8FCΞϓϦέʔγϣϯͱ%#ͱ8FCαʔόछྨͮͭɺͰͳ͘ෳ w αʔϏεΛߏ͢Δཁૉͷ͕૿͑ͨ w ୯७ʹ͕૿͑ͨ w
αʔϏεΛར༻͢ΔϢʔβ͕૿͑ͨ w αʔϏεͱͯ͠ͷఏڙ શ͘ҟͳΔಛੑͷγεςϜʹରͯ͠ɺࠓ·Ͱͱಉ͡Α͏ͳϩάͱͷ ͖߹͍ํΛͨ݁͠Ռɺ·ͬͨ͘ʹཱͨͳ͍ঢ়گ͕ൃੜ Կ͕ҧ͏ͷ͔
τϥϒϧγϡʔτͱϩά
োʹؔͷ͋Γͦ͏ͳϩάΛݟ͚ͭΔɾूΊΔ ϩά͔ΒোͷݪҼΛಡΈղ͘ ͜ͷ͚ͭͩ αʔϏεʹো͕ൃੜͨ͠Β
͜ͷ͚ͭͩɺ͔͍͠͠͠
w Ͳ͜ʹϩά͕͋Δͷ͔ w ͦͦͲͷαʔόͰԿ͕ಈ͍͍ͯͯͲΜͳϩάΛు͍͍ͯΔͷ͔ɺ γεςϜͷߏΛѲ͓ͯ͘͠ඞཁ͕͋Δ w વͱ͍͑વ w ϩʔϧͱͯ͠Λ͓͑ͯΓɺDPOTVMEDෳɺDPOTVM NFNCFST֬ೝ͢Δͱۙ͘ͷαʔόʢΠϯελϯεʣ͕͋Δ
w ͞Βʹ֤ϩʔϧ্ͰϛυϧΣΞΞϓϦͱ͍ͬͨίϯϙʔωϯ τ͕Ҏ্Քಇ͍ͯ͠Δ w શͯͷશʹѲ͓ͯ͘͠ͷ͕͍͠ ϩάΛݟ͚ͭΔ͠͞
w γεςϜͭͷαʔόͰಈ͍͍ͯΔΘ͚Ͱͳ͍ɻͦΕͧΕ͕࿈ܞ ͍ͯ͠Δɻ w ඞཁͳϩάͲͷϩʔϧ·Ͱ w ߏͷ߹ɺඞཁͳϩάͲ͜ʹ͋Δͷ͔ w .BTUFS4MBWFߏͩͱࠓͲ͕ͬͪ.BTUFS
w ෳʹϩʔυόϥϯγϯά͞Ε͍ͯΔߏͩͱɺશͯͷϩάΛ ू͢Δඞཁ͕͋Δ w ʹϩʔυόϥϯγϯά͞ΕͯΕɺͭͷϖʔδΛදࣔ͢Δ ҝͷϦΫΤετʹࢄ ϩάΛूΊΔ͠͞
w ༷ʑͳϑΥʔϚοτͰग़ྗ͞Ε͍ͯΔ w */'08"3/&33ಉ͡ϩάϑΝΠϧʹ͋Δ͜ͱ͋Δ͔͠Ε ͍ͯΔ͜ͱ͋Δ w ௨ৗΛΒͳ͍ͱҟৗ͕Θ͔Βͳ͍ w αʔϏεΛߏ͢Δίϯϙʔωϯτͷछྨͷ͚ͩ͋Δ ϩάΛಡΈղ͘͠͞
Ͳ͏ཱ͔ͪ͏ͷ͔
ٕܳ
w ·ͣΞϥʔτͷ͋ͬͨαʔόΛΈΔɻΞϥʔτͷͳ͍োͷ߹ ͦͷಛੑ͔Β͕ؔ͋Γͦ͏ͳαʔόΛΈΔ w Ξϥʔτ࣌ࠁۙɺোൃੜ࣌ࠁۙͷWBSMPHTZTMPH͔ΒΈΔ w TZTUFNEͰཧ͞Ε͍ͯΔϓϩηεͷTUEPVUTUEJOେTZTMPH ʹू͞Ε͍ͯΔ͔Β w 4UBOEBSE0VUQVUTZTMPH4UBOEBSE&SSPSTZTMPH
w TZTMPH ͕͋Δ͔Βྺ࢙తʹTZTMPHʹूத͢Δʁ w ͋ͱͦͷͱ͖ͷঢ়گͰҧ͏͠ɺਓͦΕͧΕελΠϧ͕ҧ͏ ۩ମతʹʢνʔϜϝϯόʔʹฉ͍ͯΈ·ͨ͠ʣ
ਓͦΕͧΕͰελΠϧ͕ҧ͏
ΣϒΦϖϨʔγϣϯٕܳͰ͋ΓɺՊֶͰͳ͍ɻਖ਼نͷֶߍڭҭɾ ࢿ֨ɾඪ४ গͳ͘ͱࠓ·ͩ ͳ͍ɻզʑͷ͍ͬͯΔ͜ͱɺֶ शʹशಘʹ͕͔͔࣌ؒΓɺͦͷޙࣗࣗͷελΠϧΛࡧ͠ͳ ͚ΕͳΒͳ͍Ͱ͋Δɻʮਖ਼͍͠ํ๏ʯͲ͜ʹଘࡏ͠ͳ͍ɻͦ ͜ʹ͋Δͷɺ ͱΓ͋͑ͣࠓ ͏·͍͘͘ͱ͍͏ࣄ࣮ͱɺ࣍ͬͱ ྑ͘͢Δͱ͍͏֮ޛ͚ͩͩɻ
lΣϒΦϖϨʔγϣϯαΠτӡ༻ཧͷ࣮ફςΫχοΫz·͕͖͑ΑΓ
ٕܳඞཁ ͔ٕ͚ܳͩ͠͠Ͱπϥ͍ ेͳٕܳͷशಘ·Ͱπϥ͍
ٕܳΛίʔυͰϘτϜΞοϓ
ϩάΛݟ͚ͭΔɾूΊΔ
IUUQTTQFBLFSEFDLDPNQZBNBBOGBMTF[IPOHEFKJOLBGLBHBXBORVBOOJSFJ େ౷Ұϩάج൫ʢ,BGLB(SBZMPHʣ
w εΩʔϚΛఆ͓ٛͯ͘͜͠ͱͰɺαʔόͷࣄલΠϯετʔϧͳ͠ ʹɺෳͷαʔόͷϩάΛͭʹू͠ɺ࣌ܥྻʹอଘͨ͠ΓɺϦΞ ϧλΠϜʹUBJMͨ͠Γ͢Δπʔϧ w 44)ϩʔΧϧϑΝΠϧ,VCFSOFUFTͷϩάΛಁաతʹूՄೳ w IUUQTHJUIVCDPNL-P8IBSWFTU )BSWFTU
ϩάΛಡΈղ͘
IUUQTTQFBLFSEFDLDPNQZBNBXB[VIXPMJZPOHTJUBEBUPOHTBCBKJBODIBKJQBO 8B[VI
IUUQTTQFBLFSEFDLDPNQZBNBXB[VIXPMJZPOHTJUBEBUPOHTBCBKJBODIBKJQBO 8B[VI
w ֤αʔόͷओཁͳϩάΛ-PHDPMMFDUPS͕ऩू͠ɺBHFOUܦ༝Ͱ8B[VITFSWFS ʹసૹ w 8B[VITFSWFS͕ύλʔϯϚονʹΑΓϩάΛࣗಈͰಡΈղ͖ɺϨϕϧʹԠͯ͡ ௨ w ීஈಡΜͰ͍ͳ͍ϩάΛΘΓʹಡΜͰҟৗΛڭ͑ͯ͘ΕΔ w ྫ͑TZTUFNEͰཧ͞Εͨ3FTUBSUPOGBJMVSFͳϓϩηεͷ࠶ىಈͳͲ
w BVEJUMPHBVUIMPHͳͲॏཁ͚ͩΕͲΘ͔Γʹ͍͘ϩάಡΈղ͍ͯ͘Ε Δ w ಠࣗͷϧʔϧ؆୯ʹઃఆՄೳ w IUUQTHJUIVCDPNXB[VIXB[VISVMFTFU -PHDPMMFDUPS
ϝτϦΫεͱͯ͠ͷϩά
w ੜͷϩά͔ΒϝτϦΫεɺ͍ΘΏΔͷใΛऔಘ͢Δͱ͍͏Ξ ϓϩʔν ϝτϦΫεͱͯ͠ͷϩά k1low@webproxy:~# cat /var/log/nginx/access-443.log | awk '{
i=substr($4, 6, 14);arr[i]++ }END{for(z in arr){ print z,": ",arr[z] } }' | sort 19/Jan/2019:00 : 14957 19/Jan/2019:01 : 58690 19/Jan/2019:02 : 109914 19/Jan/2019:03 : 133299 19/Jan/2019:04 : 156445 19/Jan/2019:05 : 6126 19/Jan/2019:06 : 8578 19/Jan/2019:07 : 13158 19/Jan/2019:08 : 20153 19/Jan/2019:15 : 27856 19/Jan/2019:16 : 27041 19/Jan/2019:17 : 29583
w UBJM͍ͯ͠ΔϩάͳͲΛඪ४ೖྗܦ༝ͰϦΞϧλΠϜʹ୯Ґ࣌ؒ୯Ґ ߦͰूܭͳͲ͕Ͱ͖ΔίϚϯυ w ྫ͑ඵ͝ͱͷΞΫηε w IUUQTHJUIVCDPNL-P8FWSZ FWSZ # tail
-F /var/log/nginx/access-443.log | evry -s 10 -- wc -l
w ҙͷϩάΛUBJMͭͭ͠ɺઃఆ͞Εͨ%4-ʹैͬͯϩάΛύʔεͯ͠ ूܭɺϝτϦΫεΛੜ͢Δπʔϧ w IUUQTHJUIVCDPNHPPHMFNUBJM w 1SPNFUIFVTͷ&YQPSUFSͱͯ͠ػೳ͢Δ w ϚωʔδυΫϥυͰ/(*/9ͷϩά͔Β֤ϗετͷϦΫΤετ ϦΫΤεταΠζͷऔಘͳͲʹར༻
NUBJM
ϩάΛ࡞Δ
w 5$1ύέοτΛղੳͯ͠ߏԽϩάͰμϯϓ͢Δπʔϧ w 1PTUHSF42-.Z42-ʹରԠʢ3%#.4ઐ༻ͷͭΓͳ͍ʣ w IUUQTHJUIVCDPNL-P8UDQEQ w ΞϓϦέʔγϣϯͱ3%#.4ͷؒͷ5$1ύέοτΛΩϟϓνϟͯ͠Ϋ ΤϦΛߏԽϩάͱͯ͠औಘ͢Δ͜ͱ͕Մೳ w
ύέοτΛΩϟϓνϟ͢Δ͚ͩͳͷͰɺಋೖఫڈ༰қ w ࢲ׳Ε͍ͯͳ͍03.ͷΫΤϦϩάUDQEQͰݟͨΓ͠·͢ w ߏԽϩάʢ+40/-547ʣͰͷग़ྗΛ͢ΔͷͰػցతʹ͍͍͢ UDQEQ
w Կ͔࡞ۀΛ࣮ࢪ͢Δͱ͖ɺ4MBDL(JU)VC*TTVFʹϩάΛ͢จԽ ͕͋Δ w ࣮ߦͨ͠ίϚϯυͱͦͷ݁Ռ w ͦͷͱ͖ߟ͑ͨ͜ͱ w ࡞ۀͷྲྀΕίϚϯυܦݧٕܳͷܧঝʹͭͳ͕͍ͬͯΔ w
ߟ͑ͨ͜ͱ͕ॻ͍ͯ͋ΔͱपΓͷΤϯδχΞ͕ඇಉظʹΞυόΠε͠ ͍͢ w ূͱͳΔ w ͜ΕͲΕ͘Β͍Ұൠతʁ✋ ΦϖϨʔγϣϯͷϩάΛ͢
ϩά͔ΒίʔυΛಡΉ
w 8B[VIBHFOU͕z"HFOUFWFOURVFVFJTqPPEFEzͱΤϥʔϩ άΛग़͍ͯͨ͠ w BHFOU͕8B[VITFSWFSʹૹΔΠϕϯτͷྔ͕૿͍͑ͯΔͷΘ͔ͬ ͕ͨԿͷΠϕϯτͳͷ͔શ͘Θ͔Βͳ͔ͬͨ w ݪҼͷΠϕϯτΛಛఆ͢ΔͨΊʹɺΤϥʔϩάग़ྗ࣌ࠁۙͰԿͷϓ ϩηε͕ಈ͍͍ͯΔ͔֬ೝͯ͠ΈͨΓɺଞͷϩάͱͷ૬ؔΛௐͯ ΈͨΓͨ͠
ಛఆͰ్͖ͣํʹ͘Ε͍ͯͨʜ ϩά͚ͩͩͱݫ͍͠
8B[VIBHFOUࣗલͰϏϧυͯ͠ σόοάίʔυࠩ͠ࠐΊ ͍͍Μ͡Όͳ͍͔͢Ͷ !QZBNB
8B[VI044
IUUQTHJUIVCDPNXB[VIXB[VIͰ͓ΉΖʹz"HFOUFWFOU RVFVFJTqPPEFEzͰݕࡧ '-00%&%@#6''&3Ͱఆٛ͞Ε͍ͯͨͷͰࠓ z'-00%&%@#6''&3zͰݕࡧ ಛఆͷؔʹͨͲΓண͘ɻ$ॻ͚ͳ͍͕ϓϩάϥϚͳͷͰɺงғ ؾͰॲཧΛ͏ɻ
ΠϕϯτΛड͚औΔؔͱϩάΛग़ྗ͍ͯ͠Δ͕ؔΘ͔ͬͨͷ ͰɺงғؾͰશͯͷΠϕϯτΛϩάʹग़ྗ͢ΔΑ͏ʹߦՃͯ͠ ΈΔ Ϗϧυ όΠφϦΛஔ͖͑ɻ࣮ߦɻ ϩάͷใΛىʹίʔυΛಡΉ
ݪҼ͕Θ͔ͬͨͧ
w Α͘ߟ͑ΔͱݪҼͷղܾํ๏ͨͩͷQSJOUσόοά w 1)1ΞϓϦέʔγϣϯͳΒઈର͍ͬͯͨͷʹͳͥͦͷ ࢥߟʹ͍ͨΒͳ͔ͬͨͷ͔ʁ w ར༻͍ͯ͠Δ044ΛʮΦʔϓϯͳιϑτΣΞ 0T4 ʯ ͱΈΔ͔ʮΦʔϓϯͳιʔείʔυ
04T ʯͱΈΔ͔ w ࢹ࠲ͷҧ͍ w ͍͍ܦݧʹͳͬͨ 044Λ0T4ͱΈΔ͔04TͱΈΔ͔
·ͱΊ
wϩάʹ·ͭΘΔ༷ʑͳΞϓϩʔνΛհͨ͠ wϩά͔ΒޮՌతʹใΛऔಘ͢Δ͜ͱͰɺʑ ͷΦϖϨʔγϣϯʹඞཁͳใྔ૿͑Δ wϩάΛىʹ w·ͣࠓ͋ΔϩάΛಡΉͱ͜Ζ͔Β ·ͱΊ
5IBOLZPV ࠷৽ͷ࠾༻ใΛνΣοΫˠ !QC@SFDSVJU