WindowsでGrafana+InfluxDB2.0+Glances&OhmGraphiteを使う
よくサーバー用OSにCentOSなどUNIX(LINUX)系が使わるため、公開されているサーバー監視ツールの記事も自然とLinux系が多くなってしまいます。私はWindows大好きマンなので今回はWindowsで構築していきます。
あまり詳しいことはわからないから書かないので、ご了承ください。
目次
- 完成図
- 使用するソフト+説明
- InfluxDB 2.0
- Glances
- OhmGraphite
- 確認してみる
- Grafana
- 最後に
- 参考文献
完成図
こんな感じに「かっこいい!」ってなればOKだと思います。グラフの大きさや種類も自由に変えらます。
使用するソフト+説明
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
にしておきます。
Token
はData
>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
を押してグラフが出現すれば成功です。
Grafana
ダウンロード&インストール
ここの少し下のところにDownload the zip file
があるのでそこからダウンロード&展開します。
設定
これもコマンドプロンプトからgrafana-server.exe
を実行し、localhost:3000
へアクセスします。
ユーザー名とパスワードを登録し、もう一度ログインします。
Configuration
からData Souece
>Add Souece
>InfluxDB
を選びます。
Name
は任意
Query Language
はFluxを選択
URL
はlocalhost: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の同時接続数などを送ったりもできます。是非ためしてみてください。
Author And Source
この問題について(WindowsでGrafana+InfluxDB2.0+Glances&OhmGraphiteを使う), 我々は、より多くの情報をここで見つけました https://qiita.com/shirokuma1101/items/0b0146c77bcb5b8b0aa2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .