alpでgrafana workloadを動かしてみる
さて、毎度ながらの説明ですが、ALP (Adaptive Linux Platform)は、SUSEとopenSUSEで開発している次世代OSのベースです。イミュータブルで軽量な仕様となっています。
この冬発売のGeeko MagazineにインストールとCockpitというブラウザから管理できるアプリの体験記を書いていますので、ぜひ皆さん試してみてください。
ここ何回かalpについて記事を書いていて、やっとわかってきました。SUSE/openSUSEは、ホストとの連携が必要などの単に動かすだけでない処理が必要なアプリのインストールや準備処理を、コンテナに内包して、workloadとして動かす、という戦略をとってるものがります。その時に利用するのが、podmanのlabel付け(実行コマンドにlabelをつける)と、そのlabel名で呼び出すrunlabelオプションです。
今回はgrafanaをマニュアルに従って動かしてみます。
grafanaサーバーのセットアップ
まず、workload内包コンテナを探します。
# podman search grafana
あれ?一覧にworkloadのコンテナが出てきません。直接レジストリ名を指定してみます。
# podman search registry.opensuse.org/suse/alp/workloads/tumbleweed_containerfiles/suse/alp/workloads/grafana
表示されました。
では、イメージをpullしてワークロードを実行します。
# podman container runlabel install
registry.opensuse.org/suse/alp/workloads/tumbleweed_containerfiles/suse/alp/workloads/grafana:latest
容量があり1分ほど時間がかかりましたが、準備が完了しました。
grafanaのworkloadは、grafana-container-manage.shというスクリプトを用意してくれ、これを使ってコンテナの作成や実行などを行います。
まずは、コンテナを作成します。
# grafana-container-manage.sh create
すぐにコンテナが作成されました。
では、コンテナをgrafanaのサーバーと共に実行します。
# grafana-container-manage.sh start
今は指示通りコマンドを叩いてるだけですが、それぞれが何をしているかを見てみるのも楽しそうですね。
grafanaクライアントのセットアップ
今回はalpを動かしているホストをクライアントにしようと思います。
クライアントには、以下の2つのパッケージをインストールし、サービスを再起動します。
パッケージのインストール
- golang-github-prometheus-node_exporter
- golang-github-prometheus-prometheus
サービスの再起動
- systemctl restart prometheus-node_exporter.service
- systemctl restart prometheus
grafanaでの表示
では、grafanaを設定していきます。
ブラウザからgrafanaにアクセスします。
http://[ALP_HOST_IP]:3000
ログイン画面が表示されるので、ログインします。初期設定は両方ともadminとなっています。ログイン後、パスワード変更画面になりますので新しいパスワードを設定します。
ログインしたら、ホストのprometheusからデータを取得します。
上段の真ん中にある「DATA SOURCES」をクリックし、種類の一覧が表示されるので一番上の「Prometheus」を選択します。
Prometheus server URLに、Prometheusを動かしているマシンのurlを指定します。デフォルトでポートは9090です。僕の場合、alpを動かしているホストなのでhttp://192.168.122.1:9090となりました。
ホストのlibvirtのゾーンで9090を開放し、画面下部の「Save & test」ボタンをおすと、Successfullyと出てきました。
サンプルで用意されているDashboardsを読み込んでみます。マニュアルはバージョンが古いようで、僕が試した時は以下の手順になりました。
- 左上のハンバーガーメニューから、Dashboardsを選択する
- 右側にある「New」のボタンをクリックして出てくるドロップダウンから、Importを選択する
- Import via grafana.comに、405と入力して「Load」をクリックする
- prometheusをクリックして、データソースを選択する 手順通りだと一つのため、それを選択する
- 設定が読み込まれるので、下の「Import」をクリックする
無事、グラフが表示されました。
grafanaを制御するスクリプトには他にもアンインストールやキャッシュ削除などのオプションがありますので、追って紹介しようと思います。