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
GitLab x Prometheus -Application Performance-
Search
Shingo.Kitayama
November 17, 2017
Technology
0
99
GitLab x Prometheus -Application Performance-
2017/11/17
GitLab Meetup Tokyo #5
https://gitlab-jp.connpass.com/event/69475/
Shingo.Kitayama
November 17, 2017
Tweet
Share
More Decks by Shingo.Kitayama
See All by Shingo.Kitayama
Why we expect the Microservices
shkitayama
2
320
Why run OpenShift on Google Cloud
shkitayama
1
190
Container Replatform 101
shkitayama
4
1.4k
Red Hat OpenShift Platform Plus - Red Hat Summit Connect 2022
shkitayama
0
500
NVIDIA AI Enterprise for Red Hat OpenShift
shkitayama
0
450
Kubernetes CICD Pipelines Book
shkitayama
2
1.8k
Shipwright Overview
shkitayama
0
1.6k
CloudNative CICD in OpenShift Commons Japan
shkitayama
5
18k
The State of Container Security in Red Hat Experience
shkitayama
2
490
Other Decks in Technology
See All in Technology
Janus
bkuhlmann
1
490
WebアプリケーションにおけるPDOの使い方入門 / phpcon odawara 2024
meihei3
2
420
DevOpsDays History and my DevOps story
kawaguti
PRO
8
1.5k
「ふりかえりのふりかえり」をふりかえり、実のあるふりかえりにする
naitosatoshi
0
220
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
1
190
開発生産性向上サービスを作るFindyが自分たちで開発生産性を爆上げした組織づくりの歩み / Findy's path to boosting its own development productivity 2024-04-17
ma3tk
3
310
Tebiki株式会社 エンジニア採用資料
tebiki
0
4.1k
Hands-on / Kaname Frusawa / Cloud Compare Users Meetup 2024 at University of Tokyo on April 17
paraworld
2
470
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
2
570
転移学習とドメイン適応の基礎
kmatsui
2
570
AWS を使う上で知っておきたいオンプレミス知識/aws-on-premise-essentials
emiki
1
4.2k
カオナビの利用実績をアウトカムへつなげる旅 / example-of-data-management-startup-in-kaonavi
kaonavi
0
120
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
15
1.4k
Happy Clients
brianwarren
91
6.4k
Why Our Code Smells
bkeepers
PRO
331
56k
The Language of Interfaces
destraynor
151
23k
KATA
mclloyd
14
12k
Gamification - CAS2011
davidbonilla
76
4.6k
Building Applications with DynamoDB
mza
88
5.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Raft: Consensus for Rubyists
vanstee
132
6.2k
Optimising Largest Contentful Paint
csswizardry
7
2.3k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
What the flash - Photography Introduction
edds
64
11k
Transcript
GitLab x Prometheus デプロイアプリのPerformance測定 Shingo.Kitayama 2017/11/17 GitLab Meetup Tokyo #5
https://gitlab-jp.connpass.com/event/69475/
Introduction GitLab x Prometheus 2 日本ヒューレット・パッカード株式会社 テクニカルアーキテクト ・オープンソースソリューションの提案 ・コンサルティング、および構築デリバリーを担当 Now
on Sale
Introduction ITmediaエンタープライズ 連載中 3 変化を拒むおっさんに 喝をいれる連載 執筆中!! お仕事の息抜き&気分転換に ご覧ください。
本日のIndex GitLab x Prometheus 4 1. とりあえず理解するPrometheus 2. GitLabとPrometheusの連携 3.
アプリパフォーマンス監視
1. とりあえず理解するPrometheus 5 - What’s Prometheus -
Prometheusとは オープンソースの軽量サービス監視ツール 6 https://qiita.com/tnir/items/7dd63b7baa4299135194 パフォーマンスデータの収集やグラフの表示、アラートなどの通常監視機能に加え、クエリを利用して、CPUの負荷やメモリ、 ストレージの利用率、HTTPのレイテンシなどのメトリクスを計算しグラフ化することも可能。 - Pull型監視 - 監視対象
Prometheus 管理サーバ側から管理対象に情報をリクエストし、ステータスを収集する方法。監視対象を完全にコントロールできる 反面、監視対象ホストが増えるたびに管理サーバの設定ファイルを更新する必要があります。 情報収集 リクエスト
Prometheusの仕組み Prometheus Architecture 7 監視対象 Prometheus Server Retrieval PromQL ローカル
ストレージ Storage 監視対象プロセス Exporter 情報収集 リクエスト ジョブプログラム PushGateway リクエスト 情報収集 情報送信 Alert manager Web UI ・ Grafana ・ API Client アラート送信 mail slack web hook Expression Browser 『メトリクスの収集/格納』 『アラートの通知』 『クエリの返答』
Prometheus Exporters メトリクスの収集 8 監視対象 node exporter mysqld exporter mysql
監視対象 既存の監視メトリックをPrometheusメトリックとしてエクスポートするのに役立つライブラリ。 http://target.local:9100/metrics - job_name: node static_configs: - targets: - ":9100" Prometheus Server
2. GitLabとPrometheusの連携 9 - Prometheus within GitLab -
GitLabにおけるPrometheusの用途 Omnibus GitLabに付随しているPrometheusはGitLab管理用途 10 GitLabのプロセスステータス管理用Prometheus GitLabでデプロイしたアプリの パフォーマンス測定用Prometheus Omnibus GitLabに付随しているPrometheusでは、GitLab上で利用するプロセスのステー タスチェックを行う。
個別にExporterを用意することによって、Environmentに配置したアプリケーションのパフォー マンスチェックを動的に行う。
GitLabのプロセスステータス管理用Prometheus Exporters for Process Status 11 Exporters ステータス内容 ポート Node
exporter メモリ、ディスク、CPU使用率などのマ シンリソースの測定 localhost:9100 Redis exporter Redisプロセスのリソース測定 localhost:9121 Postgres exporter ProstgreSQLプロセスのリソース測定 localhost:9187 GitLab monitor exporter DatabaseやGit、SidekiqなどのGitLab に関するリソース測定 localhost:9168
GitLabのプロセスステータス管理用Prometheus http://gitlab.example.com/-/metrics?token=$token_id 12
GitLabでデプロイしたアプリのパフォーマンス測定用Prometheus サポートメトリクス 13 Exporters Support Metric Kubernetes Average Memory Usage
(MB) Average CPU Utilization (%) NGINX VTS exporter Throughput (req/sec) Latency (ms) HTTP Error Rate (HTTP Errors / sec) NGINX Ingress Controller Throughput (req/sec) Latency (ms) HTTP Error Rate (HTTP Errors / sec) HAProxy Throughput (req/sec) HTTP Error Rate (%) Amazon Cloud Watch Throughput (req/sec) Latency (ms) HTTP Error Rate (%)
3. アプリパフォーマンス監視 14 - Performance Monitoring -
アプリケーションデプロイメント Sample Application 15
Application構成 デプロイメント構成 16 Docker Engine Prometheus Server GitLab 情報収集 リクエスト
http://haproxy:8080/admin?stats HAProxy Exporter http://gitlab-runner01:9101/metrics HAProxy Tomcat ユーザー アクセス - job_name: review-develop-33z241 static_configs: - targets: - gitlab-runner01:9101 relabel_configs: - source_labels: - job target_label: environment
Demo 17 でも(時間があったら
Environment Monitoring $CI_ENVIRONMENT_SLUG 18 Environment = $CI_ENVIRONMENT_SLUG
19 Thank you