これは、なにをしたくて書いたもの?
ちょっとGrafana関連のものを扱いたくなったので、Grafanaからひとつひとつ環境を見ていくことにしました。
Grafanaは以前扱ったことがあるのですが、7年くらい前の話なので今回は新しく書こうと思います。
まずはUbuntu Linux 24.04 LTSにGrafana 12をインストールします。
Grafana
Grafanaのドキュメントはこちら。
Grafana OSS and Enterprise | Grafana documentation
Grafanaはメトリクス、ログ、トレースの保管場所を問わずクエリー、可視化、アラート生成、探索ができるソフトウェアです。
様々なデータソースを扱うことができ、PrometheusやAmazon CloudWatchなどの時系列データベース、Grafana Lokiや
Elasticsearchのようなロギングツール、PostgreSQLのようなRDBMS、GitHubのようなCI/CDに関するものなどが含まれます。
こちらのページもGrafanaの外観を掴むのによいでしょう。
About Grafana | Grafana documentation
また、GrafanaにはGrafana以外のOSSプロジェクトがあり、これらを押さえるページとしても有用かなと思います。
- Grafana Loki
- Grafana Tempo
- Grafana Mimir
- Grafana Pyroscope
- Grafana Faro
- Grafana Beyla
- Grafana Alloy
- Grafana k6
- Grafana OnCall
About Grafana / Other Grafana Labs OSS Projects
GrafanaはOSS版、Enterprise版、クラウド版の3つがあります。
Enterprise版では、チーム管理の強化や利用できるデータソースが大幅に増えているようです。
Grafana Enterprise | Grafana documentation
OSS版ではチーム管理はGrafana組み込みのもののみようです。
Grafana Teams | Grafana documentation
Enterprise版になると、OAuth 2.0を使った他サービスとのチーム同期が使えるようになります。
Data sources | Grafana documentation
データソースに関しては、Enterprise版だとOSS版の1.5倍ほどのデータソースが追加されます。
これはEnterprise版が欲しくなるでしょうね。
Grafanaの基礎知識・周辺知識
Grafanaに関する基礎知識・周辺知識はこちらのページおよびその配下のページを見るのがよさそうです。
Introduction | Grafana documentation
GrafanaおよびGrafana以外のプロジェクトの説明や、Prometheusとの関係性が書かれたりしています。また、基本的な
用語の説明もこちらで行われています。
今回はドキュメントを見るのはこれくらいにして、Grafanaをインストールしてみます。
環境
今回の環境はこちら。Ubuntu Linux 24.04 LTSです。
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.2 LTS Release: 24.04 Codename: noble $ uname -srvmpio Linux 6.8.0-64-generic #67-Ubuntu SMP PREEMPT_DYNAMIC Sun Jun 15 20:23:31 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
Grafanaをインストールする
それでは、こちらのドキュメントに沿ってGrafanaをインストールします。
Install Grafana | Grafana documentation
DebianやUbuntu Linux向けのページはこちら。
Install Grafana on Debian or Ubuntu | Grafana documentation
インストール方法としては、aptリポジトリーからインストールする方法、debパッケージからインストールする方法、
スタンドアロンバイナリーをインストールする方法があります。
それぞれ見ていきましょう。
aptリポジトリーからインストールする
まずはaptリポジトリーからインストールします。
Install Grafana on Debian or Ubuntu / Install from APT repository
必要なパッケージのインストール。
$ sudo apt install apt-transport-https software-properties-common wget
GPG鍵のインポート。
$ sudo mkdir -p /etc/apt/keyrings/ $ wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
aptリポジトリーの追加。
$ echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
パッケージリストの更新。
$ sudo apt update
これでパッケージにGrafanaが追加されます。
$ apt show grafana Package: grafana Version: 12.0.2-01 Priority: optional Section: default Maintainer: contact@grafana.com Installed-Size: 649 MB Depends: adduser, musl Homepage: https://grafana.com License: AGPLv3 Vendor: "Grafana Labs" Download-Size: 175 MB APT-Sources: https://apt.grafana.com stable/main amd64 Packages Description: Grafana N: There are 451 additional records. Please use the '-a' switch to see them.
インストール。
$ sudo apt install grafana
バージョン。
$ grafana-server --version Version 12.0.2+security-01 (commit: 76ea754dbb0bfb3e157981ec73ba4ef1efae4207, branch: HEAD)
ドキュメントやWeb UIを除くと、こんなファイルがインストールされます。
$ dpkg -L grafana | grep -vE '/usr/share/grafana/(public|docs)/' /. /usr /usr/lib /usr/lib/systemd /usr/lib/systemd/system /usr/lib/systemd/system/grafana-server.service /usr/share /usr/share/doc /usr/share/doc/grafana /usr/share/doc/grafana/changelog.gz /usr/share/grafana /usr/share/grafana/conf /usr/share/grafana/conf/ldap.toml /usr/share/grafana/conf/defaults.ini /usr/share/grafana/conf/sample.ini /usr/share/grafana/conf/provisioning /usr/share/grafana/conf/provisioning/alerting /usr/share/grafana/conf/provisioning/alerting/sample.yaml /usr/share/grafana/conf/provisioning/plugins /usr/share/grafana/conf/provisioning/plugins/sample.yaml /usr/share/grafana/conf/provisioning/sample /usr/share/grafana/conf/provisioning/sample/dashboard-v1.json /usr/share/grafana/conf/provisioning/sample/sample-playlist.json /usr/share/grafana/conf/provisioning/sample/dashboard-v2.json /usr/share/grafana/conf/provisioning/sample/folder-A /usr/share/grafana/conf/provisioning/sample/folder-A/folder-B /usr/share/grafana/conf/provisioning/sample/folder-A/folder-B/dashboard-nested.json /usr/share/grafana/conf/provisioning/sample/dashboard-classic.json /usr/share/grafana/conf/provisioning/access-control /usr/share/grafana/conf/provisioning/access-control/sample.yaml /usr/share/grafana/conf/provisioning/datasources /usr/share/grafana/conf/provisioning/datasources/sample.yaml /usr/share/grafana/conf/provisioning/dashboards /usr/share/grafana/conf/provisioning/dashboards/sample.yaml /usr/share/grafana/conf/ldap_multiple.toml /usr/share/grafana/Dockerfile /usr/share/grafana/docs /usr/share/grafana/bin /usr/share/grafana/bin/grafana-cli /usr/share/grafana/bin/grafana-server /usr/share/grafana/bin/grafana /usr/share/grafana/README.md /usr/share/grafana/public /usr/share/grafana/tools /usr/share/grafana/tools/zoneinfo.zip /usr/share/grafana/NOTICE.md /usr/share/grafana/npm-artifacts /usr/share/grafana/npm-artifacts/@grafana-e2e-selectors-v12.0.2+security-01.tgz /usr/share/grafana/npm-artifacts/@grafana-prometheus-v12.0.2+security-01.tgz /usr/share/grafana/npm-artifacts/@grafana-ui-v12.0.2+security-01.tgz /usr/share/grafana/npm-artifacts/@grafana-runtime-v12.0.2+security-01.tgz /usr/share/grafana/npm-artifacts/@grafana-data-v12.0.2+security-01.tgz /usr/share/grafana/npm-artifacts/@grafana-schema-v12.0.2+security-01.tgz /usr/share/grafana/npm-artifacts/@grafana-flamegraph-v12.0.2+security-01.tgz /usr/share/grafana/packaging /usr/share/grafana/packaging/deb /usr/share/grafana/packaging/deb/systemd /usr/share/grafana/packaging/deb/systemd/grafana-server.service /usr/share/grafana/packaging/deb/default /usr/share/grafana/packaging/deb/default/grafana-server /usr/share/grafana/packaging/deb/control /usr/share/grafana/packaging/deb/control/prerm /usr/share/grafana/packaging/deb/control/postinst /usr/share/grafana/packaging/deb/init.d /usr/share/grafana/packaging/deb/init.d/grafana-server /usr/share/grafana/packaging/docker /usr/share/grafana/packaging/docker/custom /usr/share/grafana/packaging/docker/custom/Dockerfile /usr/share/grafana/packaging/docker/push_to_docker_hub.sh /usr/share/grafana/packaging/docker/README.md /usr/share/grafana/packaging/docker/build.sh /usr/share/grafana/packaging/docker/run.sh /usr/share/grafana/packaging/rpm /usr/share/grafana/packaging/rpm/systemd /usr/share/grafana/packaging/rpm/systemd/grafana-server.service /usr/share/grafana/packaging/rpm/sysconfig /usr/share/grafana/packaging/rpm/sysconfig/grafana-server /usr/share/grafana/packaging/rpm/control /usr/share/grafana/packaging/rpm/control/posttrans /usr/share/grafana/packaging/rpm/control/postinst /usr/share/grafana/packaging/wrappers /usr/share/grafana/packaging/wrappers/grafana-cli /usr/share/grafana/packaging/wrappers/grafana-server /usr/share/grafana/packaging/wrappers/grafana /usr/share/grafana/plugins-bundled /usr/share/grafana/LICENSE /usr/share/grafana/VERSION /usr/sbin /usr/sbin/grafana-cli /usr/sbin/grafana-server /etc /etc/default /etc/default/grafana-server /etc/init.d /etc/init.d/grafana-server /etc/grafana
この方法だと、Grafanaはsystemdのユニットとして登録されます。
$ sudo systemctl status grafana-server
○ grafana-server.service - Grafana instance
Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; disabled; preset: enabled)
Active: inactive (dead)
Docs: http://docs.grafana.org
Start the Grafana server | Grafana documentation
自動起動を有効化。
$ sudo systemctl enable grafana-server Synchronizing state of grafana-server.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable grafana-server Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service.
起動。
$ sudo systemctl start grafana-server
確認。
● grafana-server.service - Grafana instance
Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-07-21 06:03:01 UTC; 15s ago
Docs: http://docs.grafana.org
Main PID: 2862 (grafana)
Tasks: 15 (limit: 9486)
Memory: 119.0M (peak: 138.3M)
CPU: 5.701s
CGroup: /system.slice/grafana-server.service
└─2862 /usr/share/grafana/bin/grafana server --config=/etc/grafana/grafana.ini --pidfile=/run/grafana/grafana-server.pid --packaging=deb cfg:default.paths.logs>
Jul 21 06:03:14 server grafana[2862]: logger=plugin.backgroundinstaller t=2025-07-21T06:03:14.277059629Z level=info msg="Installing plugin" pluginId=grafana-metricsdrilldow>
Jul 21 06:03:15 server grafana[2862]: logger=plugin.installer t=2025-07-21T06:03:15.022715241Z level=info msg="Installing plugin" pluginId=grafana-metricsdrilldown-app vers>
Jul 21 06:03:15 server grafana[2862]: logger=installer.fs t=2025-07-21T06:03:15.069588484Z level=info msg="Downloaded and extracted grafana-metricsdrilldown-app v1.0.6 zip >
Jul 21 06:03:15 server grafana[2862]: logger=plugins.registration t=2025-07-21T06:03:15.082919143Z level=info msg="Plugin registered" pluginId=grafana-metricsdrilldown-app
Jul 21 06:03:15 server grafana[2862]: logger=plugin.backgroundinstaller t=2025-07-21T06:03:15.082960259Z level=info msg="Plugin successfully installed" pluginId=grafana-met>
Jul 21 06:03:15 server grafana[2862]: logger=plugin.backgroundinstaller t=2025-07-21T06:03:15.082984108Z level=info msg="Installing plugin" pluginId=grafana-lokiexplore-app>
Jul 21 06:03:16 server grafana[2862]: logger=plugin.installer t=2025-07-21T06:03:16.375755489Z level=info msg="Installing plugin" pluginId=grafana-lokiexplore-app version=
Jul 21 06:03:16 server grafana[2862]: logger=installer.fs t=2025-07-21T06:03:16.469040956Z level=info msg="Downloaded and extracted grafana-lokiexplore-app v1.0.22 zip succ>
Jul 21 06:03:16 server grafana[2862]: logger=plugins.registration t=2025-07-21T06:03:16.492094433Z level=info msg="Plugin registered" pluginId=grafana-lokiexplore-app
Jul 21 06:03:16 server grafana[2862]: logger=plugin.backgroundinstaller t=2025-07-21T06:03:16.49213494Z level=info msg="Plugin successfully installed" pluginId=grafana-loki>
起動したら、http://[Grafanaが動作しているサーバー]:3000にアクセスするとWeb UIが見れます。

