Upload
takahiro-okumura
View
1.647
Download
4
Embed Size (px)
Citation preview
30days Albumの裏側!~監視・インフラCI事情~
Monitoring Casual #7 http://www.zusaar.com/event/9807003
!
OKUMURA Takahiro
OKUMURA Takahiro!
@hfm @tacahilo!
2013年ペパボ新卒入社の2年目インフラエンジニア
dvorak-jp配列の愛用者です
*'``・* 。 | `*。 ,。∩ * system perlの + (´・ω・`) *。+゚ モジュールを `*。 ヽ、 つ *゚* ごにょごにょ~ `・+。*・' ゚⊃ +゚ ☆ ∪~ 。*゚ `・+。*・ ゚
変更の一部--- /usr/lib/perl5/vendor_perl/5.8.8/Munin/Master/GraphOld.pm.orig 2014-03-29 09:26:42.000000000 +0900 +++ /usr/lib/perl5/vendor_perl/5.8.8/Munin/Master/GraphOld.pm 2014-06-09 21:23:19.000000000 +0900 @@ -1677,15 +1677,15 @@ } else { # At least 1.3 @options = ( - '--font', 'DEFAULT:0:DejaVuSans,DejaVu Sans,DejaVu LGC Sans,Bitstream Vera Sans', - '--font', 'LEGEND:7:DejaVuSansMono,DejaVu Sans Mono,DejaVu LGC Sans Mono,Bitstream Vera Sans Mono,monospace', - # Colors coordinated with CSS. - '--color', 'BACK#F0F0F0', # Area around the graph - '--color', 'FRAME#F0F0F0', # Line around legend spot - '--color', 'CANVAS#FFFFFF', # Graph background, max contrast - '--color', 'FONT#666666', # Some kind of gray - '--color', 'AXIS#CFD6F8', # And axis like html boxes - '--color', 'ARROW#CFD6F8', # And arrow, ditto. + '--font', 'DEFAULT:0:Helvetica Neue,DejaVuSans,DejaVu Sans,DejaVu LGC Sans,Bitstream Vera Sans', + '--font', 'LEGEND:7:Helvetica Neue,DejaVuSansMono,DejaVu Sans Mono,DejaVu LGC Sans Mono,Bitstream Vera Sans Mono,monospace', + '--color', 'FONT#EEEEEE', + '--color', 'ARROW#3D3D3D', + '--color', 'AXIS#3D3D3D', + '--color', 'BACK#1F1F1F', + '--color', 'CANVAS#1F1F1F', + '--color', 'SHADEA#1F1F1F', + '--color', 'SHADEB#1F1F1F', ); }
変更の一部--- /usr/lib/perl5/vendor_perl/5.8.8/Munin/Master/GraphOld.pm.orig 2014-03-29 09:26:42.000000000 +0900 +++ /usr/lib/perl5/vendor_perl/5.8.8/Munin/Master/GraphOld.pm 2014-06-09 21:23:19.000000000 +0900 @@ -1677,15 +1677,15 @@ } else { # At least 1.3 @options = ( - '--font', 'DEFAULT:0:DejaVuSans,DejaVu Sans,DejaVu LGC Sans,Bitstream Vera Sans', - '--font', 'LEGEND:7:DejaVuSansMono,DejaVu Sans Mono,DejaVu LGC Sans Mono,Bitstream Vera Sans Mono,monospace', - # Colors coordinated with CSS. - '--color', 'BACK#F0F0F0', # Area around the graph - '--color', 'FRAME#F0F0F0', # Line around legend spot - '--color', 'CANVAS#FFFFFF', # Graph background, max contrast - '--color', 'FONT#666666', # Some kind of gray - '--color', 'AXIS#CFD6F8', # And axis like html boxes - '--color', 'ARROW#CFD6F8', # And arrow, ditto. + '--font', 'DEFAULT:0:Helvetica Neue,DejaVuSans,DejaVu Sans,DejaVu LGC Sans,Bitstream Vera Sans', + '--font', 'LEGEND:7:Helvetica Neue,DejaVuSansMono,DejaVu Sans Mono,DejaVu LGC Sans Mono,Bitstream Vera Sans Mono,monospace', + '--color', 'FONT#EEEEEE', + '--color', 'ARROW#3D3D3D', + '--color', 'AXIS#3D3D3D', + '--color', 'BACK#1F1F1F', + '--color', 'CANVAS#1F1F1F', + '--color', 'SHADEA#1F1F1F', + '--color', 'SHADEB#1F1F1F', ); }
他にも /etc/munin/static/style.css とかhtmlも変更入ってるんですが,全部追い切れず
変更の一部--- /usr/lib/perl5/vendor_perl/5.8.8/Munin/Master/GraphOld.pm.orig 2014-03-29 09:26:42.000000000 +0900 +++ /usr/lib/perl5/vendor_perl/5.8.8/Munin/Master/GraphOld.pm 2014-06-09 21:23:19.000000000 +0900 @@ -1677,15 +1677,15 @@ } else { # At least 1.3 @options = ( - '--font', 'DEFAULT:0:DejaVuSans,DejaVu Sans,DejaVu LGC Sans,Bitstream Vera Sans', - '--font', 'LEGEND:7:DejaVuSansMono,DejaVu Sans Mono,DejaVu LGC Sans Mono,Bitstream Vera Sans Mono,monospace', - # Colors coordinated with CSS. - '--color', 'BACK#F0F0F0', # Area around the graph - '--color', 'FRAME#F0F0F0', # Line around legend spot - '--color', 'CANVAS#FFFFFF', # Graph background, max contrast - '--color', 'FONT#666666', # Some kind of gray - '--color', 'AXIS#CFD6F8', # And axis like html boxes - '--color', 'ARROW#CFD6F8', # And arrow, ditto. + '--font', 'DEFAULT:0:Helvetica Neue,DejaVuSans,DejaVu Sans,DejaVu LGC Sans,Bitstream Vera Sans', + '--font', 'LEGEND:7:Helvetica Neue,DejaVuSansMono,DejaVu Sans Mono,DejaVu LGC Sans Mono,Bitstream Vera Sans Mono,monospace', + '--color', 'FONT#EEEEEE', + '--color', 'ARROW#3D3D3D', + '--color', 'AXIS#3D3D3D', + '--color', 'BACK#1F1F1F', + '--color', 'CANVAS#1F1F1F', + '--color', 'SHADEA#1F1F1F', + '--color', 'SHADEB#1F1F1F', ); }
まあもし壊れても白いmuninに戻せるし別にいいか…
consulとかsensuは?
• sensu (というかRabbit MQ) はハマるからしんどい
• sensu-puppetがイマイチ (触った頃はあまり成熟してなかった)
• トラブルの原因は大抵Rabbit MQやRedisで,sensuの構成要素に対する学習コストが高いのでは?という印象
daysのインフラに変更があると…1. Vagrant (&VirtualBox) でVMを起動
2. Puppet で provisioning
3. Serverspecでテスト
4. PullRequestでレビュー
5. 本番環境へDeploy
時間かかる1. Vagrant (&VirtualBox) でVMを起動
2. Puppet で provisioning
3. Serverspecでテスト
4. PullRequestでレビュー
5. 本番環境へDeploy
←重い!
←めんどくさい!
←めんどくさい!
←しょうがない!
←しょうがない
時間かかる1. Vagrant (&VirtualBox) でVMを起動
2. Puppet で provisioning
3. Serverspecでテスト
4. PullRequestでレビュー
5. 本番環境へDeploy
←重い!
←めんどくさい!
←めんどくさい!
←しょうがない!
←しょうがない
ここをなんとかしたい=> CIしよう
最初はVirtualBoxも検討しました
• Vagrant & VirtualBoxを使ってるなら,CI環境もそれに合わせたい
• 社内にはMaglicaというInternal Cloud (VM) 環境がある
• VM上にCI環境を構築したい,が…
【資料】Maglica
http://www.slideshare.net/mizzy/maglica-techkayac https://github.com/mizzy/maglica
インフラCIをする上での課題母艦!
(Maglica)
VM VM VM •••
VM上でVirtualBoxを起動できない!! (VT-xが動かないとかエラーが出る)=> Vagrant & VirtualBox なCIはキツそう
UkigumoでCIする• CIサービス自体への依存を極力減らす
• Jenkinsの環境変数や,CIから与えられるパラメータを使わない
• シェルスクリプト1枚でCI出来るようにする
• UkigumoはTravis-CIみたいにyamlで実行内容を記述出来るけど,あくまでスクリプトを呼び出すだけに留める
未完成?
• 環境自体は完成,Ukigumoちゃんは動いてる
• しかしDockerの設定にハマって,十分なCIが出来ていない
• コンテナ内でeth1 (lan) を付けるのがしんどかったり起動しないサービスのためにprovisioningの条件分岐を考えたり…
今後の展開予定1. まずDockerの設定でハマりまくってるのでなんとかする
2. Infratasterで振る舞いテストも導入する
3. CI作った環境の作り方をGitHubとかで公開する
• UkigumoちゃんをItamaeでポンと作れるようにしました