Enviar búsqueda
Cargar
consul & consul-alerts を使った監視システム (hbstyle-2015-01-08)
•
19 recomendaciones
•
7,460 vistas
YOSHIKAWA Ryota
Seguir
consul & consul-alerts を使った監視システム (ハートビーツ 社内勉強会 hbstyle 2015-01-08)
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 32
Descargar ahora
Descargar para leer sin conexión
Recomendados
Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?
Uchio Kondo
Consulを頑張って理解する
Consulを頑張って理解する
Masakazu Watanabe
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Masahito Zembutsu
Consulによる運用自律化体験ハンズオンとConsul活用事例紹介
Consulによる運用自律化体験ハンズオンとConsul活用事例紹介
cloudconductor
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Masahito Zembutsu
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwww
Masahito Zembutsu
Puppet on AWS
Puppet on AWS
Sugawara Genki
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
Taro Hirose
Recomendados
Consul は 全自動オーケストレーションの 夢を見るか?
Consul は 全自動オーケストレーションの 夢を見るか?
Uchio Kondo
Consulを頑張って理解する
Consulを頑張って理解する
Masakazu Watanabe
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Masahito Zembutsu
Consulによる運用自律化体験ハンズオンとConsul活用事例紹介
Consulによる運用自律化体験ハンズオンとConsul活用事例紹介
cloudconductor
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Masahito Zembutsu
Serfが面白いと俺の中で話題にwwwwww
Serfが面白いと俺の中で話題にwwwwww
Masahito Zembutsu
Puppet on AWS
Puppet on AWS
Sugawara Genki
Ansible 入門 #01 (初心者向け)
Ansible 入門 #01 (初心者向け)
Taro Hirose
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
NDS#31
NDS#31
hayajo Imai
Puppetのススメ
Puppetのススメ
Gosuke Miyashita
ChefとPuppetの比較
ChefとPuppetの比較
Sugawara Genki
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Masashi Shinbara
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
Sho A
Serf という Orchestration ツール #immutableinfra
Serf という Orchestration ツール #immutableinfra
Naotoshi Seo
サーバ側Swift
サーバ側Swift
幸雄 村上
Niigata.pm #1
Niigata.pm #1
hayajo Imai
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
Takeshi Komiya
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
max747
Ansible入門
Ansible入門
Daiki Hayakawa
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
What is an Ansible?
What is an Ansible?
Shunsaku Kudo
Fabric Essentials
Fabric Essentials
Yoshinari Takaoka
2日間Fabricを触った俺が 色々解説してみる
2日間Fabricを触った俺が 色々解説してみる
airtoxin Ishii
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Hidetoshi Hirokawa
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
Yukihiko SAWANOBORI
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
CLARA ONLINE, Inc.
Performance Co-Pilot
Performance Co-Pilot
YOSHIKAWA Ryota
initとプロセス再起動
initとプロセス再起動
Takashi Takizawa
Más contenido relacionado
La actualidad más candente
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
NDS#31
NDS#31
hayajo Imai
Puppetのススメ
Puppetのススメ
Gosuke Miyashita
ChefとPuppetの比較
ChefとPuppetの比較
Sugawara Genki
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Masashi Shinbara
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
Sho A
Serf という Orchestration ツール #immutableinfra
Serf という Orchestration ツール #immutableinfra
Naotoshi Seo
サーバ側Swift
サーバ側Swift
幸雄 村上
Niigata.pm #1
Niigata.pm #1
hayajo Imai
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
Takeshi Komiya
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
max747
Ansible入門
Ansible入門
Daiki Hayakawa
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
What is an Ansible?
What is an Ansible?
Shunsaku Kudo
Fabric Essentials
Fabric Essentials
Yoshinari Takaoka
2日間Fabricを触った俺が 色々解説してみる
2日間Fabricを触った俺が 色々解説してみる
airtoxin Ishii
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Hidetoshi Hirokawa
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
Yukihiko SAWANOBORI
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
CLARA ONLINE, Inc.
La actualidad más candente
(20)
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
NDS#31
NDS#31
Puppetのススメ
Puppetのススメ
ChefとPuppetの比較
ChefとPuppetの比較
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
Serf という Orchestration ツール #immutableinfra
Serf という Orchestration ツール #immutableinfra
サーバ側Swift
サーバ側Swift
Niigata.pm #1
Niigata.pm #1
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
Ansible入門
Ansible入門
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
What is an Ansible?
What is an Ansible?
Fabric Essentials
Fabric Essentials
2日間Fabricを触った俺が 色々解説してみる
2日間Fabricを触った俺が 色々解説してみる
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
マニアックツール紹介、マネジメントのKnife-Zero(Chef)とテストスイートInSpec
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Ansibleで始めるサーバ管理勉強会(2014年10月1日)
Destacado
Performance Co-Pilot
Performance Co-Pilot
YOSHIKAWA Ryota
initとプロセス再起動
initとプロセス再起動
Takashi Takizawa
SmartNews TechNight vol5 SmartNews Ads大図解
SmartNews TechNight vol5 SmartNews Ads大図解
SmartNews, Inc.
Aiming のクラウド採用基準
Aiming のクラウド採用基準
Takahiro Hozumi
Getting Started with Performance Co-Pilot
Getting Started with Performance Co-Pilot
Paul V. Novarese
SmartNews TechNight Vol.5 : AD Data Engineering in practice: SmartNews Ads裏のデ...
SmartNews TechNight Vol.5 : AD Data Engineering in practice: SmartNews Ads裏のデ...
SmartNews, Inc.
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews, Inc.
これまでのオンラインゲーム、これからのオンラインゲーム
これまでのオンラインゲーム、これからのオンラインゲーム
Takahiro Hozumi
AimingでGoogle Cloud Platformの利用について
AimingでGoogle Cloud Platformの利用について
(shibao)芝尾 (kouichiro)幸一郎
スマホ版ログレスにポストエフェクトシステムを導入した話
スマホ版ログレスにポストエフェクトシステムを導入した話
章暢 藤井
負荷試験入門公開資料 201611
負荷試験入門公開資料 201611
樽八 仲川
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...
SmartNews, Inc.
障害対応・運用におけるトリアージ的対応とZabbixの活用
障害対応・運用におけるトリアージ的対応とZabbixの活用
Masahito Zembutsu
監査ログをもっと身近に!〜統合監査のすすめ〜
監査ログをもっと身近に!〜統合監査のすすめ〜
Michitoshi Yoshida
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
Akihiro Sugeno
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
Shinya Sugiyama
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
Amazon Web Services Japan
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
Shingo Kitayama
Linux Systems Performance 2016
Linux Systems Performance 2016
Brendan Gregg
たとえ日本人同士でも必要な異文化理解力
たとえ日本人同士でも必要な異文化理解力
Yoshitaka Kawashima
Destacado
(20)
Performance Co-Pilot
Performance Co-Pilot
initとプロセス再起動
initとプロセス再起動
SmartNews TechNight vol5 SmartNews Ads大図解
SmartNews TechNight vol5 SmartNews Ads大図解
Aiming のクラウド採用基準
Aiming のクラウド採用基準
Getting Started with Performance Co-Pilot
Getting Started with Performance Co-Pilot
SmartNews TechNight Vol.5 : AD Data Engineering in practice: SmartNews Ads裏のデ...
SmartNews TechNight Vol.5 : AD Data Engineering in practice: SmartNews Ads裏のデ...
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
これまでのオンラインゲーム、これからのオンラインゲーム
これまでのオンラインゲーム、これからのオンラインゲーム
AimingでGoogle Cloud Platformの利用について
AimingでGoogle Cloud Platformの利用について
スマホ版ログレスにポストエフェクトシステムを導入した話
スマホ版ログレスにポストエフェクトシステムを導入した話
負荷試験入門公開資料 201611
負荷試験入門公開資料 201611
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...
SmartNews TechNight Vol.5 : SmartNews Ads の配信最適化の仕組みはどうなってるの? (エンジニア / SmartN...
障害対応・運用におけるトリアージ的対応とZabbixの活用
障害対応・運用におけるトリアージ的対応とZabbixの活用
監査ログをもっと身近に!〜統合監査のすすめ〜
監査ログをもっと身近に!〜統合監査のすすめ〜
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
デブサミ2017【17-E-5】エンタープライズにおけるDevOpsの実態!Cloud Native Application Platformの選択
Linux Systems Performance 2016
Linux Systems Performance 2016
たとえ日本人同士でも必要な異文化理解力
たとえ日本人同士でも必要な異文化理解力
Último
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Último
(10)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
consul & consul-alerts を使った監視システム (hbstyle-2015-01-08)
1.
consul'&'consul)alerts' 'を使った監視システム ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 1
2.
概要 • consul(1 (並びに(consul*alerts(2 (を使った監視システムを試作 • consul(の(health(check(3 (機能を使用し監視を設定 •
check(の状態が変化した場合に(consul*alerts(が通知を実行 • 通知先は(email,(slack,(pagerduty(...(等 3 "h$p://www.consul.io/docs/agent/checks.html 2 "h$ps://github.com/AcalephStorage/consul9alerts 1 "h$ps://consul.io/ ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 2
3.
consul • hashicorp*4 *の出しているオーケストレーションツール • Service*Discovery/Health*Check/DNS/KVS/*...*等の様々な機能 •
ここでは*Health*Check/KVS*の機能をメインで使い、 監視エージェントとして動作させる • health*check*スクリプトは*nagios/sensu*の物がそのまま使える 4 "h$ps://hashicorp.com/ ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 3
4.
consul-alerts • consul(の(health(check(の状態を監視し、 変更があれば通知するデーモン • 通知先は(email/slack/InfluxDB/pagerduty(...(等 •
独自スクリプトのキックも可能 • ノードやサービス、チェック毎の通知停止が出来る • HTTP(API(を叩くとノード/チェック毎のステータスが分かる ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 4
5.
アーキテクチャと設定 ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 5
6.
アーキテクチャ図 ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 6
7.
アーキテクチャ • データセンタ"2"つ"("DC1"/"DC2") • それぞれのデータセンタにノードを"2"つずつ置く •
データセンタのリーダごとに"consul0alerts"のデーモンを起動 • いずれかのデータセンタ上の"WebUI"でアラートの確認が可能 • ヘルスチェックの追加は"HTTP"API"か設定ファイルで行う ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 7
8.
アーキテクチャ • 冗長化/スケールしやすそうなアーキテクチャ • リーダノードの冗長化 •
new&leader+event+に対する+hook+を作っておけば良さそう • スケールは+DC+内のクラスタを細かく作れば良さそう • Web+のリーダ/DB+のリーダ+...+等を作って管理 ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 8
9.
設定 • consul(のインストール(→(go(なので任意のバイナリ置くだけ • consul+alerts(のインストール(→(同上 •
設定ファイルの配置は以下の通りにした • consul(自体の設定を/opt/consul/consul.confに置く • 各チェックの設定を/opt/consul/conf.d/*.jsonに置く ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 9
10.
設定!(consul upstart) • upstart(の例 description
"consul" author "YOSHIKAWA Ryota (yoshikawa@rrreeeyyy.com)" start on runlevel [2345] stop on runlevel [016] exec /usr/local/bin/consul agent -config-file /opt/consul/consul.conf -config-dir /opt/consul/conf.d/ >> /var/log/consul.log 2>&1 respawn ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 10
11.
設定!(/opt/consul/consul.conf) { "server": true, "node_name": "rrreeeyyy", "bootstrap":
true, "datacenter": "rrreeeyyy", "bind_addr": "0.0.0.0", "advertise_addr": "0.0.0.0", "data_dir": "/opt/consul/data/", "log_level": "INFO", "ui_dir": "/opt/consul/ui/", "encrypt": "**************" } ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 11
12.
設定!(/opt/consul/consul.conf) • bootstrap)は最初に起動するノードだけに付ける • encrypt)は)consul
keygen)コマンドで生成した値 • 通信する全てのノードで統一する • data_dir)は)consul)の)KVS)のデータとかが入る • ui_dir)は)consul3ui)を解凍した中身を置いておく ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 12
13.
設定!(/opt/consul/conf.d/*.json) • 以下のようなヘルスチェックの定義を書いた"json"を沢山置く { "check": { "id":
"check_users", "name": "Users", "script": "/usr/lib64/nagios/plugins/check_users -w 2 -c 3", "interval": "20s" } } ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 13
14.
設定!(/opt/consul/conf.d/*.json) • 実は次のように"HTTP"API"でもチェックを登録できて便利 curl -vvv
-X PUT -d ' { "ID": "check_swap", "Name": "Swap Utilization", "Notes": "Check swap space on local machine.", "Script": "/usr/lib64/nagios/plugins/check_swap -w 80% -c 30%", "Interval": "10s" }' http://localhost:8500/v1/agent/check/register ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 14
15.
設定!(/opt/consul/conf.d/*.json) • 削除はこう curl localhost:8500/v1/agent/check/deregister/check_swap •
consul(を(reload(することなく登録できる • 0.4(だと(restart(すると消えちゃうけど(0.5(で直るらしい(5 • ホスト外からチェックを登録することも可能 5 "h$ps://github.com/hashicorp/consul/issues/507 ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 15
16.
設定!(consul) • start consul"で起動 •
クラスタを作る • consul join -wan ${DC_LEADER_IP}"(DC"間) • consul join ${INTERNAL_LEADER_IP}"(DC"内) • consul members"で確認"(DC"間"は"-wan"を付ける) ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 16
17.
設定!(consul-alerts upstart) • upstart(の例 description
"consul-alerts" author "YOSHIKAWA Ryota (yoshikawa@rrreeeyyy.com)" start on runlevel [2345] stop on runlevel [016] exec consul-alerts start --watch-checks --watch-events --consul-dc=rrreeeyyy >> /var/log/consul-alerts.log 2>&1 respawn ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 17
18.
設定!(consul-alerts) • 必要な値の"PUT"(slack"の例)"6 curl -X
PUT -d 'true' http://localhost:8500/v1/kv/consul-alerts/config/notifiers/slack/enabled curl -X PUT -d 'https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXXXXX' http://localhost:8500/v1/kv/consul-alerts/config/notifiers/slack/url curl -X PUT -d 'CLUSTER-NAME' http://localhost:8500/v1/kv/consul-alerts/config/notifiers/slack/cluster-name curl -X PUT -d '#alerts' http://localhost:8500/v1/kv/consul-alerts/config/notifiers/slack/channel • WebUI'からも値を入れられる 6 "Slack連携は"consul,alerts"が"v0.2.0"だと仕様が古いので最新をビルドすると上手くいく"(consul,alerts/pull/29) ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 18
19.
動作デモ ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 19
20.
通知!(consul-alerts) • Log%no'fier%がデフォルトでオンなので確認してみる • 何かアラートを発生させてから以下のログを確認 cat
/tmp/consul-notifications.log [consul-notifier] 2015/01/06 15:34:30 Node=rrreeeyyy, Service=, Check=Disk /, Status=warning [consul-notifier] 2015/01/06 15:34:30 Node=rrreeeyyy, Service=, Check=Users, Status=passing [consul-notifier] 2015/01/06 15:35:32 Node=rrreeeyyy, Service=, Check=Users, Status=passing [consul-notifier] 2015/01/06 15:41:11 Node=rrreeeyyy, Service=, Check=Users, Status=critical [consul-notifier] 2015/01/06 15:44:20 Node=rrreeeyyy, Service=, Check=Users, Status=passing [consul-notifier] 2015/01/06 16:13:40 Node=rrreeeyyy, Service=, Check=Users, Status=critical [consul-notifier] 2015/01/07 16:22:56 Node=rrreeeyyy, Service=, Check=Users, Status=critical : ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 20
21.
通知!(consul-alerts) ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 21
22.
通知!(consul-alerts) • Slack/Log+の通知はちょっと貧相+7 • email+の通知はテンプレートが書けてかなり柔軟 •
独自スクリプトもキック出来るので実際何でもできる • consul+の+events+を拾ってスクリプトの実行も可能 • member-fail,+new-leader,+user+defini9on+.. 7 "プルリクエストを送ろう!!"h%ps://github.com/AcalephStorage/consul:alerts/compare ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 22
23.
WebUI&(consul-webui) ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 23
24.
ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 24
25.
ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 25
26.
ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 26
27.
WebUI&(consul-webui) • データセンタごとノードのステータスが一覧で見れる • 特定サービスの通知停止も"Key/Value"から値を入れれば出来る •
ノードごと/サービスごと/ヘルスチェックごと"... • データセンタを束ねた全体のステータス一覧は見れない • HTTP"API"を発行して"json"をまとめるだけなので作れそう ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 27
28.
所感/まとめ ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 28
29.
何が良いか • モダンな雰囲気 • 割とよく出来た"WebUI"が付属 •
スケール/冗長化しやすそうなアーキテクチャ • consul"導入のきっかけになる • ホストのインベントリ管理やオーケストレーションも同時に ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 29
30.
何が良いか • consul(acl(でアクセス制御もある程度可能 • consul(の(HTTP(API(だけで監視設定が完了できる(将来) •
コンテナとかだと特に嬉しいかもしれない • sensu/nagios(監視設定はそのまま引き継げる(8 8 "zabbix(get"があれば"zabbix"もなんとかなりそう"h-p://sfujiwara.hatenablog.com/entry/20140611/1402472346 ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 30
31.
何が課題か • 外形監視は別の仕組みが必要"(TTL"死活監視で出来るかも?) • consul"自体の運用が結構難しい"(知見がないだけかも) •
現在は1サービスに対する複数のチェック定義が難しい"9 • 未知なのでまだまだ課題はたくさん出てきそう 9 "h$ps://github.com/hashicorp/consul/issues/230 ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 31
32.
まとめ • consul(並びに(consul)alerts(を用いた監視システムを紹介 • アーキテクチャは良さそう •
自宅で元気に稼働中 • まだ(2(日ぐらいしか動いてないので課題はバンバン出そう • 細かい設定やハマりどころはブログ等で公開するかも ハートビーツ社内勉強会!hbstyle!(2015/01/07)!1!YOSHIKAWA!Ryota!(@rrreeeyyy) 32
Descargar ahora