iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0
Software Development

徵坦補! 新手可! Open-Match 配對框架系列 第 15

Day15 Open-Match 監控安裝

Open-Match 的基礎建構採用了 OpenCensus 所提供的 library,因此可暴露 metrics 提供我們即時監控的需求 ,目前可使用的有以下常見的四種工具:

Install

如果你跟我一樣想參照官網指南安裝的話,你可能會遭遇一些問題/images/emoticon/emoticon06.gif

YAML 過於老舊

首先是官方提供的 install.yaml 過於老舊,裡面部分內容應調整成:

  • Deployment
    原本為

    apiVersion: extensions/v1beta1
    kind: Deployment
    

    調整為

    apiVersion: apps/v1
    kind: Deployment
    
  • PodSecurityPolicy

    原本為

    apiVersion: extensions/v1beta1
    kind: PodSecurityPolicy
    

    調整為

    apiVersion: policy/v1beta1
    kind: PodSecurityPolicy
    

本機資源不足

如果你給予的資源低於筆者的話,你可能無法把整套服務啟動,你的 pods 可能會卡在 pending 狀態,你需要盡可能給予環境足夠的資源,不然可以燒點錢上雲/images/emoticon/emoticon07.gif

https://i.imgur.com/CSDW6i0.png

也可以調整部分需要資源,降低整體資源所需要的總額

resources:
    limits:
      cpu: 40m
      memory: 40Mi
    requests:
      cpu: 40m
      memory: 40Mi

It just works

這是筆者調整後有成功運行的 yaml,分別拆成:

執行成功應包含以下內容

NAME                                       TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)               AGE
open-match-backend                         ClusterIP   None            <none>        50505/TCP,51505/TCP   43m
open-match-evaluator                       ClusterIP   None            <none>        50508/TCP,51508/TCP   43m
open-match-frontend                        ClusterIP   None            <none>        50504/TCP,51504/TCP   43m
open-match-grafana                         ClusterIP   10.107.156.36   <none>        3000/TCP              43m
open-match-prometheus-alertmanager         ClusterIP   10.97.149.230   <none>        80/TCP                43m
open-match-prometheus-kube-state-metrics   ClusterIP   None            <none>        80/TCP                43m
open-match-prometheus-node-exporter        ClusterIP   None            <none>        9100/TCP              43m
open-match-prometheus-pushgateway          ClusterIP   10.107.39.7     <none>        9091/TCP              43m
open-match-prometheus-server               ClusterIP   10.107.123.16   <none>        80/TCP                43m
open-match-query                           ClusterIP   None            <none>        50503/TCP,51503/TCP   43m
open-match-redis                           ClusterIP   10.100.184.22   <none>        6379/TCP,26379/TCP    43m
open-match-redis-headless                  ClusterIP   None            <none>        6379/TCP,26379/TCP    43m
open-match-redis-metrics                   ClusterIP   10.110.19.23    <none>        9121/TCP              43m
open-match-swaggerui                       ClusterIP   10.109.17.24    <none>        51500/TCP             43m
open-match-synchronizer                    ClusterIP   10.96.78.13     <none>        50506/TCP,51506/TCP   43m

Prometheus

Prometheus 應該要可以接收到,各服務的 metrics

https://i.imgur.com/EGMTdMz.png

Grafana

Grafana 應該要包含,以各服務 metrics 繪成的圖表

Match Making
https://i.imgur.com/yCwTH0C.png
gRPC
https://i.imgur.com/neHpnge.png
Go Processes
https://i.imgur.com/oHQ5n0C.png

附註

Jaeger 由於所需要的資源過於龐大,本次不進行安裝,jaeger 需要相依在 cassandra 上,光是啟用 cassandra 就會吃掉非常多的資源,這對筆者的小筆電來說太奢侈了。而 Stackdriver 的部分你只要在 GCP 上部署就可以直接使用,應該分常簡便,這邊我也不想再刷卡燒錢了,只能請大家再多試看看囉~


上一篇
Day14 Example of Backfill
下一篇
Day16 Grafana (Match Making)
系列文
徵坦補! 新手可! Open-Match 配對框架30

尚未有邦友留言

立即登入留言