ããã«ã¡ã¯ã ä»å¹Žäžã«ããŠãŒã¶ãŒã¹ã¯ãªãã管çã·ã¹ãã ã§ããSparrowã«é¢ããäžé£ã®èšäºãå·çããŸããã ä»å¹Žã®çµããã«ãç§ã¯äžçš®ã®çµæãšããŠã®æçš¿ãããããšæããŸããããäžåºŠãã®ããŒã«ã®äž»ãªæ¬è³ªã説æããããšããŸãã
ããã§ã¯ãSparrowãšã¯æ£ç¢ºã«ã¯äœã§ããïŒ ãã®ã·ã¹ãã ã䜿çšããããã®ããŸããŸãªãªãã·ã§ã³ã䜿çšããªãå ŽåãSparrowã䜿çšãããšãã«ã¹ã¿ã ã¹ã¯ãªããããã°ããéçºãæ§æãããã³å®è¡ã§ããŸãã
å
·äœäŸãæããŸãããã ç§ã®ä»äºã§ã¯ãå€ãã®å Žåãå€ãã®ãµãŒããŒã«ã¢ã¯ã»ã¹ããããã§ãã³ããšåŒã°ããäœããããªããã°ãªããŸããã åæã«ãèªåã®ã¢ã«ãŠã³ãã®ç°å¢ããåãã§ã¯ãªãã«ããŠããèªåã®ãã·ã³ã§åŠçããç°å¢ãšéåžžã«ãã䌌ããã®ã«ããããšèããŠããŸãã ããã«ç§ãæå³ãããã®ããããŸãïŒ
- é »ç¹ã«äœ¿çšããå¿
èŠãããã€ã³ã¹ããŒã«æžã¿ããã±ãŒãžã®ãªã¹ã-ããšãã°ãtreeãcurlãnanoãgitãmc
- nanoãšãã£ã¿ãŒã®ç¹å®ã®èšå®
- gitã¯ã©ã€ã¢ã³ãã®ç¹å®ã®ã»ããã¢ãã
ãªã©ãªã©ã ãã®ãããªäºçŽ°ãªããšã®åãªã¹ãã¯ãç¬èªã®ãã®ãæã€ããšãã§ããŸãã ãã¡ãããããããã¹ãŠã¯ãããã±ããç§åŠãã§ã¯ãªããæåã§èšå®ããã³ã€ã³ã¹ããŒã«ã§ããŸãããæåã«ããœãããŠã§ã¢ãæ£ããèšå®ããããã«ãæ¯åå€ãã®ã³ãã³ããå
¥åããããã¥ã¡ã³ãã調ã¹ãå¿
èŠããããŸãã 第äºã«ããã¹ãŠã念é ã«çœ®ãã®ã¯é£ãããããäœããåã«å¿ãããèŠéãããããããšããããŸãã ããã«ã¯ãã¹ãŠæéãšåŽåãããããŸãã ã§ããããç§ã¯ããã§èª°ã«ãã¢ã¡ãªã«ãéããªãã§ããããç§ãã¡ã¯éåžžã®èªååãå¿
èŠãšããŸãã
ããã£ã ããã§ããã«ãã©ãŒã ã®ã³ã¡ã³ããäºæž¬ãããã®ãããªã¿ã¹ã¯ã«äœããã®ã·ã§ããansibleã䜿çšããªãããã«ããŸãããã ããã«å¯ŸããŠãç§ã¯å€ãã®èããæã£ãŠããŸããããã«åœŒãã¯ãããŸãïŒ
- ChefãŸãã¯Ansibleã¯ãå€æ°ã®ãµãŒããŒãšãæçãéã³ã®æ¬ã§è¡šçŸããããå
žåçãªçµç¹åãããã€ã³ãã©ã¹ãã©ã¯ãã£ãããå Žåã«ãç£æ¥äžã®åé¡ã解決ããã®ã«é©ããŠããŸãã
- æ¬è³ªçã«èªåã«åã£ãã«ã¹ã¿ã ã®å人çšã¹ã¯ãªããããããããããæ®éçãªãœãªã¥ãŒã·ã§ã³ã«ããããªãå Žåãchefãansibleã®ãããªæ±ºå®ã¯ããã§ã«äžçš®ã®å€±æã«ãªããŸãã
- ãŸããæšæºã¯ãŒã¯ãããŒã®åãã·ã§ãããµãŒããŒããŒããšé©åã«æ§æãããã¯ã©ã€ã¢ã³ãã·ã§ãïŒããŒãã®ç»é²ïŒãå¿
èŠãšããããšãå¿ããŠã¯ãªããŸãã-nanoãšãã£ã¿ãŒã®ã€ã³ã¹ããŒã«ãgitã¯ã©ã€ã¢ã³ãæ§æã®ã»ããã¢ãããªã©ã®åé¡ã解決ããã«ã¯ãããŸãã«ãåæããå¿
èŠããããŸãã
- æåŸã«ãã¿ãŒã²ãããµãŒããŒã§å®è¡ãããã ãã®bashã¹ã¯ãªãããæ¢ã«çšæãããŠããŠå¿«é©ãªå ŽåããããŸãããã·ã§ãã¯ãã¯ããã¯ãansibleãã¬ã€ããã¯ã«å€ããŠã³ãŒãã®ç§»æ€ã«é¢é£ããè¿œå ã®ãäœã®åããããããã¯ãããŸããïŒã¡ãªã¿ã«ãããã¯éåžžã®bash / shellã¹ã¯ãªããã§ã¯å¿
ãããã¹ã ãŒãºã§ã¯ãããŸãã-ããããããã¯ãããã®ããŒã«ã®ãšã³ã·ã¹ãã ã«ãããå¥ã®æçš¿ã®ãããã¯ã§ãã
- ãããã¯ãã¹ãŠããŠãŒã¶ãŒã¹ã¯ãªãããããŸããŸãªãã·ã³ã«ïŒéçºããã³ïŒ é
åžã§ããã·ã³ãã«ã§ãããšåæã«ååã§æè»ãªãœãªã¥ãŒã·ã§ã³ãå¿
èŠã§ããããšã瀺åããŠããŸãã ããããSparrowãšSparrowHubã«ã¹ã¿ã ã¹ã¯ãªãããªããžããªã®ã¢ã€ãã¢ãçãŸããæ¹æ³ã§ãã ããã«ã€ããŠã¯ãHabréãå«ããŠè©³çŽ°ã«* æžããŸããã
ïŒ*ïŒãã®æçš¿ã¯ãçŸåšã®Sparrowã®å®è£
ã«æ¯ã¹ãŠå°ãæ代é
ãã§ãããéèŠãªç¹ã¯ããã«åæ ãããŠããŸãã
ãããã£ãŠãSparrowã®äž»ãªæ©èœãèŠçŽãããšã次ã®ããã«èšããŸãã
Sparrowã¯ãçµ±äžãããæ¹æ³ã§ããã±ãŒãžåããã³ã«ã¹ã¿ãã€ãºå¯èœãªããŸããŸãªã¹ã¯ãªãããéçºãé
åžã管çã§ããã«ã¹ã¿ã ã¹ã¯ãªãããªãŒã±ã¹ãã¬ãŒã¿ãŒã§ãã
ãããã£ãŠãã¹ã¯ãªããã¯åäžã®ãªããžããªã«ããŒããããäœæè
ãããŒãžã§ã³ãããã³ããã¥ã¡ã³ãããããŸãããããã¯ãã¹ãŠãapt / debianãCPAN / Perlãªã©ã®ããã±ãŒãžé
åžã·ã¹ãã ã«äŒŒãŠããŸãã
Sparrowã¯ãæ€çŽ¢ïŒãªããžããªã€ã³ããã¯ã¹ïŒããã³ã¹ã¯ãªããã®ã€ã³ã¹ããŒã«ãšå®è¡ãå¯èœã«ããã³ã³ãœãŒã«ã¯ã©ã€ã¢ã³ããæäŸããŸãã
ã¹ã¯ãªããã¯ãææ°ããŒãžã§ã³ãŸãã¯æå®ãããããŒãžã§ã³ã䜿çšããŠã€ã³ã¹ããŒã«ã§ããŸãã äžè¬ã«ãã¹ã¯ãªããã®ããŒãžã§ãã³ã°ã¯ãéçºè
ãæ°ããããŒãžã§ã³ã§ã¹ã¯ãªããããªããžããªã«ã¢ããããŒãããããšã§ã¹ã¯ãªããã«åŸç¶ã®å€æŽãå ããããšãã§ããå ŽåãããŒã ã§ã®äœ¿çšã奚å±ããŸããåŸæ¹äºææ§éåã®å ŽåããŠãŒã¶ãŒã¯åžžã«ã¹ã¯ãªããã®ä»¥åã®ããŒãžã§ã³ã«ããŒã«ããã¯ã§ããŸãã ã¹ã¯ãªããã®å€æŽã远跡ããããã»ã¹ãç°¡çŽ åãããŸããããŒãžã§ã³ãç¥ã£ãŠããã°ãæè¿æŽæ°ãããå
容ãå€æŽãã°ãã¡ã€ã«ã§åžžã«ç¢ºèªã§ããŸãã
ãã©ã€ããŒãã¹ã¯ãªããã®å Žåããããªãã¯ã¢ã¯ã»ã¹ïŒäžå€®ãªããžããªã¢ãŒãã®æäœïŒã«ããããªãå ŽåãSparrowã䜿çšãããšããªã¢ãŒãgitãªããžããªïŒãããããã©ã€ããŒãã¹ãºã¡ãã©ã°ã€ã³ ïŒã§ãã¹ããããŠããã¹ã¯ãªãããã€ã³ã¹ããŒã«ã§ããŸãã
ã¹ãºã¡ã¯ããçšåºŠèšèªã«äŸåããªãã·ã¹ãã ã§ãã SparrowHubãªããžããªã«ã¢ããããŒããããã¹ã¯ãªããã¯ã次ã®3ã€ã®èšèªã®ããããã§äœæã§ããŸãã
- Perl
- ã«ããŒ
- ããã·ã¥
ãããã®èšèªã®ãããã«ã€ããŠãã Sparrow APIãå®è£
ãããŠãããã¹ã¯ãªãããæ§æãããã«ãã·ããªãªããã°ã©ã ïŒSparrowã§ã¢ãžã¥ãŒã«ãšåŒã°ããïŒãæŽçãã䟿å©ãªæ¹æ³ãå¯èœã«ããŸãããŸããã¹ã¯ãªããèšèªã«é¢ä¿ãªããå®è¡äžã®ã¹ã¯ãªããã®åºåã¹ããªãŒã ïŒstdoutïŒ Sparrowã¯ããã¹ãã¹ã¯ãªããã®äœæãç£èŠãç£æ»ã«éåžžã«é
åçã§ãã ïŒäŸãšããŠããããžã§ã¯ã-minoca-pkg-test - Minoca OSãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ã¢ã»ã³ãã«ãããããã±ãŒãžã®ãã¹ããåç
§ããŠãã ããïŒã ãã®ãã¹ãŠã®è©³çŽ°ã«ã€ããŠã¯ãSparrowã¹ã¯ãªããéçºç°å¢ãå®è£
ããOutthenticã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ããã芧ãã ãã ã
- Sparrowèªäœã¯Perlã§èšè¿°ãããCPANã¢ãžã¥ãŒã«ãšããŠã€ã³ã¹ããŒã«ãããŸãã äŸåé¢ä¿ã®ãªãŒããŒãããã¯ã»ãšãã©ãªããããã€ã³ã¹ããŒã«ã¯éåžžã«ç°¡åã§ãã
ãããã¯ãSparrowãšã³ã·ã¹ãã ã®ãã¹ãŠã®ç¹æ§ã§ã¯ãããŸããããäž»èŠãªç¹æ§ã§ãããããæçš¿ãããŸãã«ãçè«çã§ããããšãå€æããªãããã«ããã®ããŒã«ã䜿çšããããã®å
žåçãªãªãã·ã§ã³ã玹ä»ããŸãã
ã¹ãºã¡ã®ã€ã³ã¹ããŒã«
éåžžã®CPANã¢ãžã¥ãŒã«ãšããŠé
眮ããŸãã ã«ãŒã«ãå¿
èŠã§ãã ãããŠããã ãã§ãã
$ cpanm --notest -q Sparrow $ yum install curl
SparrowHubãªããžããªã€ã³ããã¯ã¹ã®æŽæ°ãååŸããŸãã
Sparrowã§apt-get update
ã³ãã³ããå®è¡ããŠéåžžè¡ãããšã¯æ¬¡ã®ããã«ãªããŸãã
$ sparrow index update
ã¹ã¯ãªããæ€çŽ¢
ã€ã³ããã¯ã¹ãæŽæ°ãããšãSparrowã§ãã©ã°ã€ã³ãšåŒã°ããã¹ã¯ãªãããæ€çŽ¢ã§ããŸãã ããšãã°ãnanoãšãã£ã¿ãŒã«é¢é£ãããã¹ãŠã®ãã®ãå¿
èŠã§ãã
$ sparrow plg search nano
æ£èŠè¡šçŸæ€çŽ¢ã䜿çšã§ããŸãïŒ
$ sparrow plg search ssh.*
ãã©ã°ã€ã³ã®ã€ã³ã¹ããŒã«
ãã©ã°ã€ã³ã¯æ¬¡ã®ããã«é
眮ããŸãã
$ sparrow plg install nano-setup
ãšããã§ãã¹ã¯ãªããã«äŸåé¢ä¿ãããå Žåã¯ãããããã€ã³ã¹ããŒã«ãããŸãã Sparrowã¯ãPerlã®cpanfileããã³Rubyã®Gemfileãä»ããäŸåé¢ä¿ã®å®£èšãšã€ã³ã¹ããŒã«ããµããŒãããŠããŸãã
ãã§ã«è¿°ã¹ãããã«ãå¿
èŠãªããŒãžã§ã³ã«ãã©ã°ã€ã³ãé
眮ã§ããŸãã
$ sparrow plg install nano-setup
ãã©ã°ã€ã³ã®èµ·å
ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããããå®è¡ã§ããŸãã ããã§ãããšãã°ãnano-rcãã¡ã€ã«ã®èšå®æ¹æ³ïŒ
$ sparrow plg run nano-setup
ãã©ã°ã€ã³ã«å¿ããŠãããŸããŸãªãã©ã¡ãŒã¿ãŒãå
¥åã«æž¡ãããšãã§ããŸãã
$ sparrow plg run nano-setup --param tabsize=2 --param speller='hunspell -x -c'
ãŸãã¯ããã©ã°ã€ã³ãè€æ°åå®è¡ããäºå®ãããå Žåãããã³/ãŸãã¯å€ãã®ãã©ã¡ãŒã¿ãŒãããå Žåã¯ãèµ·åãããã©ã°ã€ã³ã®ãã©ã¡ãŒã¿ãŒã決å®ããã¿ã¹ã¯ãäœæã§ããŸããããšãã°ãããã¯logdogãã©ã°ã€ã³ã䜿çšããŠnginxãã°ã§ãã©ãŒã 500ã®ãšã©ãŒãèŠã€ããããã®ã¿ã¹ã¯ãäœæããæ¹æ³ã§ãïŒ
$ sparrow plg install logdog # - $ sparrow project create nginx # $ sparrow task add nginx 500-errors logdog # : $ sparrow task ini nginx/500-errors <logdog> file /var/log/nginx/access.log time_pattern \[(\d+\/\S+\/\d+):(\S+) time_format %d/%b/%Y %T history 5 minutes timezone Europe/Moscow filter HTTP\/\S+?"\s+500\s key_field (\S+) density 3 check_mode report </logdog>
ããã§ãæå®ããããã©ã¡ãŒã¿ãŒã§ã¿ã¹ã¯ãéå§ã§ããŸãã
$ sparrow task run nginx/500-errors
ãŸãã¯ãèµ·åæã«ããã€ãã®ãã©ã¡ãŒã¿ãŒããªãŒããŒã©ã€ãããŸãã
$ sparrow task run nginx/500-errors --param logdog.density=10 --param logdog.history="'1 weeks'"
ãã©ã°ã€ã³ã®äœ¿çšæ¹æ³ãå¿ããå Žåã¯ããã€ã§ãããã¥ã¡ã³ããå
¥æã§ããŸãã
$ sparrow plg man nano-setup
ãŸãã¯ãSparrowHub Webã€ã³ã¿ãŒãã§ãŒã¹ã䜿çšããŠãå¿
èŠãªãã©ã°ã€ã³ãèŠã€ããŸãã
https://sparrowhub.org/info/nano-setup
ã¿ã¹ã¯ã®å
Ž
åŸã§å¥ã®ãµãŒããŒã§äœ¿çšã§ããããã«ãç¬èªã®ã¿ã¹ã¯ãä¿åãããšäŸ¿å©ãªå ŽåããããŸãã ç°¡åãªäŸãæããŸãã ç§ã¯ä»äºã®éçšã§ãã䜿ãããã±ãŒãžã®ãªã¹ããæã£ãŠããŸãã æ°ãããµãŒããŒã䜿çšããå Žåã«å¿
èŠã«ãªãå¯èœæ§ãæãé«ããšèšããŸãã OKã package-genericãã©ã°ã€ã³ã䜿çšããŠãããŸããŸãªãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããŸãã
ãŸãããã©ã°ã€ã³ãã€ã³ã¹ããŒã«ããŠã¿ã¹ã¯ãäœæããŸãã
$ sparrow plg install package-generic $ sparrow project create utils $ sparrow task add utils my-packages package-generic $ sparrow task ini utils/my-packages list tree mc nano hunspell git
次ã«ãã¢ã«ãŠã³ãã®SparrowHubãµãŒããŒã«ã¿ã¹ã¯ãä¿åããŸãã
$ sparrow remote task upload utils/my-packages 'my useful packages'
ããŠãèŠåŽããã«ãå¿
èŠãªããã±ãŒãžã®ãªã¹ããæãåºããã«ãå¥ã®ãµãŒããŒã«ç§»åããŠãã¿ã¹ã¯ããã€ã³ã¹ããŒã«ããã ãã§ãïŒ
$ ssh new-server $ sparrow remote task run utils/my-packages
次ã®ãããªãªã¢ãŒãã¿ã¹ã¯ã®ãªã¹ããååŸã§ããŸãã
$ sparrow remote task list
ãŸãããªã¢ãŒãã¿ã¹ã¯ãå
¬éããŠãä»ã®äººã䜿çšã§ããããã«ããããšãã§ããŸãã
$ sparrow remote task share utils/my-packages
ãŠãŒã¶ãŒãç§ã®ã¿ã¹ã¯ãå®è¡ã§ããããã«ãªããŸããïŒ
$ sparrow remote task run melezhik@utils/my-packages
次ã®ããã«ãSparrowHubã§å©çšå¯èœãªãã¹ãŠã®ãªã¢ãŒãã¿ã¹ã¯ã®ãªã¹ããååŸã§ããŸãã
$ sparrow remote task public list
ç¬èªã®ãã©ã°ã€ã³ã®éçºãšå
¬éã¯å¥ã®ãããã¯ã®ãããã¯ã§ãããèå³ã®ãã人ã¯Habréã«é¢ããç§ã®æçš¿ *ãåç
§ã§ããŸãã
ïŒ*ïŒãã®åºçç©ã¯ãSparrowã®çŸåšã®ããŒãžã§ã³ã«é¢ããŠã¯å°ãå€ããªã£ãŠããŸãããåºçºç¹ãšããŠåœ¹ç«ã€å ŽåããããŸãããã®åŸãSparrowãã©ã°ã€ã³éçºç°å¢ã®ããã¥ã¡ã³ããåç
§ã§ããŸã-OutthenticããŸãã¯Webã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãã¹ã¯ãªãããäœæããå Žåã¯swatã·ã¹ãã ã
ããã¯ãããããã¹ãŠã§ããããã¡ããããã¯ã·ã¹ãã ãžã®å€§éæãªãšã¯ã¹ã«ãŒã·ã§ã³ã§ãããããã¹ãŠã®çš®é¡ã®Sparrowæ©èœã«é¢ãã詳现ã¯ããã¥ã¡ã³ãããŒãžã§èŠã€ããããšãã§ããŸãã
ãŸãšã
ã§ã¯ãSparrowã¯ã©ââã®ããã«åœ¹ç«ã€ã®ã§ããããïŒ ç§ã¯èŠçŽããããšããŸãïŒ
- ããŸããŸãªãµãŒããŒäžã§ã®ãŠãŒã¶ãŒãŸãã¯ä»ã®ãŠãŒã¶ãŒã«ããã¹ã¯ãªããã®åå©çšãç®çãšãããç¬èªã®ã¹ã¯ãªããã®è¿
éãªä¿åã
- ãããã«äœ¿ããããµããŒããããŠããå€æ°ã®æ§æãã©ãŒãããïŒINIã¹ã¿ã€ã«ãConfig :: GeneralãYAMLãJSONãã³ãã³ãã©ã€ã³ïŒã§ã¹ã¯ãªãããã«ã¹ã¿ãã€ãºã§ãã䟿å©ãªAPIã åã
ã®æ§æãã©ã¡ãŒã¿ãŒã®ãªãŒããŒã©ã€ãã®ãµããŒãïŒããã©ã«ãå€ãä¿æïŒã
- ã¹ã¯ãªããåºåãæ€èšŒããããã®çµã¿èŸŒã¿DSLã䜿çšãããšãBlackBoxãã¹ãã¢ãã«ã䜿çšããŠãç£èŠããã¹ããããã³ç£æ»çšã®ããŸããŸãªã¹ã¯ãªãããç°¡åãã€è¿
éã«äœæã§ããŸãã
PSïŒããã§ãšãããããŸãïŒ é 匵ã£ãŠïŒ
ãããŠæåŸã«ãäŒçµ±çã«åæ§ã®ããŒããæã€å°ããªã¢ã³ã±ãŒãã