Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
consul-atlas-alerts
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
rrreeeyyy
August 05, 2015
Technology
8.8k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
consul-atlas-alerts
#hashi_wantedly
rrreeeyyy
August 05, 2015
More Decks by rrreeeyyy
See All by rrreeeyyy
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
6
1.3k
Reliability in the Age of AI: Engineering for AI Velocity
rrreeeyyy
0
230
Rethinking Incident Response: Context-Aware AI in Practice - Incident Buddy Edition -
rrreeeyyy
0
290
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
3
2.6k
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
340
An Efficient Incident Response Training with AI / SRE NEXT 2024 Sponsor Session
rrreeeyyy
1
6.3k
カンファレンスから見る SRE トレンド 2024 / SRE Trends from Conferences in 2024 #SRE_Findy
rrreeeyyy
4
2.7k
信頼性の育て方 / mackerel-meetup-15
rrreeeyyy
10
3.1k
SRE の歩き方・進め方 / sre-walk-through-procedure
rrreeeyyy
0
9.1k
Other Decks in Technology
See All in Technology
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
180
AIに書かせて、プラットフォームで縛る ― EKSプラットフォームで実践した責任境界と権限設計
elmodev09
1
1.1k
20260930_Gemma4_Hands-on
tsho
0
210
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
140
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
2
670
プラットフォームを「作る」、 チームに「入り込む」
sansantech
PRO
0
540
[2026 Oracle Technical Deep Dive] エンタープライズAIエージェントを支えるOCIソリューション。ラインナップと特徴を理解しよう! (2026年9月17日開催)
oracle4engineer
PRO
0
280
形式手法を使って仕様をコーディングしよう
mikanichinose
0
170
AI Made Us Faster at Solving the Wrong Problems
marceloancelmo
0
150
メルカリにおけるAI時代の高速プロトタイピング基盤「Arca」
ryotarai
18
14k
[2026 Oracle Technical Deep Dive] AI時代のアプリケーションを支えるCloud NativeとJava EEモダナイゼーション (2026年9月17日開催)
oracle4engineer
PRO
0
100
DAMOS - The Smart Cruise Control for RAM
ennael
PRO
1
110
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Tell your own story through comics
letsgokoyo
1
1.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
550
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
850
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Code Review Best Practice
trishagee
74
20k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
KATA
mclloyd
PRO
35
16k
The SEO identity crisis: Don't let AI make you average
varn
0
570
Transcript
Consul'in'Atlas !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 1
!Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)!
2
Hashicorp*ͱΘͨ͠(ͱձࣾ) • h#ps:/ /speakerdeck.com/rrreeeyyy/hashicorp3tools3overview • Vagrant;→;(΄΅ΈΜͳͬͯΔ) • Packer;→;(ͬͯͳ͍) • Serf;→;(ͬͯͳ͍)
• Consul;→;(ͬͯΔҊ͕݅;1;ͭ͋Δ/͕ࣗ৮ͬͯΔ/ଞʹ৮ͬͯΔਓ͕͍Δ) • Terraform;→;(͍͍ͨ/ݕূͯ͠ΔਓࣗҎ֎ʹډΔ) • Vault;→;(Θ͕ͨ͠৮ͬͯΔ) !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 3
લճ·Ͱͷ͋Β͢͡!(1)!1 • consul(ͱ(consul)alerts(2(ͰΞϥʔτൃใ͢ΔγεςϜ 2"h$ps:/ /github.com/AcalephStorage/consul9alerts 1"h$p:/ /www.slideshare.net/rrreeeyyy117/consul8andalertsmonitoring !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 4
લճ·Ͱͷ͋Β͢͡!1 • consul(ͷ(health-check(3(͕ࣦഊͨ͠Β(Pagerduty/Slack/Hipchat/ email...(ʹΞϥʔτൃใ • consul-alert(Λ࣮ͬͯݱ • Nagios/Sensu(ͷεΫϦϓτΛྲྀ༻ͯ͠ઃఆՄೳ • HTTP(API(͔Βࢹ/αʔϏεొ͕ग़དྷͯศར
3"h$p:/ /www.consul.io/docs/agent/checks.html 1"h$p:/ /www.slideshare.net/rrreeeyyy117/consul8andalertsmonitoring !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 5
Atlas • ࠷ۙ(7$݄಄ࠒ)Ұൠ͚ϦϦʔε͞Εͨ$4 • Hashicorp$֤πʔϧͱͷ࿈ܞ͢ΔϓϥοτϑΥʔϜ • ͪΖΜ$Consul$࿈ܞ͋Δ • લड़ͷΞϥʔτγεςϜ$Atlas$Λ͑ग़དྷΔ •
Consul$+$Atlas$͚ͩͰՄೳ 4"h$ps:/ /hashicorp.com/blog/atlas4general4availability.html !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 6
Atlas&+&Consul • /etc/consul.conf { "server": true, "node_name": "NODE-NAME", "datacenter": "DC-NAME",
"data_dir": "/usr/local/consul/data", "bind_addr": "192.168.2.1", "bootstrap_expect": 3, "addresses": { "http": "192.168.2.1" }, "log_level": "INFO", "atlas_token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "atlas_join": true, "atlas_infrastructure": "topotal/groupname" } !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 7
Atlas&+&Consul • consul.service : [Service] User=consul Group=consul ExecStart=/usr/local/bin/consul agent -config-file
/etc/consul.conf ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure RestartSec=10s : !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 8
Atlas&+&Consul • ͜Μͳײ͡ʹͳΔ !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 9
Service/Check+ొํ๏ • ىಈ࣌ʹ"json"Λͯ͠ొ • HTTP"API"ܦ༝Ͱొ • (Terraform"ӽ͠ʹొ) !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 10
ىಈ࣌ʹ!json!Λͯ͠ొ • ࣍ͷΑ͏ͳ"json"Λىಈ࣌ʹͯ͋͛͠Δ • -config-file"͘͠"-config-dir { "service": { "id": "linux-server",
"name": "linux-server", "tags": ["linux-server"] } } { "check": { "id": "check_load", "name": "Load Average", "script": "/usr/lib64/nagios/plugins/check_load -w 15,12,12 -c 30,25,20", "interval": "30s", "service_id": "linux-server" } } !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 11
ىಈ࣌ʹ!json!Λͯ͠ొ • config-dir"σΟϨΫτϦΛ࠶ؼతʹಡ·ͳ͍ • -config-dir /etc/consul.d/"Λࢦఆͨ͠߹ • -config-dir /etc/consul.d/*.json"ΛΞϧϑΝϕοτॱͰಡΉ •
/etc/consul.d/role/*.json"ಡ·ͳ͍ • ಉ͡σΟϨΫτϦʹ"Service/Check"༻ͷ"json"Λஔ͔ͳ͍ํ͕ྑ͍ • ઌʹ"Service"༻ͷ"json"͕ಡ·Εͳ͍ͱىಈ࣌ʹࢮ͵ !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 12
HTTP$API$ӽ͠Ͱొ • ࣍ͷΑ͏ʹͯ͛͠Δ • json"ͷॻ͕ࣜىಈ࣌ʹ͢ͷͱҧ͏ͷͰҙ͢Δ [root@localhost ~]# cat load.json {
"id": "check_load", "name": "Load Average", "script": "/usr/lib64/nagios/plugins/check_load -w 15,12,12 -c 30,25,20", "interval": "30s", "service_id": "linux-server" } [root@localhost ~]# curl -vvv -X PUT -d \ > @disk_root.json http://192.168.2.1:8500/v1/agent/check/register !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 13
HTTP$API$ӽ͠Ͱొ • ಉ͡"id"Λ࣋ͬͨ"json"Λ"v1/agent/check/register"ʹ͛ΔͱҰॠΞ ϥʔτʹͳΔ • ᮢม͑ͨΓ͢Δͱ͖ʹগ͠໘ष͍ • ࣍ͷ"HTTP"API"Λۦ͢Δ͜ͱͰճආՄೳ • /v1/agent/service/maintenance/
• /v1/agent/check/pass • /v1/agent/check/deregister/<checkId> !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 14
Terraform(ӽ͠ʹొ • consul(integra/on(͋Δ͠ͳΜͱ͔ͳΒͳ͍Ͱ͔͢Ͷʁ • ৄ͍͠ํ͋ͱͰڭ͍͑ͯͩ͘͞... • ͘͠(PR(ΛૹΔ • 0.8(͙Β͍͔Β(5state(͕ཁΒͳ͘ͳΔͱ͍͏༧(5 5"h$p:/
/www.infoq.com/news/2015/06/hashimoto9consul9terraform !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 15
Ξϥʔτͷ༷ࢠ !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 16
Status&output&ͷ༷ࢠ !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 17
Alert&history&ͷ༷ࢠ !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 18
·ͱΊ • ࠓճ"Consul"+"Atlas"ͰΞϥʔτγεςϜΛ࡞ͬͨ • consul-alerts"ͷ͜ͱΛߟ͑ͳͯ͘ྑ͘ͳΔͷͰָ • Ϋϥελͷॳظߏஙָ͕ʹͳΔ • Atlas""10"͙Β͍·Ͱແྉʂ •
ݸਓنͰ"Nagios/Zabbix"ཱͯͨ͘ͳ͍ͬͯਓʹΦεεϝ • ֎ܗࢹΈ͍ͨͳͷผ్ߟ͑Δඞཁ͕͋Γͦ͏ • Pingdom"ͱ͔ʁ • ຊ"Mackerel""Datadog"ͱΈ߹Θ͍ͤͨͳʙ !Hashicorp!meetup!2015/08/05!5!Yoshikawa!Ryota!(!@rrreeeyyy!)! 19