Tags

By year

  1. 2014 (28)

Serverspec メモ

Servespec Chef Puppet Monitoring

Posted on May 13


はじめに

Serverspec の利用シーン別メモ。


Serverspec を利用するメリット

  • サーバーにログインしてやっているようなことを自分自身ではサーバーにログインせずに出来る
  • 確認の手順がコード化されているので誰でも見ることが出来てツッコミも入れてもらえる
  • Jenkins と組み合わせたりすることで結果を後から見直せる


シーン(1)Chef とか Puppet で構築した後での確認

概要

  • 様々なところで紹介されている
  • 構築後の確認という意味では手動でセットアップした環境に対しても十分に有用
  • test-kitchenbusser-servespec と組み合わせることで kitchen verify すると Serverspec でテストが行われる


シーン(2)サーバー上で稼働している各種サービスの稼働状況確認

概要

  • 監視ツールと被ってしまうがエージェントレス(SSH のみあれば良い)は Servespec の強み

実際に利用している Spec ファイル

上記で実現したいことは以下の通り。

  • Elasticsearch が有効(自動起動が)であり且つ稼働しているか?
  • Elasticsearch が起動していると Listen するポート 92009300 がちゃんと Listen しているか?
  • curl localhost:9200 を実行して指定した文字列のレスポンスがあるか?

ちょうど監視ツールを検討中で何で監視しようかしらって時にサッと書いたが意外に良い(かも)。



シーン(3)バックアップの確認

概要

  • 定期的なバックアップジョブの結果を確認したい
  • 稼働状況自体も CronJenkins の合わせ技で確認することも可能だが結果も自動で管理したい

実際に利用している Spec ファイル

上記で実現したいことは以下の通り。

  • バックアップを実行した当日のディレクトリが存在するか?
  • バックアップ対象のファイルが当日のディレクトリ内に存在するか?
  • バックアップファイルは 0 バイト以上であるか?

md5 の比較とかも考えたが今のところ実現出来ていない。



さいごに

  • 日常的に手作業でやっているようなことを自動化して楽する為の一つのツールとして Serverspec は利用している
  • 結果が定義出来るものは Spec ファイルに落としこんでテストすることが出来る(はず)



2014 かっぱのほげふが