Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
consul-atlas-alerts
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
Reliability in the Age of AI: Engineering for AI Velocity
rrreeeyyy
0
160
Rethinking Incident Response: Context-Aware AI in Practice - Incident Buddy Edition -
rrreeeyyy
0
250
Rethinking Incident Response: Context-Aware AI in Practice
rrreeeyyy
3
2.5k
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
310
An Efficient Incident Response Training with AI / SRE NEXT 2024 Sponsor Session
rrreeeyyy
1
6.2k
カンファレンスから見る SRE トレンド 2024 / SRE Trends from Conferences in 2024 #SRE_Findy
rrreeeyyy
4
2.6k
信頼性の育て方 / mackerel-meetup-15
rrreeeyyy
10
3k
SRE の歩き方・進め方 / sre-walk-through-procedure
rrreeeyyy
0
9k
「信頼性」を保ちつつ大規模サービスをリニューアルする / cookpad-tech-kitchen-service-embedded-sres
rrreeeyyy
11
13k
Other Decks in Technology
See All in Technology
マルチアカウント環境でSecurity Hubの運用、その後どうなった? / SRE NEXT 2026 miniLT会
genda
0
100
穢れた技術選定について
watany
17
5.4k
Network Firewallやっていき!
news_it_enj
0
170
カードゲーム作りが教えてくれた プロダクトオーナーシップ
moritamasami
0
110
Data + AI Summit 2026 イベントレポート: 「AIがビジネスで意思決定するデータ基盤」へ
nek0128
0
260
企業でAWS Organizationsを動かすための組織設計の考え方
nrinetcom
PRO
1
110
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
660
AIコード生成×サプライチェーン攻撃 — PHPが直面する“二重の信頼問題
shinyasaita
0
190
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
260
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
1.1k
Foxgloveについて 実際にExtensionを開発して公開するまでの話 / About Foxglove: The Story of Developing and Releasing an Extension
ry0_ka
0
290
「早く出す」より「事業に効く」 ── 顧客の業務サイクルから逆算するAI時代の二重ループ開発と「変化の設計者」 / devsumi2026
rakus_dev
1
360
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
Unsuck your backbone
ammeep
672
58k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Leo the Paperboy
mayatellez
8
1.9k
The untapped power of vector embeddings
frankvandijk
2
1.8k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Marketing to machines
jonoalderson
1
5.6k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
970
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
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