前回さらっと紹介したGrafanaの導入周りのメモです(うろ覚え)
ツールのざっくり説明
Grafana
可視化ツールの一つです
DBに保存されたログなどを集計し、様々なUIパーツでグラフにすることができます
また、DBなどのデータを集計することができるので下手に自前で作るよりデータ集計クエリの設計やほかのことに専念できます。
(仕事で自前実装する前に触っておけばよかったなと後悔)
今回使うinfluxDB以外にも多くのDB対応してます。
また、有志が作成したダッシュボードも公開されているので、ほぼ触らずにダッシュボードの作成もできます。(しました
参考:
influxDB
時系列系DBです。
ログデータのように時系列で追加されるようなデータが次々と追加されるが更新がほぼされないようなデータを得意とします。
(これも仕事で使えるなら使いたいなとか思ったり)
今回はProxmox内蔵のメトリック出力機能に直接書き出せるDBがこれなので使います
環境とか
# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.1 LTS Release: 22.04 Codename: jammy # influx version Influx CLI 2.4.0 (git: 5c7c34f) build_date: 2022-08-18T19:26:48Z # grafana-server -v Version 9.1.4 (commit: 2186d0bbeb, branch: HEAD)
インストール
influxDB
公式ドキュメントに従いインストールします
ここではユーザー名をadmin、パスワードは任意ものを、organizationはzin3、Bucketはzin3-bkとします
# apt upgrade # apt install influxdb2 # systemctl enable influxdb # systemctl start influxdb # systemctl status influxdb # influx setup Welcome to InfluxDB 2.0! ? Please type your primary username admin ? Please type your password ***** X Sorry, your reply was invalid: value is too short. Min length is 8 X Sorry, your reply was invalid: value is too short. Min length is 8 ? Please type your password ******** ? Please type your password again ******** ? Please type your primary organization name zin3 ? Please type your primary bucket name zin3-bk ? Please type your retention period in hours, or 0 for infinite 0 ? Setup with these parameters? Username: admin Organization: zin3 Bucket: zin3-bk Retention Period: infinite Yes User Organization Bucket admin zin3 zin3-bk root@proxmox-grafana:~# influx config list Active Name URL Org * default http://localhost:8086 zin3
インストールができるとダッシュボードにアクセスできます(port 8086)
ログイン後、左メニューのLoadDataのAPITokensを開きます
admins’s Tokenをコピーするか、右上のGENERATE API TOKENから先ほど作成したバケットのアクセス権があるAPIトークンを作成し、トークンをコピーしておきます。(proxmoxで指定します)
(アラートにあるようにUIが変わるらしいのと、フルアクセスあげても危ないので個別で作成することをおすすめします。)
Grafana
こちらもドキュメントに従いインストールします
# apt install -y adduser libfontconfig1 # wget https://dl.grafana.com/enterprise/release/grafana-enterprise_9.1.4_amd64.deb # dpkg -i grafana-enterprise_9.1.4_amd64.deb # systemctl status grafana-server # systemctl enable grafana-server # systemctl start grafana-server # systemctl status grafana-server
インストールできるとダッシュボードにアクセスできます(port 3000)
確か初回起動時はパスワードを設定できたような気がする(うろ覚え
設定とか
Proxmox
ProxmoxのメトリックサーバーにinfluxDBを指定します
追加表示されるウィンドウに該当する値を設定します。
デフォルトはUDPですが、influxDB v2以降はUDPがないためHTTPで登録します
適切に登録できているとinfluxDBのダッシュボードからグラフが表示できるようになります
Grafana
ダッシュボードにアクセスし、左下の歯車をクリックします
集計データの元となるDBを登録するため、右上のadd data sourceをクリック
(すでにinfluxDB(設定したやつ)とかZabbix(プラグイン)が入ってますが気にしないでね)
基本的に入力項目を入れるだけですが、QueryLanguageをFluxにしてください
Save&Testが問題なければ追加したバケット+2ぐらいが見つかったと表示されるはずです
次に左上のメニューからDashbords(窓みたいなアイコン)をクリックします
右上のNewからImportをクリック
ここにGrafana公式サイトに上げられている有志のダッシュボードのURLかIDを入れるとインポートできます
最初参考にした記事ではID:10048を使用していましたが、うまく動かなかったのでID:17051にしました(これもぽん入れで動かなかったので修正したりしましたが)
探すと結構あります
Loadを押すとダッシュボード名などを指定できます。
一番下のinfluxDBを先ほど設定したinfluxDBに選択をしてImportします
AdminTokenを使用しているとおそらく以下の画像のようになります
左上をよく見るとDatasourceやらBucketやらServerやら書いてありますね
ここが正しくないためデータが表示できません
Bucketを変更してやると正しく出てきました
おそらくデータを入れたバケットのみアクセス権があるAPIトークンなら問題なく表示されると思います。
ページをリロードするたび変更するのはめんどいので、ダッシュボードを修正することにしました
右上の歯車から設定を開きます。
VariablesのタブからBucketを開きます
Regexの項目にアンダーバーから始まるバケットを表示しない正規表現を入れてあげます
保存をすれば次からはinfluxDBの管理用バケットは表示されません
これならトークンの権限を見直した方がいいですね
今回は既存のダッシュボードで作りましたが、influxDBのクエリさえ書ければ好きなようにできます。
自分用の見やすいダッシュボードを作りたいのと、ほかの機器(特にL3SWなどネットワーク機器)を可視化できるようにしたいです
参考:
コメント