Chefで既存手順のレシピを書く5(munin、zabbix)

おつかれさまです。小宮です。

前回に引き続き、munin,zabbixの手順のレシピをご紹介します。レシピはこの記事でおしまいです。
記事の最後にはレシピの適用方法を記載します。

・muninのレシピ

role毎にちがうコマンド実行するとかひとつのレシピ内でやる方法ってあるのかが気になります。ifとかでできるんでしょうか。
今回はそんな方法はわからなかったので、webとdbそれぞれ用のレシピを分けて作りました。
roleに適用する順序は、munin-node.rbを最初にしないとプラグインが最初全部消される仕様です。(レシピは上から順に実行されます)

zabbixのレシピ
・zabbix-agent

zabbix_agentd.confはホスト名とかIPアドレスを書く箇所があるのでtemplateに置いてohaiでnodeの値を入れるようにしました。

ohaiで値がとれることを確認しておく

・zabbix-proxy
zabbix用のmysqlを4406で別途動かす

クックブックのシンタックステスト

・レシピの適用方法について
1つのノードに必要なレシピをまるごと割り当てる場合(事前に定義しておいたnodeとroleからレシピが適用されていきます)

個別にテストしたい場合(部分的に修正したあと手っ取り早く確認したい時などに)

vagrant使う場合は、Vagrantfileのある場所でvagrant provisionとうつとprovision(レシピ適用)されます。

chef-soloの場合、knifeコマンドでレシピを適用するのは並列実行ができないようで、必要ならforでぐるぐる回して順に実行させる感じです。
今回作成したレシピの適用にかかった時間はwebserverが2分、dbserverが5分程度でした。serverspecでのテストは30秒でした。(t1.microインスタンスです)

次回は最後にserverspecでのテストをご紹介です。
お楽しみに。

おすすめ記事