Home
Slides
Blog
slide.seike460.com
Home
Slides
Blog
Home
Slides
PHP Conference Fukuoka 2019
PHP Conference Fukuoka 2019
PHP Conference Fukuoka 2019
2019年6月29日
PHP
PHP
Architecture
Monitoring
Keyboard Shortcuts
←
→
Navigate slides
Space
Next slide
F
Fullscreen
ESC
Exit fullscreen
Home
First slide
End
Last slide
B
.
Pause
S
Speaker notes
?
Reveal.js help
Close
## Monitoring PHP PHPカンファレンス福岡2019 清家史郎(@seike460)
## Who? Fusic Co., Ltd.  清家史郎  @seike460 [](https://twitter.com/seike460) [](https://www.facebook.com/seike460) [](https://github.com/seike460)
## tech - Program Language - PHP - Go - infrastructure - Server, Network - IaC - Cloud - AWS SA Professional - Other - Serverless - Vue.js、React
## OSS products - AWS Tools (Go) - [FictionBase](https://github.com/fictionbase/fictionbase) - Serverless Runtimel Base - [s3ry](https://github.com/seike460/s3ry) - S3 prompt cli - [utakata](https://github.com/seike460/utakata) - Serverless Slack iCal Notificator
このスライドは公開済みです https://slide.seike460.com/slides/phpconfuk2019#/
### このスライドにて伝えたいこと - 障害監視以上のモニタリングの価値 - 具体的なPHPにおけるモニタリング方法 - モニタリングスキルの先のキャリアの可能性 ### このスライドにてお伝えできないこと - Alertの設定等 - 具体的なPHPの改善
### Agenda - なぜモニタリングをするのか - 何をモニタリングするのか - どうやってモニタリングするのか - PHPを具体的にモニタリング - まとめ
## なぜモニタリングを行うのか
次の二点に分類して考えます ### 守りのモニタリング ### 攻めのモニタリング
### システムを守る - システム内部原因 - サービスダウン - リソース不足 - アプリケーション不具合 - システム外部原因 - セキュリティアタック - スパイクアクセス ### サービスダウンによる機会損失を防ぐ
### システム改善する - システム - パフォーマンス改善 - 不要リソース特定 - サービス - アクセス解析 - 効果解析 ### サービスの価値を高める
### なぜモニタリングを行うのか - サービスダウンによる機会損失を防ぐ - サービスの価値を高める
## 何をモニタリングするのか
### モニタリング対象 - ログ・イベント - メトリクス - APM
### メトリクス 様々な活動を定量化 定量化したデータを管理に使えるように加工した指標 #### リソースメトリクス #### ワークメトリクス
#### リソースメトリクス 何をどれだけ消費しているかを計測 - Memory - CPU - Network - Disk
#### ワークメトリクス システムが生み出している価値を計測 - データベースが応答しているクエリの数 - webサーバが一秒間に配信しているページの数 - システムが生み出しているお金
メトリクスは取ろうと思えば何でも取れる - リソース - オープンファイルディスクリプタ数 - オープンソケット数 - ワーク - メール送信数 - 今日の入場者数 システムの
キーメトリクス
を決めないと、雑音化する
#### PHPにおけるキーメトリクス
#### PHPでWEBを提供する為の要素  #### 何を知れば改善出来るかを分解して考える
### WEB  - HTTP StatusCode - レスポンス数 - 応答速度
### PHP  - 応答数 - Active/Idle Process - 応答速度 - Memory使用量 - CPU使用量
### NoSQL  - Hit 数/率 - Miss 数/率 - メモリ使用量 - エラー発生数
### DataBase  - クエリ発行数 - クエリレスポンス - Memory使用量
PHPにおけるキーメトリクス ###### 各種ソフトウェアの情報 何が起きているのかを把握することが出来る - サービスダウンによる機会損失を防ぐ - サービスの価値を高める
## どうやってモニタリングするのか
### モニタリングツール - Pull - 監視ツールがサーバーにデータを取りに行く - Nagios - Prometheus - Push - サーバーに常駐したAgentが監視ツールにデータを送る - Zabbix - Mackerel - DataDog
### Prometheus - CNCF管理のOSS - Pull型の監視ツール - Exporterを監視対象に仕込む
### Prometheus Exporter - HTTP経由でデータを公開 - 【メトリクス名】=【値】 - 自由自在にメトリクスを公開 ###### 公開範囲はご注意を
### 公開されている Exporter(一例) - Resources - node_exporter - TCP - blackbox_exporter - WEB - apache_exporter - nginx-lua-prometheus - php-fpm-exporter - DB - mysqld_exporter - postgres_exporter ###### 既に多種多様のExporterが用意されている
可視化にGrafanaを使われる事が多い 
人が制御出来る範囲の情報は自由自在に情報が取れる 一方でパフォーマンスチューニング -> そもそもボトルネックを探すのが非常に難しい
###### APM (Application Performance Management) Datadog
### Datadog - クラウド時代の開発者&運用担当者の為のモニタリング&分析Saas - Push型の監視ツール - リアルタイムのパフォーマンス可視化 - 強力なアラート - 履歴の分析 - 根本原因の相関と分析
- APM - Events - Infrastructure - Logs - Metrics - Monitors - Synthetics
### Application Performance Management デモ https://app.datadoghq.com/apm/services
### モニタリングによる知覚 - 蓄積したメトリクスからのサービス改善+障害監視 - APMを利用したアプリケーションチューニング 人が知覚出来ない範囲の情報を、知覚出来る ###### モニタリングは誰が行うべきなのか
### モニタリングに必要なスキル - アプリケーション - インフラ - ネットワーク #### 必要なスキルが多く大変という印象をもたれる
サイトを構成するもの全体が把握できる様になる ###### サイトの信頼性向上に行える
SRE (Site Reliability Engineering)
### SRE? サイトの信頼性を担保する - サービスの可用性 - レイテンシ - パフォーマンス - 効率性 - 変更管理 - モニタリング - 緊急対応 - キャパシティプランニング モニタリングスキルの先に見えるエンジニアキャリア
###### まとめ - モニタリングの「なぜ」「何を」「どのようにして」 - なんとなくではなく、意思を持ったモニタリング - 監視ツールにて取得出来る情報 - 多種多様だからこそ利用するものを選定 - モニタリングを行うのは損な役回りなのか - エンジニアスキルの向上、キャリアの可能性もある
システムに完成された状態など無い
完成の可能性を追い求める方法にモニタリングを使いましょう
Thank you! Fusicは技術が大好きなエンジニアを募集しています  https://fusic.github.io
Swipe to navigate
Previous
Next
Related Slides
PHPで作るWebSocketサーバー
2024/6/1
View
PHPを書く理由、PHPを書いていて良い理由
2024/1/1
View
有効な使い方を正しく理解して実装する PHP8.3の最新機能の「ウラ側」
2023/11/1
View