LoginSignup
2
1

More than 3 years have passed since last update.

SignalFxでリソースのモニタリングをやってみる。

Last updated at Posted at 2019-11-05

SignalFXとは

realtimeでの各サーバ、マイクロサービスのモニタリング、アプリケーションのトレースなんかをやってくれるツールです。
最近、splunkに買収されたみたいなので、metricsストアに組み込まれていくんですかね、、、

下の図で見ればなんとなくわかりますね。ApplicationのMetrics,Trace、Dockerやk8sのリソースをSingalFx
に集めて、Debug / Tracing /Alert / Visualizationもやってくれるみたいっすね。

アプリケーションのトレーシングは全部取得してくれる(他製品のようにサンプリングではない)、metricsは1秒単位で取得できるらしいので、その辺が強い感じですかね。

Screen Shot 2019-11-05 at 10.56.31 AM.jpg

どうやってデータを収集してる?

データの収集については、基本はSignalFx smaer Agent(Agentベース)だけど、その他多くのpluginが用意されてるみたいです。AWS,GCP,AzureはもちろんSparkやCassandra,k8sもpluginが用意されてるみたい。

Screen Shot 2019-11-05 at 10.40.26 AM.jpg

Timeseriesのデータとmetadataを別々に取得するアーキテクチャーみたいっすね。

Screen Shot 2019-11-07 at 4.40.19 PM.jpg

Traceデータについては、Trace用のデータに入れるみたい。

とりあえずやってみましょう。

SingnaFxに登録

ホームページの右上に14dayのFree trailがあるので、こっから登録しましょう。

Agentのインストール方法

SignalFxにログイン後、menubarのIntegrationから、SingalFx Smart Agentを選択します。

そうすると、インストラクションがでてくるので、その通りに実行します。
今時のモニタリングサービスと一緒ですね。コピペでagentインストール完了です。

Screen Shot 2019-11-05 at 11.11.57 AM.jpg

インストール後、起動のチェックをかけます。
statusの他に、config,endpointで情報を取れるみたいです。

root@ip-172-31-22-149:~# sudo signalfx-agent status
SignalFx Agent version:           4.13.0
Agent uptime:                     26m27s
Observers active:                 host
Active Monitors:                  10
Configured Monitors:              10
Discovered Endpoint Count:        9
Bad Monitor Config:               None
Global Dimensions:                {host: ip-172-31-22-149, AWSUniqueId: i-044c2ea8e77605846_ap-northeast-1_935995623716}
Datapoints sent (last minute):    246
Datapoints failed (last minute):  0
Events Sent (last minute):        6
Trace Spans Sent (last minute):   0

Additional status commands:

signalfx-agent status config - show resolved config in use by agent
signalfx-agent status endpoints - show discovered endpoints
signalfx-agent status monitors - show active monitors
signalfx-agent status all - show everything
root@ip-172-31-22-149:~#

また、実際のConfigファイル自体は、yamlで生成されていて、monitorの箇所で、なにをmonitoringするかを定義しています。

root@ip-172-31-22-149:~# cat /etc/signalfx/agent.yaml
---
# *Required* The access token for the org that you wish to send metrics to.
signalFxAccessToken: {"#from": "/etc/signalfx/token"}
ingestUrl: {"#from": "/etc/signalfx/ingest_url", default: "https://ingest.signalfx.com"}
apiUrl: {"#from": "/etc/signalfx/api_url", default: "https://api.signalfx.com"}
cluster: {"#from": "/etc/signalfx/cluster", optional: true}

intervalSeconds: 10

logging:
  # Valid values are 'debug', 'info', 'warning', and 'error'
  level: info

# observers are what discover running services in the environment
observers:
  - type: host

monitors:
  - {"#from": "/etc/signalfx/monitors/*.yaml", flatten: true, optional: true}
  - type: host-metadata
  - type: collectd/cpu
  - type: collectd/cpufreq
  - type: collectd/df
  - type: collectd/disk
  - type: collectd/interface
  - type: collectd/load
  - type: collectd/memory
  - type: collectd/signalfx-metadata
  - type: collectd/vmem

enableBuiltInFiltering: true
root@ip-172-31-22-149:~#

metricsタブには取得する/できるMetricsの一覧が書かれているので、参考にするとよいかも。

Screen Shot 2019-11-05 at 11.18.31 AM.jpg

モニタリングの確認をしてみる

Signal Fxのmenu barにあるInfrastructureからHosts(SmartAgent/collectd)を選択してみると、hostの簡易一覧が表示される。

Screen Shot 2019-11-05 at 11.20.40 AM.jpg

ホストでドリルダウン

基本的に必要な項目は自動で取得できている。

Screen Shot 2019-11-05 at 11.23.13 AM.jpg

リソースでドリルダウン

リソースの文字をチェックすると、さらにドリルダウンできるようになっている。

Screen Shot 2019-11-05 at 11.30.55 AM.jpg

F(x)の箇所を選択すると、集計の方法(sum,avg,medianなどを選択可能)

Screen Shot 2019-11-05 at 11.43.36 AM.jpg

Visualizationも左上のアイコンをクリックすれば、好きなように変更可能。

Screen Shot 2019-11-05 at 11.32.33 AM.jpg

Screen Shot 2019-11-05 at 11.55.47 AM.jpg

Dashboard

defaultのdashboardを確認してみる。左上のDashboard → Infrastructureを選択すると
全体のリソースをまとめた画面が表示される。

Screen Shot 2019-11-05 at 11.57.02 AM.jpg

Dashboardを自作してみる

メニューバーの右上にある+のアイコンをクリックして、dashboardをクリック。

Screen Shot 2019-11-05 at 12.04.16 PM.jpg

右側にmetrics(Browse Metrics Bar)をクリックして表示したいmetricsをそれぞれ埋め込んでいきます。

Screen Shot 2019-11-05 at 12.05.30 PM.jpg

Sample Dashboard

サンプルのリアルタイムにデータを取得するdashboardをみてみると、結構レスポンスも早いし、なんかよさそうっすね。

Screen Shot 2019-11-05 at 1.31.58 PM.jpg

さいごに

まずはこんな感じで基本的な使い方をまとめてみました。
あとで、awsや、その他のミドルウェアとの連携もやってみますねー。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1