SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
堀内 晨彦 (HORIUCHI Akihiko)
@hico_horiuchi
Sensu with Golang
2015.03.26(木) @Sensu Deep Talks #1
@hico_horiuchi
○  うどん大学 情報系 修士1年
○  Emacs / Rails / Hubot / Ansible
○  http://bit.ly/hiconyan
普段はロードバランス・オートスケールの研究
研究室のインフラと掃除を担当
Sensu歴は半年 (ヤフーインターン∼)
15/03/26 2
Sensu構成図 @ 研究室
15/03/26 3
sensu-server + kibana
Nginx + Dokuwiki
GitLab
Ruby on Rails
Ubuntu + KVM
・ 物理サーバ (14台)
・ 仮想サーバ (9台)
・ スイッチ (3台)
・ 構成管理は AnsibleHubot
(hico-horiuchi/huboco)
もくじ
15/03/26 4
ohgi
(扇: Sensu command-line tool by golang)
1.
sensu-plugins-go
(Sensu Plugins by Golang)
2.
agent462/sensu-cli
●  Ruby製 Sensuコマンドラインツール
15/03/26 5
情報量が多く見辛い
動作が重い
hico-horiuchi/ohgi
●  Go言語製 Sensuコマンドラインツール
○  Go言語の勉強も兼ねて
○  開発は正月∼,現在 v0.1.4
15/03/26 6
ロゴが
欲しい
できること
●  Sensu API を一通り叩ける
○  ただし aggregates 以外
○  コマンドは API の命名規則に準拠
●  リスペクト
○  色付け,シンプルな表形式の表示
15/03/26 7
$ ohgi events [client] [check]
Why Golang?
●  なぜGo言語で作ったか
○  コンパイルと実行が高速
○  ライブラリが豊富 (spf13/cobra最強)
○  バイナリ1つで (ノ ̄ー ̄)ノポイッ
15/03/26 8
\ナウでヤングな言語だから/
デモンストレーション
http://bit.ly/sensu-ohgi
15/03/26 9
もくじ
15/03/26 10
ohgi
(扇: Sensu command-line tool by golang)
1.
sensu-plugins-go
(Sensu Plugins by Golang)
2.
Sensuが重い
●  監視スクリプトのオーバーヘッド
○  community-plugins は 88% が Ruby
●  sensu-server (VM) はもっと重い
○  metrics の handler (クライアント数×項目数)
○  Elasticsearch + Kibana が同時稼動
15/03/26 11
hico-horiuchi/sensu-plugins-go
●  SensuのPluginをGoで書く
○  check:os.Exit() で終了ステータス変更
○  metrics:Scheme + Value + Unix
●  sensu/handler ライブラリ
○  渡された event を構造体に格納
○  simple-json で設定読込
15/03/26 12
実装状況
●  check
○  CPU,メモリ,ディスク,HTTP
●  metrics
○  CPU,メモリ,ディスク,通信量
●  handler
○  Hubot,Elasticsearch
15/03/26 13
くらべてみた
●  10回実行,time の user + system
圧倒的な速さ!
15/03/26 14
Ruby Golang
CPU 0.79 s 0.06 s
メモリ 0.15 s 0.07 s
ディスク 0.77 s 0.06 s
HTTP 1.51 s 0.41 s
15/03/26 15
これが
CPU,メモリ,ディスク
15/03/26 16
こうなる
CPU,メモリ,ディスク
15/03/26 17
まとめ
● ohgi:Go言語製 Sensu CLI
高速でシンプル,分かりやすい
● sensu-plugins-go
community-plugins より高速!
● Sensu + Golang
もっと速く!便利に!
15/03/26 18
これから
● ohgi:Go言語製 Sensu CLI
複数 Sensu 対応,v1.0.0へ!
● sensu-plugins-go
community-plugins からの移植
● Sensu を他の研究室にも広める
15/03/26 19
プルリクお待ちしてます!
hico-horiuchi/ohgi
hico-horiuchi/sensu-plugins-go

Contenu connexe

