SlideShare a Scribd company logo
Serverspecを自分好みにアレンジ
スクリーンショットで証跡保存を撲滅
TIS株式会社
池田 大輔
2017.3.31
Hello!
I am Daisuke IKEDA
You can find me at @ike_dai
2
こんなことをなくしたい
3
Bad...
4
$ ps
Excel..
$ rpm -qa
Excel..
$ ss
Excel..
$ ip addr
・・・
No. テスト項目 結果 担当者 日付
001 プロセスが起動していること OK 池田 2016.3.10
002 ポートがリッスンしていること OK 池田 2016.3.10
003
xxパッケージがインストールされている
こと
NG 池田 2016.3.10
Bad...
5
スクリーンショットでエビデンス保存
極力Serverspecで
自動化できないか?
6
Resource Type
テスト対象のリソース指定
file
port
package
command
service
など
その他、Resource Typeはこちら
 http://serverspec.org/resource_types.html
7
describe package(package) do
it { should be_installed }
end
Matcher
どうあるべきかの定義
file
be_file: 指定したパスがファイルであるべき
be_directory:指定したパスがディレクトリであるべき
content match: ファイルの中身に指定した文字列が含まれているべき
port
be_listening: 指定したポートがリッスン状態であるべき
service
be_enabled : 起動設定が有効になっているべき
be_running: 起動しているべき
package
be_installed: インストールされているべき
など
8
describe package(package) do
it { should be_installed }
end
この枠組に乗っかれば
自分好みにアレンジ可能なはず!!
9
リソースタイプ「Command」
任意のコマンドの実行結果をテスト
10
describe command(‘ls -la’) do
its(:stdout) { should match /hoge }
end
いろんなことに活用できるので便利
もっと複雑なことをするには厳しい
11
Resource Typeを
自分で作ってしまう
12
リソースタイプ「ZabbixConfig」
OSSの監視ツール「Zabbix」の監視設定状況を
テストするリソースタイプ
13
Serverspec実行元
Zabbix
Zabbix APIをcallして確認
リソースタイプ「ZabbixConfig」-仕様-
14
・ホストが設定されていることの確認
・ホストにテンプレートが割り当てられていることの確認
・ホストの監視先インタフェース設定が正しいことの確認
・ホストの監視設定が有効化どうかの確認
describe zabbix_config(‘server-01’) do
it { should be_host }
it { should have_template “Template OS Linux”}
it { should have_interface ({ :ip => "10.2.2.2" }) }
it { should be_valid }
end
リソースタイプ「ZabbixConfig」-仕様-
15
・ホストに割り当てられている特定の監視項目が有効であることの確認
・ホストに割り当てられているすべての監視項目が有効であることの確認
describe zabbix_config(‘server-01’) do
its(:item_state) { should be_normal.with_itemkey(‘agent.ping’) }
its(:all_item_state) { should_not include "not supported" }
end
リソースタイプ「ZabbixConfig」-仕様-
16
他にも
 ・ホストグループの存在確認
 ・マクロの設定の確認
 ・テンプレートの存在確認
 ・障害検知トリガーの設定確認
最低限よく使う設定系の処理は実装済み
ZabbixConfigを使うには?
17
①zabbixapiというRubygemsパッケージの導入が必要
 $ gem install zabbixapi
②カスタマイズに必要なファイルを配置
 コードはここから(https://github.com/ike-dai/serverspec/tree/zabbix)
   ・lib/serverspec/matcher/be_normal.rb
   ・lib/serverspec/matcher/be_valid.rb
   ・lib/serverspec/type/zabbix_config.rb
   ・lib/serverspec/helper/type.rb
   ・lib/serverspec/matcher.rb
   ・lib/serverspec/matcher/be_enabled.rb
③環境変数に実行先のZabbixの情報登録
 ZABBIX_URL,ZABBIX_USER,ZABBIX_PASS
【3ファイル追加】
【3ファイル置換】
Serverspecって本来こういうことするもの?
18
サービス利用やサーバレスによる運用など、
インフラエンジニアの構築対象は
単なるサーバから色々と変わってきているので、、
こんな用途での活用もありかも??
19
構築を自動化するならあえて
Serverspecのテストの必要性って・・・?
20
Ansible等でのコード
 パッケージ「zabbix-server-mysql」が導入されていること
実際は
 zabbix-server-mysqlパッケージに依存する多数が。。。
 ▶期待した状態になっているかはServerspecの出番
21
手段はどうあれ、確実な運用実現に
テストは欠かせない
極力手間をかけずに効率よく実現を
Conclusion
22
Thanks!
Happy Premium-Friday!
You can find me at @ike_dai
23

More Related Content

PPTX
Itamae-Serverspec入門
PDF
Serverspecの活用tips紹介
PDF
serverspecでサーバ環境のテストを書いてみよう
PDF
serverspecみんなで集めて(゚Д゚)ウマー?
PDF
ポリドックにServerspecを教えよう!
PDF
Serverspecを使ってみた話
PDF
Serverspec at Testing Framework Meeting
PDF
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Itamae-Serverspec入門
Serverspecの活用tips紹介
serverspecでサーバ環境のテストを書いてみよう
serverspecみんなで集めて(゚Д゚)ウマー?
ポリドックにServerspecを教えよう!
Serverspecを使ってみた話
Serverspec at Testing Framework Meeting
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト

What's hot (20)

PDF
Server specのご紹介
PDF
Chef社内勉強会(第1回)
PDF
Ansible入門
PDF
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
PDF
Ansible 入門 #01 (初心者向け)
PPTX
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
PPTX
Ansibleで始めるinfraTDD(初級編)
PDF
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
PPTX
Puppetのススメ
PDF
入門 Chef Server #biglobetechtalk
PPTX
initとプロセス再起動
PDF
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
PDF
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
PDF
Ansible入門...?
PDF
ノンプログラマのためのウェブサーバ入門
KEY
Fabricでサーバー管理をDRYにしよう
PDF
Hive undocumented feature
PPTX
明日から始める Chef 入門 #bpstudy
PDF
今日から使い始めるChef
PPTX
serverspecを使用したサーバ設定テストの実例
Server specのご紹介
Chef社内勉強会(第1回)
Ansible入門
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
Ansible 入門 #01 (初心者向け)
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Ansibleで始めるinfraTDD(初級編)
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
Puppetのススメ
入門 Chef Server #biglobetechtalk
initとプロセス再起動
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
Ansible入門...?
ノンプログラマのためのウェブサーバ入門
Fabricでサーバー管理をDRYにしよう
Hive undocumented feature
明日から始める Chef 入門 #bpstudy
今日から使い始めるChef
serverspecを使用したサーバ設定テストの実例
Ad

Similar to Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- (10)

PDF
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
PPTX
OSSで作るOpenStack監視システム
PDF
オープンソースNW監視ツールのご紹介
PDF
Amazon ec2とは何か?
PDF
2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-
PDF
OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現
PDF
オープンソース統合監視ソフトウェア Zabbix 2.0によるクラウド監視
PDF
170827 jtf garafana
PDF
20130927 adstir emr
PDF
180729 jtf open-audit
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
OSSで作るOpenStack監視システム
オープンソースNW監視ツールのご紹介
Amazon ec2とは何か?
2.0~2.2~2.4~3.0 zabbixの進化を紐解く zabbix便利機能紹介-
OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現
オープンソース統合監視ソフトウェア Zabbix 2.0によるクラウド監視
170827 jtf garafana
20130927 adstir emr
180729 jtf open-audit
Ad

More from Daisuke Ikeda (20)

PDF
AIOpsで実現する効率化 OSC 2022 Online Spring TIS
PDF
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
PDF
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
PPTX
OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現
PDF
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
PDF
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
PDF
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
PDF
Jtf2018 自律的運用に向けた第一歩
PDF
保守運用現場の課題共有しませんか?-OSC2018LT-
PDF
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?
PDF
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
PDF
Tech circle bot x zabbix オペレータbot lt
PDF
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
PDF
Tech circle#13 zabbix3.0ハンズオン lld
PDF
Zabbix超入門
PDF
Osc2016 tokyo sprint-jobschedulerを活用したoperations as codeの世界
PDF
Job schedulerを活用したoperations as codeの世界
PDF
Zabbix conference2015 daisukeikeda
PDF
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
PDF
Tech circle#2 Vagrant+Docker handson
AIOpsで実現する効率化 OSC 2022 Online Spring TIS
Osc 2021 fall_tis_変化に強いチーム育成のための取り組み紹介
OSC 2020 Fukuoka IT運用自動化を支援する「運用レコメンドプラットフォーム」実現の舞台裏
OSC2019 LT 運用レコメンドプラットフォーム開発におけるマイクロサービス構成の実現
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
OSC2018Tokyo/Fall 自律的運用に向けた第一歩(OpsBear取り組み紹介)
Jtf2018 自律的運用に向けた第一歩
保守運用現場の課題共有しませんか?-OSC2018LT-
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?
JobScheduler ユーザカンファレンス 2016 東京日産コンピュータシステム様 事例紹介
Tech circle bot x zabbix オペレータbot lt
インフラ運用管理ツールとGolang OSS運用管理勉強会LT
Tech circle#13 zabbix3.0ハンズオン lld
Zabbix超入門
Osc2016 tokyo sprint-jobschedulerを活用したoperations as codeの世界
Job schedulerを活用したoperations as codeの世界
Zabbix conference2015 daisukeikeda
第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介
Tech circle#2 Vagrant+Docker handson

Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-