デフォルトのユーザーはadmin、パスワードもadminですが、初回ログイン時に変更を求められます。
Sign in to Grafana | Grafana documentation
停止。
$ sudo systemctl stop grafana-server
設定ファイルのデフォルト値は/usr/share/grafana/conf/defaults.iniに書かれています。
ユーザーが設定するのは、パッケージインストールした場合は/etc/grafana/grafana.iniファイルになります。
If you installed Grafana using the deb or RPM packages, then your configuration file is located at /etc/grafana/grafana.ini and a separate custom.ini is not used.
Configure Grafana | Grafana documentation
ディレクトリー構成などはドキュメントにないようですが、こちらの設定内容から見るようです。
systemdで管理されている場合は、ユニット定義も見ておいた方がよさそうですね。
$ sudo systemctl cat grafana-server
# /usr/lib/systemd/system/grafana-server.service
[Unit]
Description=Grafana instance
Documentation=http://docs.grafana.org
Wants=network-online.target
After=network-online.target
After=postgresql.service mariadb.service mysql.service influxdb.service
[Service]
EnvironmentFile=/etc/default/grafana-server
User=grafana
Group=grafana
Type=simple
Restart=on-failure
WorkingDirectory=/usr/share/grafana
RuntimeDirectory=grafana
RuntimeDirectoryMode=0750
ExecStart=/usr/share/grafana/bin/grafana server \
--config=${CONF_FILE} \
--pidfile=${PID_FILE_DIR}/grafana-server.pid \
--packaging=deb \
cfg:default.paths.logs=${LOG_DIR} \
cfg:default.paths.data=${DATA_DIR} \
cfg:default.paths.plugins=${PLUGINS_DIR} \
cfg:default.paths.provisioning=${PROVISIONING_CFG_DIR}
LimitNOFILE=10000
TimeoutStopSec=20
CapabilityBoundingSet=
DeviceAllow=
LockPersonality=true
MemoryDenyWriteExecute=false
NoNewPrivileges=true
PrivateDevices=true
PrivateTmp=true
ProtectClock=true
ProtectControlGroups=true
ProtectHome=true
ProtectHostname=true
ProtectKernelLogs=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectProc=invisible
ProtectSystem=full
RemoveIPC=true
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
RestrictNamespaces=true
RestrictRealtime=true
RestrictSUIDSGID=true
SystemCallArchitectures=native
UMask=0027
[Install]
WantedBy=multi-user.target
環境変数で設定されている内容もあり、ログは/var/log/grafanaディレクトリー配下に、
データは/var/lib/grafanaディレクトリー配下にありそうです。
/etc/default/grafana-server
GRAFANA_USER=grafana GRAFANA_GROUP=grafana GRAFANA_HOME=/usr/share/grafana LOG_DIR=/var/log/grafana DATA_DIR=/var/lib/grafana MAX_OPEN_FILES=10000 CONF_DIR=/etc/grafana CONF_FILE=/etc/grafana/grafana.ini RESTART_ON_UPGRADE=true PLUGINS_DIR=/var/lib/grafana/plugins PROVISIONING_CFG_DIR=/etc/grafana/provisioning # Only used on systemd systems PID_FILE_DIR=/run/grafana
debパッケージからインストールする
次はdebパッケージからインストールしてみます。
Install Grafana on Debian or Ubuntu / Install Grafana using a deb package
手順としては、こちらのページに従うことになります。
Download Grafana | Grafana Labs
依存パッケージのインストール。
$ sudo apt install adduser libfontconfig1 musl
$ curl -LO https://dl.grafana.com/oss/release/grafana_12.0.2+security~01_amd64.deb $ sudo dpkg -i grafana_12.0.2+security~01_amd64.deb
インストールされるものとしては、aptリポジトリーが追加されないだけで、内容としてはaptリポジトリーからインストール
したものと同じです。systemdのユニット定義なども含まれます。
なので、説明は省略します。
スタンドアロンバイナリーからインストールする
最後はスタンドアロンバイナリーからインストールします。
こちらも手順は以下のページを見ます。
Download Grafana | Grafana Labs
$ curl -LO https://dl.grafana.com/oss/release/grafana-12.0.2+security-01.linux-amd64.tar.gz $ tar xf grafana-12.0.2+security-01.linux-amd64.tar.gz
展開したディレクトリー内に移動。
$ cd grafana-v12.0.2+security-01
含まれているファイルはこんな感じですね。
$ find -type f | grep -vE './(public|docs|storybook)/' ./Dockerfile ./conf/provisioning/dashboards/sample.yaml ./conf/provisioning/plugins/sample.yaml ./conf/provisioning/access-control/sample.yaml ./conf/provisioning/datasources/sample.yaml ./conf/provisioning/alerting/sample.yaml ./conf/provisioning/sample/folder-A/folder-B/dashboard-nested.json ./conf/provisioning/sample/dashboard-v1.json ./conf/provisioning/sample/dashboard-v2.json ./conf/provisioning/sample/sample-playlist.json ./conf/provisioning/sample/dashboard-classic.json ./conf/sample.ini ./conf/defaults.ini ./conf/ldap_multiple.toml ./conf/ldap.toml ./packaging/docker/custom/Dockerfile ./packaging/docker/run.sh ./packaging/docker/push_to_docker_hub.sh ./packaging/docker/README.md ./packaging/docker/build.sh ./packaging/deb/control/prerm ./packaging/deb/control/postinst ./packaging/deb/init.d/grafana-server ./packaging/deb/systemd/grafana-server.service ./packaging/deb/default/grafana-server ./packaging/wrappers/grafana-server ./packaging/wrappers/grafana-cli ./packaging/wrappers/grafana ./packaging/rpm/control/posttrans ./packaging/rpm/control/postinst ./packaging/rpm/systemd/grafana-server.service ./packaging/rpm/sysconfig/grafana-server ./LICENSE ./npm-artifacts/@grafana-e2e-selectors-v12.0.2+security-01.tgz ./npm-artifacts/@grafana-ui-v12.0.2+security-01.tgz ./npm-artifacts/@grafana-prometheus-v12.0.2+security-01.tgz ./npm-artifacts/@grafana-runtime-v12.0.2+security-01.tgz ./npm-artifacts/@grafana-flamegraph-v12.0.2+security-01.tgz ./npm-artifacts/@grafana-data-v12.0.2+security-01.tgz ./npm-artifacts/@grafana-schema-v12.0.2+security-01.tgz ./VERSION ./README.md ./tools/zoneinfo.zip ./NOTICE.md ./bin/grafana-server ./bin/grafana-cli ./bin/grafana
バージョン確認。
$ bin/grafana --version grafana version 12.0.2+security-01
起動。
$ bin/grafana server ## こちらでもよさそう $ bin/grafana-server
Start the Grafana server | Grafana documentation
このインストール方法では、フォアグラウンドでGrafanaが起動します。
また設定ファイルはconf/custom.iniに書くようです。デフォルト値がconf/defaults.iniなのは同じですね。
Configure Grafana | Grafana documentation
こんなところでしょうか。
おわりに
Ubuntu Linux 24.04 LTSにGrafana 12をインストールしてみました。
どちらかというとGrafanaに関するドキュメントを見ている時間の方が長かったのですが、Grafanaについてあらためて
情報を見返せたのでこれはこれでよかったかなと。
今後、周辺のプロジェクトも見ていくとしましょう。