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紹介
Daisuke Ikeda
 
PDF
serverspecでサーバ環境のテストを書いてみよう
Daisuke Ikeda
 
PDF
serverspecみんなで集めて(゚Д゚)ウマー?
Sho Hashimoto
 
PDF
ポリドックにServerspecを教えよう!
ftnk
 
PDF
Serverspecを使ってみた話
Yasufumi Moritake
 
PDF
Serverspec at Testing Framework Meeting
Gosuke Miyashita
 
PDF
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Ken Sawada
 
Itamae-Serverspec入門
辰徳 斎藤
 
Serverspecの活用tips紹介
Daisuke Ikeda
 
serverspecでサーバ環境のテストを書いてみよう
Daisuke Ikeda
 
serverspecみんなで集めて(゚Д゚)ウマー?
Sho Hashimoto
 
ポリドックにServerspecを教えよう!
ftnk
 
Serverspecを使ってみた話
Yasufumi Moritake
 
Serverspec at Testing Framework Meeting
Gosuke Miyashita
 
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Ken Sawada
 

What's hot (20)

PDF
Server specのご紹介
Akira Kaneda
 
PDF
Chef社内勉強会(第1回)
Yoshinori Nakanishi
 
PDF
Ansible入門
Daiki Hayakawa
 
PDF
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネット株式会社
 
PDF
Ansible 入門 #01 (初心者向け)
Taro Hirose
 
PPTX
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
CLARA, Inc.
 
PPTX
Ansibleで始めるinfraTDD(初級編)
佐久本正太
 
PDF
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
Yukihiko SAWANOBORI
 
PPTX
Puppetのススメ
Gosuke Miyashita
 
PDF
入門 Chef Server #biglobetechtalk
BIGLOBE Tech Talk
 
PPTX
initとプロセス再起動
Takashi Takizawa
 
PDF
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
Naotoshi Seo
 
PDF
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
BIGLOBE Tech Talk
 
PDF
Ansible入門...?
shirou wakayama
 
PDF
ノンプログラマのためのウェブサーバ入門
Atsu Yamaga
 
KEY
Fabricでサーバー管理をDRYにしよう
max747
 
PDF
Hive undocumented feature
tamtam180
 
PPTX
明日から始める Chef 入門 #bpstudy
Takeshi Komiya
 
PDF
今日から使い始めるChef
Masahiro NAKAYAMA
 
PPTX
serverspecを使用したサーバ設定テストの実例
Koichi Shimozono
 
Server specのご紹介
Akira Kaneda
 
Chef社内勉強会(第1回)
Yoshinori Nakanishi
 
Ansible入門
Daiki Hayakawa
 
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネット株式会社
 
Ansible 入門 #01 (初心者向け)
Taro Hirose
 
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
CLARA, Inc.
 
Ansibleで始めるinfraTDD(初級編)
佐久本正太
 
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
Yukihiko SAWANOBORI
 
Puppetのススメ
Gosuke Miyashita
 
入門 Chef Server #biglobetechtalk
BIGLOBE Tech Talk
 
initとプロセス再起動
Takashi Takizawa
 
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
Naotoshi Seo
 
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
BIGLOBE Tech Talk
 
Ansible入門...?
shirou wakayama
 
ノンプログラマのためのウェブサーバ入門
Atsu Yamaga
 
Fabricでサーバー管理をDRYにしよう
max747
 
Hive undocumented feature
tamtam180
 
明日から始める Chef 入門 #bpstudy
Takeshi Komiya
 
今日から使い始めるChef
Masahiro NAKAYAMA
 
serverspecを使用したサーバ設定テストの実例
Koichi Shimozono
 
Ad

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

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

More from Daisuke Ikeda (20)

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

Recently uploaded (11)

PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PDF
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
PDF
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 

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