SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Downloaden Sie, um offline zu lesen
Copyright 2017 Hiroyuki Onaka
Mackerelではじめる
お手軽サーバー監視
2017/12/23 合同勉強会 in 大都会岡山 -2017 Winter-
大中浩行(@setoazusa)
この作品は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。
Copyright 2017 Hiroyuki Onaka
みなさまへのお願い
• このスライドはslideshareで公開します
• 感想はハッシュタグ #gbdaitokai まで
Copyright 2017 Hiroyuki Onaka
アジェンダ(1)
Mackerel(マカレル)は(株)はてなが提供する、
直感的な設定とユーザーインターフェースを特
徴とするサーバー監視サービスです。
その特徴と、現場で活用する上でのノウハウに
ついて取り上げます。
Copyright 2017 Hiroyuki Onaka
アジェンダ(2)
• 監視あるある
• Mackerelについて
• MackerelによるWebシステム監視
• Mackerelによる監視ノウハウ
• まとめ
Copyright 2017 Hiroyuki Onaka
わたし(@setoazusa)
• 横浜から来ました神奈川から来たとは言わない
• アプリケーションエンジニア(主にJava)とイ
ンフラエンジニアの二刀流
• CIとかBlue-Green Deploymentとかやってたら
いつのまにかこういうことになった
Copyright 2017 Hiroyuki Onaka
監視あるある
Copyright 2017 Hiroyuki Onaka
モニタリングはなぜ必要なのか
• 「完璧なサイジング」というものの幻想
• Yahoo!砲
• WBS砲
• ユーザーは増える、データは貯まる、アプリ
ケーションの規模は膨らむ
Copyright 2017 Hiroyuki Onaka
今はクラウドというものがありますが
「開発チームに法人カード預けてください」
というのもまた非現実的
Copyright 2017 Hiroyuki Onaka
「計測なくして科学なし」
チューニングとはエンジニアリングです。「勘
と経験」で行うものではない。
足りなければ増やせばいいというものでもない
Copyright 2017 Hiroyuki Onaka
誰のためのモニタリング
• 開発
• インフラ構築
• インフラ運用
Copyright 2017 Hiroyuki Onaka
運用のミッション
「システムを安定して運用させること」
Copyright 2017 Hiroyuki Onaka
運用にとっては理想的なシステム
「カットオーバーしたけどユーザーがいないシ
ステム」
Copyright 2017 Hiroyuki Onaka
「ユーザーがいないシステムは障害を起こさない」
タスクが溢れているインフラ運用者というのは、
「システムをいかに使用させないか」という思
考に陥ることがある。
Copyright 2017 Hiroyuki Onaka
「システムは使われてナンボ」
アラームが鳴るというのはシステムが使われて
世の中の役に立っていることの証し
Copyright 2017 Hiroyuki Onaka
「10+ Deploys Per Day」から
「Opsの仕事は、ビジネスを実現することだ」
(Ops' Jobs is to enable the business)
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
Copyright 2017 Hiroyuki Onaka
運用のジレンマ
我々(インフラ)はシステムを作る側でなく預か
る側。
運用(インフラ)が仕事がないのはいいこと
Copyright 2017 Hiroyuki Onaka
• 「システムの使用を促進する」
• 「自分の仕事を減らす」
→この二つを両立することは難しい
Copyright 2017 Hiroyuki Onaka
監視しだしたらキリがない。発生確率が一定な
ら、監視項目が増えるということはアラームが
発生する回数が増えるということ。
そのアラームを受けるのは夜勤をしている運用
メンバーそして始まるDevとOpsの対立
Copyright 2017 Hiroyuki Onaka
監視は目的でなく手段
我々がやりたいのはサービスの監視であって、
OSの監視ではない
Copyright 2017 Hiroyuki Onaka
以上のことを踏まえた、監視に求められる要件
• 最小限度のカスタマイズで使うことができる
• 機能と学習コストのバランス
• 「ほどよい」既定値であること
Copyright 2017 Hiroyuki Onaka
Mackerelにつ
いて
Copyright 2017 Hiroyuki Onaka
https://mackerel.io/ja/
Copyright 2017 Hiroyuki Onaka
Mackerel(マカレル)は(株)はてなが提供する、
直感的な設定とユーザーインターフェースを特
徴とするサーバー監視サービスです。
Mackerel=英語で「鯖」
Copyright 2017 Hiroyuki Onaka
Mackerelのセットアップ(1)
Copyright 2017 Hiroyuki Onaka
Mackerelのセットアップ(2)
Copyright 2017 Hiroyuki Onaka
Mackerelのセットアップ(3)
Copyright 2017 Hiroyuki Onaka
Mackerelのセットアップ(CentOS/RHEL7の場合)
curl -fsSL
https://mackerel.io/file/script/setup-all-
yum-v2.sh | MACKEREL_APIKEY=‘APIキー'
sh
Copyright 2017 Hiroyuki Onaka
Copyright 2017 Hiroyuki Onaka
Mackerelの特徴
• ホストにエージェントをインストールするス
タイル
• Push型のアーキテクチャー
Copyright 2017 Hiroyuki Onaka
Mackerelによ
るWebシステ
ム監視
Copyright 2017 Hiroyuki Onaka
Copyright 2017 Hiroyuki Onaka
監視項目のカスタマイズは、/etc/mackerel-
agent/mackerel-agent.conf で行います。
Copyright 2017 Hiroyuki Onaka
公式プラグイン集の導入
sudo yum -y install mackerel-agent-plugins
Copyright 2017 Hiroyuki Onaka
jvmの監視
[plugin.metrics.jvm]
command = "mackerel-plugin-jvm -
javaname=Bootstrap"
Copyright 2017 Hiroyuki Onaka
(おまけ)javanameとは
[vagrant@jira ~]$ sudo jps
2215 Jstat
2203 Jps
4604 Bootstrap
Copyright 2017 Hiroyuki Onaka
Copyright 2017 Hiroyuki Onaka
PostgreSQLの監視
[plugin.metrics.postgres]
command = "mackerel-plugin-postgres -
user=jira -password=xxxx -database=jira"
Copyright 2017 Hiroyuki Onaka
Copyright 2017 Hiroyuki Onaka
プラグイン
Copyright 2017 Hiroyuki Onaka
Mackerelの一つの特徴
プラグインを開発することによる、カスタムメ
トリクスやチェック監視の項目追加が容易なこ
と
Copyright 2017 Hiroyuki Onaka
MackerelのAgentとPluginの間は、実行コマン
ドの返り値および標準出力によって結果の受け
渡しを行う仕様になっています。
このため、特定のプログラミング言語によらず
プラグインの実装を行うことができます。
Copyright 2017 Hiroyuki Onaka
特定のプログラミング言語によらないと何が嬉し
いか
インフラとか運用の現場は使用できる技術セッ
トに制約がある
• 「シェルスクリプトならできる」
• 「RubyならServerspec使っているからわか
る」
Copyright 2017 Hiroyuki Onaka
例:
CLOSE=$(ss -nat |grep 192.168.3.11:8080 |grep CLOSE-WAIT|wc -l)
EST=$(ss -nat |grep 192.168.3.11:8080 |grep ESTAB |wc -l)
TIME=$(ss -nat |grep 192.168.3.11:8080 |grep TIME-WAIT |wc -l)
EPOCH=$(date +'%s')
echo -e "jira.port.close¥t${CLOSE}¥t${EPOCH}"
echo -e "jira.port.establish¥t${EST}¥t${EPOCH}"
echo -e "jira.port.time¥t${TIME}¥t${EPOCH}
Copyright 2017 Hiroyuki Onaka
mackerel-agent.conf
[plugin.metrics.jiraport]
command = "/usr/local/bin/jiraport"
Copyright 2017 Hiroyuki Onaka
Copyright 2017 Hiroyuki Onaka
注意点
ローカルでプラグインを実行している時と、
Mackerel Agentが実行している場合で環境変数
に差分が出るため、プラグインの実行に失敗す
る場合があります。
(cronでスクリプトを実行した時に良くあるア
レ)
Copyright 2017 Hiroyuki Onaka
...と思っていたら
https://mackerel.io/ja/blog/entry/weekly/20171215
Copyright 2017 Hiroyuki Onaka
Mackerelは定期リリースで現場で実用的な機能
が持ち込まれることが結構あるので、毎週のリ
リース内容をチェックしておくと吉です。
https://mackerel.io/ja/blog/
Copyright 2017 Hiroyuki Onaka
Mackerelによ
る監視ノウハ
ウ
Copyright 2017 Hiroyuki Onaka
Copyright 2017 Hiroyuki Onaka
ディスク容量に対して、最適な閾値は変わる
8GBのディスクの残り10%→800MB
1TBのディスクの残り10%→100GB
Copyright 2017 Hiroyuki Onaka
Copyright 2017 Hiroyuki Onaka
アプリケーションエンジニアのみなさんに質問
...「警告」ログって本当に見るの?
Copyright 2017 Hiroyuki Onaka
WaringとCriticalの閾値を同じ設定にした上で、
「アラートが発生した場合は必ず対応を行う」
という方法もあります。
Copyright 2017 Hiroyuki Onaka
まとめ
Copyright 2017 Hiroyuki Onaka
Mackerelの課題
メトリクス監視によっているので、チェック監
視は枠組みがあわないところがある
APIキーをメインの設定ファイル(mackerel-
agent.conf)に記述するため、Infrastrucure as
Codeに組み込む時に一工夫必要
Copyright 2017 Hiroyuki Onaka
Mackerel最大の問題点
ターミナル上で "mackerel"って空で打てないw
例: "sudo systemctl restart mackerel-agent"
Copyright 2017 Hiroyuki Onaka
Mackerelのいいところ
セットアップがお手軽、すぐ始められる
プラグインの仕組みが特定プログラミング言語
に依存しない
課金形態的に検証が行いやすい
→個人で試しやすい
Copyright 2017 Hiroyuki Onaka
Mackerelを使って今日からお手軽サーバー監視
https://mackerel.io/ja/
Copyright 2017 Hiroyuki Onaka
ありがとうございました!
• 大中浩行(Onaka,Hiroyuki)
• @setoazusa
• グロースエクスパートナーズ株式会社
アーキテクチャソリューション部
テクニカルリード
• http://hiroyuki.fieldnotes.jp/

Weitere ähnliche Inhalte

Was ist angesagt?

Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例健一 辰濱
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分松田 千尋
 
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例景子 西岡
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術finoue
 
Android ReactNative UITesting
Android ReactNative UITestingAndroid ReactNative UITesting
Android ReactNative UITestingVishal Banthia
 
SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告Osamu Shimoda
 
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpYahoo!デベロッパーネットワーク
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座Hiroko Tamagawa
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みTakeshi Ogawa
 
テスト自動化ツール[Selenium]を検討してみて
テスト自動化ツール[Selenium]を検討してみてテスト自動化ツール[Selenium]を検討してみて
テスト自動化ツール[Selenium]を検討してみて裕史 川松
 
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティスJsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティスYoichi KIKUCHI
 
ハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズJumpei Miyata
 
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12学 松崎
 
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化Nozomi Ito
 
iOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyoiOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyoKoji Hasegawa
 
20161218 selenium study4
20161218 selenium study420161218 selenium study4
20161218 selenium study4Naoya Kojima
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotationEIICHI KIMURA
 
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーテスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーShuji Watanabe
 
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することテスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することyuichi_kuwahara
 
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Shuji Watanabe
 

Was ist angesagt? (20)

Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
 
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
SeleniumIDEとSelenium WebDriver × Node.js Seleniumで業務効率化する15分
 
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例アプリケーションエンジニアがMackerelで楽しく監視構成している事例
アプリケーションエンジニアがMackerelで楽しく監視構成している事例
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
 
Android ReactNative UITesting
Android ReactNative UITestingAndroid ReactNative UITesting
Android ReactNative UITesting
 
SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告
 
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
 
第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座第9回Jenkins勉強会 超簡単Pipeline講座
第9回Jenkins勉強会 超簡単Pipeline講座
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
テスト自動化ツール[Selenium]を検討してみて
テスト自動化ツール[Selenium]を検討してみてテスト自動化ツール[Selenium]を検討してみて
テスト自動化ツール[Selenium]を検討してみて
 
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティスJsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
 
ハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズハイパフォーマンスSeleniumテスト@サイボウズ
ハイパフォーマンスSeleniumテスト@サイボウズ
 
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
 
ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化ディープラーニングとAppiumでモバイルテスト自動化
ディープラーニングとAppiumでモバイルテスト自動化
 
iOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyoiOSアプリ開発でもTravis CI #eytokyo
iOSアプリ開発でもTravis CI #eytokyo
 
20161218 selenium study4
20161218 selenium study420161218 selenium study4
20161218 selenium study4
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotation
 
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ーテスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
 
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することテスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
 
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
 

Ähnlich wie Mackerelではじめる お手軽サーバー監視

CloudGarageのベンチマークテスト
CloudGarageのベンチマークテストCloudGarageのベンチマークテスト
CloudGarageのベンチマークテストKazunori Inaba
 
Azure Functions あれこれ
Azure Functions あれこれAzure Functions あれこれ
Azure Functions あれこれYasuaki Matsuda
 
Azure Functionsから始めるServerless
Azure Functionsから始めるServerlessAzure Functionsから始めるServerless
Azure Functionsから始めるServerlessryosuke matsumura
 
OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様ManageEngine, Zoho Corporation
 
20170111 macnica networks-nohara_rancher_usecase
20170111 macnica networks-nohara_rancher_usecase20170111 macnica networks-nohara_rancher_usecase
20170111 macnica networks-nohara_rancher_usecaseMinehiko Nohara
 
『 イドラ ファンタシースターサーガ 』を支える GCP | Google Cloud INSIDE Games & Apps
『 イドラ ファンタシースターサーガ 』を支える GCP | Google Cloud INSIDE Games & Apps 『 イドラ ファンタシースターサーガ 』を支える GCP | Google Cloud INSIDE Games & Apps
『 イドラ ファンタシースターサーガ 』を支える GCP | Google Cloud INSIDE Games & Apps Google Cloud Platform - Japan
 
運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用真治 米田
 
yui-frameworks cloundservice-2010-06-13
yui-frameworks cloundservice-2010-06-13yui-frameworks cloundservice-2010-06-13
yui-frameworks cloundservice-2010-06-13Jun Funakura
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
Enterprise Redmine
Enterprise RedmineEnterprise Redmine
Enterprise RedmineDai FUJIHARA
 
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Yasuaki Matsuda
 
Introduction to New CloudWatch Agent
Introduction to New CloudWatch AgentIntroduction to New CloudWatch Agent
Introduction to New CloudWatch AgentNoritaka Sekiyama
 
ZENKEI AI セミナー 第1回 概要説明会
ZENKEI AI セミナー 第1回 概要説明会ZENKEI AI セミナー 第1回 概要説明会
ZENKEI AI セミナー 第1回 概要説明会Kengo Ichiki
 
【GOJAS Meetup-08】Splunk Insights for Infrastructure 2018-07-10
【GOJAS Meetup-08】Splunk Insights for Infrastructure 2018-07-10【GOJAS Meetup-08】Splunk Insights for Infrastructure 2018-07-10
【GOJAS Meetup-08】Splunk Insights for Infrastructure 2018-07-10KatsutakaMurakoshi
 
Visual Studio 2017 で Azure Functions の開発
Visual Studio 2017 で Azure Functions の開発Visual Studio 2017 で Azure Functions の開発
Visual Studio 2017 で Azure Functions の開発Yasuaki Matsuda
 
Alibaba Cloudのベンチマークテスト
Alibaba CloudのベンチマークテストAlibaba Cloudのベンチマークテスト
Alibaba CloudのベンチマークテストKazunori Inaba
 
決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニーTokuhiro Eto
 

Ähnlich wie Mackerelではじめる お手軽サーバー監視 (20)

CloudGarageのベンチマークテスト
CloudGarageのベンチマークテストCloudGarageのベンチマークテスト
CloudGarageのベンチマークテスト
 
Azure Functions あれこれ
Azure Functions あれこれAzure Functions あれこれ
Azure Functions あれこれ
 
Azure Functionsから始めるServerless
Azure Functionsから始めるServerlessAzure Functionsから始めるServerless
Azure Functionsから始めるServerless
 
OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様
 
20170111 macnica networks-nohara_rancher_usecase
20170111 macnica networks-nohara_rancher_usecase20170111 macnica networks-nohara_rancher_usecase
20170111 macnica networks-nohara_rancher_usecase
 
『 イドラ ファンタシースターサーガ 』を支える GCP | Google Cloud INSIDE Games & Apps
『 イドラ ファンタシースターサーガ 』を支える GCP | Google Cloud INSIDE Games & Apps 『 イドラ ファンタシースターサーガ 』を支える GCP | Google Cloud INSIDE Games & Apps
『 イドラ ファンタシースターサーガ 』を支える GCP | Google Cloud INSIDE Games & Apps
 
運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用
 
yui-frameworks cloundservice-2010-06-13
yui-frameworks cloundservice-2010-06-13yui-frameworks cloundservice-2010-06-13
yui-frameworks cloundservice-2010-06-13
 
devsummit_nifcloud_vmware
devsummit_nifcloud_vmwaredevsummit_nifcloud_vmware
devsummit_nifcloud_vmware
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
Enterprise Redmine
Enterprise RedmineEnterprise Redmine
Enterprise Redmine
 
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
 
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
Azure Function GAした!Visual Studio Tools for Azure Functions もプレビューだ!
 
Introduction to New CloudWatch Agent
Introduction to New CloudWatch AgentIntroduction to New CloudWatch Agent
Introduction to New CloudWatch Agent
 
ZENKEI AI セミナー 第1回 概要説明会
ZENKEI AI セミナー 第1回 概要説明会ZENKEI AI セミナー 第1回 概要説明会
ZENKEI AI セミナー 第1回 概要説明会
 
【GOJAS Meetup-08】Splunk Insights for Infrastructure 2018-07-10
【GOJAS Meetup-08】Splunk Insights for Infrastructure 2018-07-10【GOJAS Meetup-08】Splunk Insights for Infrastructure 2018-07-10
【GOJAS Meetup-08】Splunk Insights for Infrastructure 2018-07-10
 
Visual Studio 2017 で Azure Functions の開発
Visual Studio 2017 で Azure Functions の開発Visual Studio 2017 で Azure Functions の開発
Visual Studio 2017 で Azure Functions の開発
 
Alibaba Cloudのベンチマークテスト
Alibaba CloudのベンチマークテストAlibaba Cloudのベンチマークテスト
Alibaba Cloudのベンチマークテスト
 
Yahoo! JAPANのOSS Cassandra貢献の今までとこれから
Yahoo! JAPANのOSS Cassandra貢献の今までとこれからYahoo! JAPANのOSS Cassandra貢献の今までとこれから
Yahoo! JAPANのOSS Cassandra貢献の今までとこれから
 
決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー決済金融から始めるデータドリブンカンパニー
決済金融から始めるデータドリブンカンパニー
 

Mehr von Hiroyuki Ohnaka

remote Docker over SSHが熱い
remote Docker over SSHが熱いremote Docker over SSHが熱い
remote Docker over SSHが熱いHiroyuki Ohnaka
 
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験Hiroyuki Ohnaka
 
Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code &  A clean dev env, working every ...Remote Development with Visual Studio Code &  A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...Hiroyuki Ohnaka
 
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話Hiroyuki Ohnaka
 
「WindowsデスクトップでWeb開発 改訂版」サンプル
「WindowsデスクトップでWeb開発 改訂版」サンプル「WindowsデスクトップでWeb開発 改訂版」サンプル
「WindowsデスクトップでWeb開発 改訂版」サンプルHiroyuki Ohnaka
 
Microsoft DocsにContributeした話
Microsoft DocsにContributeした話Microsoft DocsにContributeした話
Microsoft DocsにContributeした話Hiroyuki Ohnaka
 
Azure functions+typescript
Azure functions+typescriptAzure functions+typescript
Azure functions+typescriptHiroyuki Ohnaka
 
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
 技術書典4  く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版 技術書典4  く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版Hiroyuki Ohnaka
 
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版Hiroyuki Ohnaka
 
仮想通貨始めました~GethではじめるEthereum~
仮想通貨始めました~GethではじめるEthereum~仮想通貨始めました~GethではじめるEthereum~
仮想通貨始めました~GethではじめるEthereum~Hiroyuki Ohnaka
 
錬金術MeetUpへのお誘い
錬金術MeetUpへのお誘い錬金術MeetUpへのお誘い
錬金術MeetUpへのお誘いHiroyuki Ohnaka
 
TDDはじめて物語Second Season(updated)
TDDはじめて物語Second Season(updated)TDDはじめて物語Second Season(updated)
TDDはじめて物語Second Season(updated)Hiroyuki Ohnaka
 
TDDはじめて物語 Second Season #tddbc
TDDはじめて物語 Second Season #tddbcTDDはじめて物語 Second Season #tddbc
TDDはじめて物語 Second Season #tddbcHiroyuki Ohnaka
 
XP祭り2017 LT 「DevOps再考」(改題)
XP祭り2017 LT 「DevOps再考」(改題)XP祭り2017 LT 「DevOps再考」(改題)
XP祭り2017 LT 「DevOps再考」(改題)Hiroyuki Ohnaka
 
JDK9の真の目玉機能はこれだ!
JDK9の真の目玉機能はこれだ!JDK9の真の目玉機能はこれだ!
JDK9の真の目玉機能はこれだ!Hiroyuki Ohnaka
 
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~Hiroyuki Ohnaka
 
「すいーとみゅーじっく」のできるまで
「すいーとみゅーじっく」のできるまで「すいーとみゅーじっく」のできるまで
「すいーとみゅーじっく」のできるまでHiroyuki Ohnaka
 
pact-jvmではじめるコンシューマー駆動契約
pact-jvmではじめるコンシューマー駆動契約pact-jvmではじめるコンシューマー駆動契約
pact-jvmではじめるコンシューマー駆動契約Hiroyuki Ohnaka
 
実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記Hiroyuki Ohnaka
 

Mehr von Hiroyuki Ohnaka (20)

remote Docker over SSHが熱い
remote Docker over SSHが熱いremote Docker over SSHが熱い
remote Docker over SSHが熱い
 
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
 
Remote Development with Visual Studio Code & A clean dev env, working every ...
Remote Development with Visual Studio Code &  A clean dev env, working every ...Remote Development with Visual Studio Code &  A clean dev env, working every ...
Remote Development with Visual Studio Code & A clean dev env, working every ...
 
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
 
「WindowsデスクトップでWeb開発 改訂版」サンプル
「WindowsデスクトップでWeb開発 改訂版」サンプル「WindowsデスクトップでWeb開発 改訂版」サンプル
「WindowsデスクトップでWeb開発 改訂版」サンプル
 
Mackerelの薄い本
Mackerelの薄い本Mackerelの薄い本
Mackerelの薄い本
 
Microsoft DocsにContributeした話
Microsoft DocsにContributeした話Microsoft DocsにContributeした話
Microsoft DocsにContributeした話
 
Azure functions+typescript
Azure functions+typescriptAzure functions+typescript
Azure functions+typescript
 
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
 技術書典4  く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版 技術書典4  く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
 
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
 
仮想通貨始めました~GethではじめるEthereum~
仮想通貨始めました~GethではじめるEthereum~仮想通貨始めました~GethではじめるEthereum~
仮想通貨始めました~GethではじめるEthereum~
 
錬金術MeetUpへのお誘い
錬金術MeetUpへのお誘い錬金術MeetUpへのお誘い
錬金術MeetUpへのお誘い
 
TDDはじめて物語Second Season(updated)
TDDはじめて物語Second Season(updated)TDDはじめて物語Second Season(updated)
TDDはじめて物語Second Season(updated)
 
TDDはじめて物語 Second Season #tddbc
TDDはじめて物語 Second Season #tddbcTDDはじめて物語 Second Season #tddbc
TDDはじめて物語 Second Season #tddbc
 
XP祭り2017 LT 「DevOps再考」(改題)
XP祭り2017 LT 「DevOps再考」(改題)XP祭り2017 LT 「DevOps再考」(改題)
XP祭り2017 LT 「DevOps再考」(改題)
 
JDK9の真の目玉機能はこれだ!
JDK9の真の目玉機能はこれだ!JDK9の真の目玉機能はこれだ!
JDK9の真の目玉機能はこれだ!
 
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
 
「すいーとみゅーじっく」のできるまで
「すいーとみゅーじっく」のできるまで「すいーとみゅーじっく」のできるまで
「すいーとみゅーじっく」のできるまで
 
pact-jvmではじめるコンシューマー駆動契約
pact-jvmではじめるコンシューマー駆動契約pact-jvmではじめるコンシューマー駆動契約
pact-jvmではじめるコンシューマー駆動契約
 
実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記
 

Mackerelではじめる お手軽サーバー監視

  • 1. Copyright 2017 Hiroyuki Onaka Mackerelではじめる お手軽サーバー監視 2017/12/23 合同勉強会 in 大都会岡山 -2017 Winter- 大中浩行(@setoazusa) この作品は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。
  • 2. Copyright 2017 Hiroyuki Onaka みなさまへのお願い • このスライドはslideshareで公開します • 感想はハッシュタグ #gbdaitokai まで
  • 3. Copyright 2017 Hiroyuki Onaka アジェンダ(1) Mackerel(マカレル)は(株)はてなが提供する、 直感的な設定とユーザーインターフェースを特 徴とするサーバー監視サービスです。 その特徴と、現場で活用する上でのノウハウに ついて取り上げます。
  • 4. Copyright 2017 Hiroyuki Onaka アジェンダ(2) • 監視あるある • Mackerelについて • MackerelによるWebシステム監視 • Mackerelによる監視ノウハウ • まとめ
  • 5. Copyright 2017 Hiroyuki Onaka わたし(@setoazusa) • 横浜から来ました神奈川から来たとは言わない • アプリケーションエンジニア(主にJava)とイ ンフラエンジニアの二刀流 • CIとかBlue-Green Deploymentとかやってたら いつのまにかこういうことになった
  • 6. Copyright 2017 Hiroyuki Onaka 監視あるある
  • 7. Copyright 2017 Hiroyuki Onaka モニタリングはなぜ必要なのか • 「完璧なサイジング」というものの幻想 • Yahoo!砲 • WBS砲 • ユーザーは増える、データは貯まる、アプリ ケーションの規模は膨らむ
  • 8. Copyright 2017 Hiroyuki Onaka 今はクラウドというものがありますが 「開発チームに法人カード預けてください」 というのもまた非現実的
  • 9. Copyright 2017 Hiroyuki Onaka 「計測なくして科学なし」 チューニングとはエンジニアリングです。「勘 と経験」で行うものではない。 足りなければ増やせばいいというものでもない
  • 10. Copyright 2017 Hiroyuki Onaka 誰のためのモニタリング • 開発 • インフラ構築 • インフラ運用
  • 11. Copyright 2017 Hiroyuki Onaka 運用のミッション 「システムを安定して運用させること」
  • 12. Copyright 2017 Hiroyuki Onaka 運用にとっては理想的なシステム 「カットオーバーしたけどユーザーがいないシ ステム」
  • 13. Copyright 2017 Hiroyuki Onaka 「ユーザーがいないシステムは障害を起こさない」 タスクが溢れているインフラ運用者というのは、 「システムをいかに使用させないか」という思 考に陥ることがある。
  • 14. Copyright 2017 Hiroyuki Onaka 「システムは使われてナンボ」 アラームが鳴るというのはシステムが使われて 世の中の役に立っていることの証し
  • 15. Copyright 2017 Hiroyuki Onaka 「10+ Deploys Per Day」から 「Opsの仕事は、ビジネスを実現することだ」 (Ops' Jobs is to enable the business) 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
  • 16. Copyright 2017 Hiroyuki Onaka 運用のジレンマ 我々(インフラ)はシステムを作る側でなく預か る側。 運用(インフラ)が仕事がないのはいいこと
  • 17. Copyright 2017 Hiroyuki Onaka • 「システムの使用を促進する」 • 「自分の仕事を減らす」 →この二つを両立することは難しい
  • 18. Copyright 2017 Hiroyuki Onaka 監視しだしたらキリがない。発生確率が一定な ら、監視項目が増えるということはアラームが 発生する回数が増えるということ。 そのアラームを受けるのは夜勤をしている運用 メンバーそして始まるDevとOpsの対立
  • 19. Copyright 2017 Hiroyuki Onaka 監視は目的でなく手段 我々がやりたいのはサービスの監視であって、 OSの監視ではない
  • 20. Copyright 2017 Hiroyuki Onaka 以上のことを踏まえた、監視に求められる要件 • 最小限度のカスタマイズで使うことができる • 機能と学習コストのバランス • 「ほどよい」既定値であること
  • 21. Copyright 2017 Hiroyuki Onaka Mackerelにつ いて
  • 22. Copyright 2017 Hiroyuki Onaka https://mackerel.io/ja/
  • 23. Copyright 2017 Hiroyuki Onaka Mackerel(マカレル)は(株)はてなが提供する、 直感的な設定とユーザーインターフェースを特 徴とするサーバー監視サービスです。 Mackerel=英語で「鯖」
  • 24. Copyright 2017 Hiroyuki Onaka Mackerelのセットアップ(1)
  • 25. Copyright 2017 Hiroyuki Onaka Mackerelのセットアップ(2)
  • 26. Copyright 2017 Hiroyuki Onaka Mackerelのセットアップ(3)
  • 27. Copyright 2017 Hiroyuki Onaka Mackerelのセットアップ(CentOS/RHEL7の場合) curl -fsSL https://mackerel.io/file/script/setup-all- yum-v2.sh | MACKEREL_APIKEY=‘APIキー' sh
  • 29. Copyright 2017 Hiroyuki Onaka Mackerelの特徴 • ホストにエージェントをインストールするス タイル • Push型のアーキテクチャー
  • 30. Copyright 2017 Hiroyuki Onaka Mackerelによ るWebシステ ム監視
  • 32. Copyright 2017 Hiroyuki Onaka 監視項目のカスタマイズは、/etc/mackerel- agent/mackerel-agent.conf で行います。
  • 33. Copyright 2017 Hiroyuki Onaka 公式プラグイン集の導入 sudo yum -y install mackerel-agent-plugins
  • 34. Copyright 2017 Hiroyuki Onaka jvmの監視 [plugin.metrics.jvm] command = "mackerel-plugin-jvm - javaname=Bootstrap"
  • 35. Copyright 2017 Hiroyuki Onaka (おまけ)javanameとは [vagrant@jira ~]$ sudo jps 2215 Jstat 2203 Jps 4604 Bootstrap
  • 37. Copyright 2017 Hiroyuki Onaka PostgreSQLの監視 [plugin.metrics.postgres] command = "mackerel-plugin-postgres - user=jira -password=xxxx -database=jira"
  • 39. Copyright 2017 Hiroyuki Onaka プラグイン
  • 40. Copyright 2017 Hiroyuki Onaka Mackerelの一つの特徴 プラグインを開発することによる、カスタムメ トリクスやチェック監視の項目追加が容易なこ と
  • 41. Copyright 2017 Hiroyuki Onaka MackerelのAgentとPluginの間は、実行コマン ドの返り値および標準出力によって結果の受け 渡しを行う仕様になっています。 このため、特定のプログラミング言語によらず プラグインの実装を行うことができます。
  • 42. Copyright 2017 Hiroyuki Onaka 特定のプログラミング言語によらないと何が嬉し いか インフラとか運用の現場は使用できる技術セッ トに制約がある • 「シェルスクリプトならできる」 • 「RubyならServerspec使っているからわか る」
  • 43. Copyright 2017 Hiroyuki Onaka 例: CLOSE=$(ss -nat |grep 192.168.3.11:8080 |grep CLOSE-WAIT|wc -l) EST=$(ss -nat |grep 192.168.3.11:8080 |grep ESTAB |wc -l) TIME=$(ss -nat |grep 192.168.3.11:8080 |grep TIME-WAIT |wc -l) EPOCH=$(date +'%s') echo -e "jira.port.close¥t${CLOSE}¥t${EPOCH}" echo -e "jira.port.establish¥t${EST}¥t${EPOCH}" echo -e "jira.port.time¥t${TIME}¥t${EPOCH}
  • 44. Copyright 2017 Hiroyuki Onaka mackerel-agent.conf [plugin.metrics.jiraport] command = "/usr/local/bin/jiraport"
  • 46. Copyright 2017 Hiroyuki Onaka 注意点 ローカルでプラグインを実行している時と、 Mackerel Agentが実行している場合で環境変数 に差分が出るため、プラグインの実行に失敗す る場合があります。 (cronでスクリプトを実行した時に良くあるア レ)
  • 47. Copyright 2017 Hiroyuki Onaka ...と思っていたら https://mackerel.io/ja/blog/entry/weekly/20171215
  • 48. Copyright 2017 Hiroyuki Onaka Mackerelは定期リリースで現場で実用的な機能 が持ち込まれることが結構あるので、毎週のリ リース内容をチェックしておくと吉です。 https://mackerel.io/ja/blog/
  • 49. Copyright 2017 Hiroyuki Onaka Mackerelによ る監視ノウハ ウ
  • 51. Copyright 2017 Hiroyuki Onaka ディスク容量に対して、最適な閾値は変わる 8GBのディスクの残り10%→800MB 1TBのディスクの残り10%→100GB
  • 53. Copyright 2017 Hiroyuki Onaka アプリケーションエンジニアのみなさんに質問 ...「警告」ログって本当に見るの?
  • 54. Copyright 2017 Hiroyuki Onaka WaringとCriticalの閾値を同じ設定にした上で、 「アラートが発生した場合は必ず対応を行う」 という方法もあります。
  • 55. Copyright 2017 Hiroyuki Onaka まとめ
  • 56. Copyright 2017 Hiroyuki Onaka Mackerelの課題 メトリクス監視によっているので、チェック監 視は枠組みがあわないところがある APIキーをメインの設定ファイル(mackerel- agent.conf)に記述するため、Infrastrucure as Codeに組み込む時に一工夫必要
  • 57. Copyright 2017 Hiroyuki Onaka Mackerel最大の問題点 ターミナル上で "mackerel"って空で打てないw 例: "sudo systemctl restart mackerel-agent"
  • 58. Copyright 2017 Hiroyuki Onaka Mackerelのいいところ セットアップがお手軽、すぐ始められる プラグインの仕組みが特定プログラミング言語 に依存しない 課金形態的に検証が行いやすい →個人で試しやすい
  • 59. Copyright 2017 Hiroyuki Onaka Mackerelを使って今日からお手軽サーバー監視 https://mackerel.io/ja/
  • 60. Copyright 2017 Hiroyuki Onaka ありがとうございました! • 大中浩行(Onaka,Hiroyuki) • @setoazusa • グロースエクスパートナーズ株式会社 アーキテクチャソリューション部 テクニカルリード • http://hiroyuki.fieldnotes.jp/