LoginSignup
1
5

WindowsでGrafana+InfluxDB2.0+Glances&OhmGraphiteを使う

Last updated at Posted at 2021-06-19

よくサーバー用OSにCentOSなどUNIX(LINUX)系が使わるため、公開されているサーバー監視ツールの記事も自然とLinux系が多くなってしまいます。私はWindows大好きマンなので今回はWindowsで構築していきます。
あまり詳しいことはわからないから書かないので、ご了承ください。

目次

  • 完成図
  • 使用するソフト+説明
  • InfluxDB 2.0
  • Glances
  • OhmGraphite
  • 確認してみる
  • Grafana
  • 最後に
  • 参考文献

完成図

こんな感じに「かっこいい!」ってなればOKだと思います。グラフの大きさや種類も自由に変えらます。
grafana_1.png

使用するソフト+説明

InfluxDB 2.0.7

  • オープンソースの時系列データベース
  • メトリクス可視化ツールとの相性〇
  • 1.xから2.0にアップデートされていろいろ変わった(↓変更点)

Glances 3.1.7

  • Pythonで書かれたオープンソースの監視ソフト
  • Windowsでも動くため採用

OhmGrahite 0.19.0

  • C#で書かれたオープンソースの監視ソフト
  • Windows用なので採用

Grafana 8.0.3

  • 取得したメトリクスをかっこよく見せる可視化ソフト
  • プラグインなどもあり自由にカスタマイズできる

その他環境

  • Windows 10 Home
  • Python 3.7.3
    • psutil 5.8.0
    • influxdb-client 1.18.0
    • windows-curses 2.2.0

InfluxDB 2.0

注意: 現在の最新バージョン"2.0.7"でコンソールでデータベースを作成しようとすると確認用のパスワードが打てない問題があります。今回は"influx.exe"は使いませんが使う人は注意してください。

ダウンロード&インストール

Versionは2.0.7、PlatformはWindows Binary(64bit)を選び、下に表示された文を管理者権限でPowershellにコピペするだけです。URL部分をブラウザにコピペしてもダウンロードされます。

公式のインストールページ

wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.0.7-windows-amd64.zip -UseBasicParsing -OutFile influxdb2-2.0.7-windows-amd64.zip
Expand-Archive .\influxdb2-2.0.7-windows-amd64.zip -DestinationPath 'C:\Program Files\InfluxData\influxdb2\'

展開したら"influxd.exe"をコマンドプロンプト上で起動します。
次にブラウザ上でlocalhost:8086にアクセスし、初期設定を行います。
Organizationは何でもいいです。
Initial Bucket NameはここではGlancesにしておきます。
TokenData>Tokenに一つ自動で作成されていると思います。なかったら作成してください。
これでInfluxDB 2.0のセットアップは終わりです。

Glances

ダウンロード&インストール

Python 3.6以上をインストール

コマンドプロンプトで
py -m pip install psutil
py -m pip install glances
py -m pip install windows-curses
py -m pip install influxdb-client
を実行します。

その後一度py -m glancesを実行して動作確認してください。

glances.confの編集

次にInfluxDB 2.0に値を送るための準備をします。
環境によっても変わりますが、
C:\Users\USER\AppData\Local\Programs\Python\Python37\share\doc\glances
C:\Users\USER\AppData\Roaming\Python\share\doc\glances
このどちらかに"glances"というフォルダがあると思います。その中の"glances.conf"を編集します。
[influxdb2]という項目を編集します。

[influxdb2]
# Configuration for the --export influxdb2 option
# https://influxdb.com/
host=localhost
port=8086
protocol=http
org=作成した組織
bucket=作成したバケット
token=作成したトークン
# Prefix will be added for all measurement name
# Ex: prefix=foo
#     => foo.cpu
#     => foo.mem
# You can also use dynamic values
#prefix=`hostname`
prefix=localhost
# Tags will be added for all measurements
#tags=foo:bar,spam:eggs
# You can also use dynamic values
#tags=system:`uname -s`

%appdata%内に"glances"というフォルダを作成し、そこに"glances.conf"を置きます。
保存したファイルのパスが%appdata%\glances\galnces.confになっていればOKです。

最後に実行します。
こちらも環境によりますが
C:\Users\USER\AppData\Local\Programs\Python\Python37\Scripts
C:\Users\USER\AppData\Roaming\Python\Python37\Scripts
このどちらかに"glances.exe"があると思います。

絶対パスを書くか環境変数にパスを通すかして
glances.exe --export influxdb2
をエラーなく実行できたらGlancesのセットアップは終了です。

OhmGrahite

ダウンロード&インストール

好きな場所に展開でOK

OhmGraphite.exe.configの設定

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="type" value="influx2" />
    <add key="influx2_address" value="http://localhost:8086" />
    <add key="influx2_org" value="上と同じ組織" />
    <add key="influx2_bucket" value="新しく作成したバケット(例:OhmGraphite)" />
    <add key="influx2_token" value="上と同じトークンでもOK" />
    <add key="interval" value="5" />
  </appSettings>
</configuration>

こちらは管理者権限でないと実行できないようです。
コマンドプロンプトからOhmGraphite.exe runを実行します。
これでOhmGraphiteのセットアップは終了です。

##確認してみる
ここまできたら一度localhost:8086にアクセスして、きちんと値を記録しているか確認します。
Explorerを選択し、Fromに作成したBucket(この記事ではGlancesとOhmGraphiteを作成)があるか確認し、それを選択した後に右にいろいろ出るか確認してください。
Bucketがない場合は作成し、右に出ていない場合はGlancesかOhmGraphiteのconfigが間違えている可能性があります。
試しにGlances>localhost.cpu>totalを選択しSubmitを押してグラフが出現すれば成功です。

influxdb_1.png

Grafana

ダウンロード&インストール

ここの少し下のところにDownload the zip fileがあるのでそこからダウンロード&展開します。

設定

これもコマンドプロンプトからgrafana-server.exeを実行し、localhost:3000へアクセスします。
ユーザー名とパスワードを登録し、もう一度ログインします。

ConfigurationからData Souece>Add Souece>InfluxDBを選びます。
Nameは任意
Query LanguageはFluxを選択
URLlocalhost:8086
InfluxDB Detailsにはorganization tokenを入力します。
Save&testをクリックし5 buckets foundと出ればOKです。

データの登録方法

詳しいGrafanaの使い方はここでは書きません。手抜き

localhost:8086へアクセスし、ExplorerからGrafanaに登録したいデータを選択します。
右下のScript Editorを選択すると、コードが表示されるのでそれをコピーします

一例
from(bucket: "Glances")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "localhost.cpu")
  |> filter(fn: (r) => r["_field"] == "user")
  |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
  |> yield(name: "mean")

これをGrafanaのQueryにペーストし、Applyすれば登録完了です。

最後に

無事にサーバー監視できたでしょうか。初めての投稿なので誤字脱字、間違いがあればごめんなさい。influxdb-clientを使えばApacheの同時接続数などを送ったりもできます。是非ためしてみてください。

2023/06/16 mdの構文を修正

1
5
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
1
5