初めに
今回はGrafanaとInfluxDBを繋いで行きます
この二つのブログの続きになります
・初めてのGrafana
https://blog.smartlight.co.jp/?p=4301
・Docker内でInfluxDBを動かしてみる
https://blog.smartlight.co.jp/?p=4420
準備
最初はDocker Desktopを立ち上げます
そしたらInfluxDBとGrafanaのコンテナを立ち上げましょう
(作っていないコンテナがある場合は作成して下さい)
・InfluxDBコンテナ立ち上げ(自分のコンテナの名前で立ち上げ)
docker run influxdb
・Grafanaコンテナ立ち上げ(自分のコンテナの名前で立ち上げ)
docker run garafana
二つのコンテナを立ち上げたら二つのブラウザを叩きましょう
・Grafana:http://localhost:3000/
・InfluxDB:http://localhost:8086/
InfluxDB側の設定
InfluxDBのGUIを開きます
左上から3つ目を選択してAPI Tokensを選択します

トークンを作成できる画面が出てきます

今回は個人で使うだけなのでGenerate All Access Tokenを選択します
もししっかりと使うならCUSTOMをおススメします

Test Tokenという名前で作ってみました
作成した時に変な文字列が出るのでコピーして無くさないで下さい

Grafana側の設定
Grafanaのページを開き
左上がのメニューを開いてConnctions→Data sourcesを開きましょう

Add data sourceを選択します

検索バーで「InfluxDB」を検索します

入力する内容としては
Query Language: Flux
URL: http://influxdb:8086
Token: 先ほど取得したトークンを入力
Organization: あなたの組織名
Default Bucket: あなたのバケット名
以下例

実行するとエラーが出ました
接続が出来ないと言われています

解決するために色々調べた結果・・・
Dockerコンテナ同じNetworkに入れないといけないそうです ・・・?
暫く調べるとカスタムネットワークというのを作って二つをぶち込めば良いという感じでした
カスタムネットワーク
まずは二つのコンテナが同じ通信に繋がっているかを調べます
docker network inspect mynetwork
繋がってないそうです

無いそうなのでカスタムネットワーク作って行きます
docker network create mynetwork
作成するとこんな感じになります

このカスタムネットワークに繋げるために一度二つのコンテナを止めます
docker stop garafana influxdb
そしたら二つのコンテナをカスタムネットワークに繋げます
docker network connect mynetwork influxdb
docker network connect mynetwork grafana
繋がっているかを確認するために最初のコマンドを打つとなんか色々出てくるようになりました(写真は省きます)
コンテナの再起動を掛けます
docker start influxdb grafana
ではもう一度先ほどのGrafanaの接続画面に行って試してみましょう
出来ました!!!

コンテナ同士が同じネットワーク上にいなかったのが問題でした
InfluxDBの中の値を見てみよう
接続が完了したので、Garafana側でInfluxDB用のダッシュボードを作成してみます
HomeからDashboradに行きます

そこから「+Create Dashborad」→ 「+Add Visualization」を選択すると 以下の写真の画面に行くと思います

Influxdb_testを選択してみるとこんな感じ
何も映りません

何か表示させるにはqueryを入れないといけません
なので下の全てを表示させるクエリを入れます
from(bucket: "test")
|> range(start: 0)
|> filter(fn: (r) => r._measurement == "t0921" or r._measurement == "t0922" or r._measurement == "t0923")
|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")
|> keep(columns: ["_time", "name", "population", "date_mod"])
InfluxDBに入れたデータが映りました

まとめ
今回は前回のブログに書いたGrafanaとInfluxDBを繋いでみました
一度繋がらないと言われた時は、焦りましたが無事解決方法が見つかって良かったです!