En vedette

Fluentd Meetup #2 @外道父 Fluentdを優しく見守る監視事例
Fluentd Meetup #2 @外道父 Fluentdを優しく見守る監視事例Fluentd Meetup #2 @外道父 Fluentdを優しく見守る監視事例
Fluentd Meetup #2 @外道父 Fluentdを優しく見守る監視事例
外道 父
 
Chrome osとgo言語からgoogleの今後を妄想してみる
Chrome osとgo言語からgoogleの今後を妄想してみるChrome osとgo言語からgoogleの今後を妄想してみる
Chrome osとgo言語からgoogleの今後を妄想してみる
Masakazu Muraoka
 
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
Hidenori Takeshita
 

En vedette (20)

MERY における Sensu の活用事例と導入時のハマりどころ
MERY における Sensu の活用事例と導入時のハマりどころMERY における Sensu の活用事例と導入時のハマりどころ
MERY における Sensu の活用事例と導入時のハマりどころ
 
ビズリーチの新サービスとMackerel
ビズリーチの新サービスとMackerelビズリーチの新サービスとMackerel
ビズリーチの新サービスとMackerel
 
Prometheus on AWS
Prometheus on AWSPrometheus on AWS
Prometheus on AWS
 
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
 
Prometheus casual talk1
Prometheus casual talk1Prometheus casual talk1
Prometheus casual talk1
 
Monitoring Kafka w/ Prometheus
Monitoring Kafka w/ PrometheusMonitoring Kafka w/ Prometheus
Monitoring Kafka w/ Prometheus
 
とあるKVSをAutoscalingしてみる
とあるKVSをAutoscalingしてみるとあるKVSをAutoscalingしてみる
とあるKVSをAutoscalingしてみる
 
Ansible + Packer + CloudFormationでらくらく構築・運用
Ansible + Packer + CloudFormationでらくらく構築・運用Ansible + Packer + CloudFormationでらくらく構築・運用
Ansible + Packer + CloudFormationでらくらく構築・運用
 
CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件
CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件
CloudwatchをGrafana+Graphiteで見るようにしたら幸せになった件
 
Prometheus on AWS
Prometheus on AWSPrometheus on AWS
Prometheus on AWS
 
Fluentd Meetup #2 @外道父 Fluentdを優しく見守る監視事例
Fluentd Meetup #2 @外道父 Fluentdを優しく見守る監視事例Fluentd Meetup #2 @外道父 Fluentdを優しく見守る監視事例
Fluentd Meetup #2 @外道父 Fluentdを優しく見守る監視事例
 
Chrome osとgo言語からgoogleの今後を妄想してみる
Chrome osとgo言語からgoogleの今後を妄想してみるChrome osとgo言語からgoogleの今後を妄想してみる
Chrome osとgo言語からgoogleの今後を妄想してみる
 
Go+revel
Go+revelGo+revel
Go+revel
 
Github第8章
Github第8章Github第8章
Github第8章
 
Golang, make and robotics #gocon
Golang, make and robotics #goconGolang, make and robotics #gocon
Golang, make and robotics #gocon
 
HighBatch
HighBatchHighBatch
HighBatch
 
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
 
らくちん Go言語
らくちん Go言語らくちん Go言語
らくちん Go言語
 
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
cli.go と cli-init で高速にコマンドラインツールを開発する / The command-line tool developed at hi...
 
Goを知る
Goを知るGoを知る
Goを知る
 

Similaire à Sensu with golang

Similaire à Sensu with golang (7)

Filter・Mutator・Aggregateの使いドコロ
Filter・Mutator・Aggregateの使いドコロFilter・Mutator・Aggregateの使いドコロ
Filter・Mutator・Aggregateの使いドコロ
 
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp toolsインフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
 
shinken monitoringについて真剣に調べてみた結果
shinken monitoringについて真剣に調べてみた結果shinken monitoringについて真剣に調べてみた結果
shinken monitoringについて真剣に調べてみた結果
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
Gitoriousをubuntu 10.04 LTSへインストール
Gitoriousをubuntu 10.04 LTSへインストールGitoriousをubuntu 10.04 LTSへインストール
Gitoriousをubuntu 10.04 LTSへインストール
 
BotKitで作るイベント駆動Bot
BotKitで作るイベント駆動BotBotKitで作るイベント駆動Bot
BotKitで作るイベント駆動Bot
 
サーバーレスWebアプリケーションを作ろう~AWSと比べてみる~
サーバーレスWebアプリケーションを作ろう~AWSと比べてみる~サーバーレスWebアプリケーションを作ろう~AWSと比べてみる~
サーバーレスWebアプリケーションを作ろう~AWSと比べてみる~
 

Plus de Akihiko Horiuchi

Sensuで始めるクラウド時代のシステム監視
Sensuで始めるクラウド時代のシステム監視Sensuで始めるクラウド時代のシステム監視
Sensuで始めるクラウド時代のシステム監視
Akihiko Horiuchi
 

Plus de Akihiko Horiuchi (20)

オープンソースBotフレームワークではじめるChatOps
オープンソースBotフレームワークではじめるChatOpsオープンソースBotフレームワークではじめるChatOps
オープンソースBotフレームワークではじめるChatOps
 
Sensuで始めるクラウド時代のシステム監視
Sensuで始めるクラウド時代のシステム監視Sensuで始めるクラウド時代のシステム監視
Sensuで始めるクラウド時代のシステム監視
 
Jenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue OceanJenkins 2.0 Pipeline & Blue Ocean
Jenkins 2.0 Pipeline & Blue Ocean
 
Ansibleで一発!! VPSにDokkuを構築してみた
Ansibleで一発!! VPSにDokkuを構築してみたAnsibleで一発!! VPSにDokkuを構築してみた
Ansibleで一発!! VPSにDokkuを構築してみた
 
InfluxDataのTICK Stack on DockerでNW監視
InfluxDataのTICK Stack on DockerでNW監視 InfluxDataのTICK Stack on DockerでNW監視
InfluxDataのTICK Stack on DockerでNW監視
 
クラウドでGolangのテスト&デプロイ!
クラウドでGolangのテスト&デプロイ!クラウドでGolangのテスト&デプロイ!
クラウドでGolangのテスト&デプロイ!
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
Ginとbindataで作るシングルバイナリWebApp
Ginとbindataで作るシングルバイナリWebAppGinとbindataで作るシングルバイナリWebApp
Ginとbindataで作るシングルバイナリWebApp
 
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
 
OSS監視ツールSensuの紹介
OSS監視ツールSensuの紹介OSS監視ツールSensuの紹介
OSS監視ツールSensuの紹介
 
Go言語でBot開発やってみた
Go言語でBot開発やってみたGo言語でBot開発やってみた
Go言語でBot開発やってみた
 
勉強会への一歩を踏み出すために
勉強会への一歩を踏み出すために勉強会への一歩を踏み出すために
勉強会への一歩を踏み出すために
 
Sensuでネットワーク監視やってみた
Sensuでネットワーク監視やってみたSensuでネットワーク監視やってみた
Sensuでネットワーク監視やってみた
 
学生がJANOGに行くべき3つの理由
学生がJANOGに行くべき3つの理由学生がJANOGに行くべき3つの理由
学生がJANOGに行くべき3つの理由
 
HubotとChatOpsについて語るBoF
HubotとChatOpsについて語るBoFHubotとChatOpsについて語るBoF
HubotとChatOpsについて語るBoF
 
Sensu Introduction
Sensu IntroductionSensu Introduction
Sensu Introduction
 
サーバ監視ことはじめ
サーバ監視ことはじめサーバ監視ことはじめ
サーバ監視ことはじめ
 
ChatOps@研究室
ChatOps@研究室ChatOps@研究室
ChatOps@研究室
 
SKK
SKKSKK
SKK
 
Self Introduction
Self IntroductionSelf Introduction
Self Introduction
 

Dernier

Dernier (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Sensu with golang