Grafana OSS 13.2.2 를 리눅스에 올린다. 패키지(RPM · DEB) 로 넣으면 systemd 유닛과 계정 · 디렉터리가 함께 잡히므로 tarball 보다 손이 덜 간다. tarball 은 한 호스트에 여러 인스턴스를 띄우거나 폐쇄망에 넣을 때 쓴다.
라이선스는 13.x 기준 AGPLv3 다.
| 항목 | 내용 |
|---|---|
| OS | x86_64 · ARM64 리눅스 |
| 메모리 | 512MB 이상 (대시보드 수에 따라 늘린다) |
| 포트 | TCP 3000 (기본). TLS 를 붙이면 그대로 3000 에 https 로 뜬다 |
| 메타 저장소 | 기본 SQLite. 여러 인스턴스를 붙이려면 PostgreSQL · MySQL |
sudo dnf install -y https://dl.grafana.com/oss/release/grafana-13.2.2-1.x86_64.rpm
저장소를 등록해 쓰려면 /etc/yum.repos.d/grafana.repo 를 만든다.
[grafana]
name=grafana
baseurl=https://rpm.grafana.com
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://rpm.grafana.com/gpg.key
sslverify=1
sudo dnf install -y grafana
wget https://dl.grafana.com/grafana/release/13.2.2/grafana_13.2.2_34846740809_linux_amd64.deb
sudo dpkg -i grafana_13.2.2_34846740809_linux_amd64.deb
wget https://dl.grafana.com/grafana/release/13.2.2/grafana_13.2.2_34846740809_linux_amd64.tar.gz
tar -zxvf grafana_13.2.2_34846740809_linux_amd64.tar.gz
sudo mv grafana-v13.2.2 /opt/
sudo ln -s /opt/grafana-v13.2.2 /opt/grafana
sudo useradd -r -s /sbin/nologin grafana
sudo mkdir -p /var/log/grafana /var/lib/grafana
sudo chown -R grafana:grafana /var/log/grafana /var/lib/grafana /opt/grafana-v13.2.2
tarball 은 설치 루트에서 실행해야 public 디렉터리를 찾는다.
cd /opt/grafana
./bin/grafana server
패키지 설치의 설정 파일은 /etc/grafana/grafana.ini 다. tarball 은 <설치루트>/conf/defaults.ini 를 기본으로 읽고 custom.ini 로 덮어쓴다. 자주 고치는 항목만 아래에 둔다. 전체 항목은 Grafana 문서의 grafana.ini 전문을 본다.
app_mode = production
instance_name = ${HOSTNAME}
[paths]
data = /var/lib/grafana
logs = /var/log/grafana
plugins = /var/lib/grafana/plugins
provisioning = /etc/grafana/provisioning
[server]
# TLS 를 쓰지 않으면 http
protocol = https
http_port = 3000
domain = grafana.haedongg.net
cert_file = /etc/grafana/certs/haedongg.crt
cert_key = /etc/grafana/certs/haedongg.key
[database]
# 기본은 sqlite3. 여러 인스턴스를 붙일 때만 외부 DB 를 쓴다
type = postgres
host = 192.168.254.1:5432
name = grafana
user = grafana
password = ${PASSWORD}
[security]
admin_user = admin
admin_password = ${PASSWORD}
데이터 소스 · 대시보드 · 알림은 UI 대신 프로비저닝 파일로 관리하는 편이 낫다. 데이터 소스 관리 · Dashboard · Alert 를 본다.
LDAP 인증을 쓸 때는 [auth.ldap] 을 켜고 ldap.toml 을 둔다. Active Directory 예제는 Grafana 문서에 있다.
패키지 설치는 유닛이 함께 들어온다.
sudo systemctl daemon-reload
sudo systemctl enable --now grafana-server
sudo systemctl status grafana-server
tarball 은 유닛을 직접 만든다. /etc/systemd/system/grafana.service
[Unit]
Description=Grafana
Wants=network-online.target
After=network-online.target
[Service]
User=grafana
Group=grafana
Type=simple
WorkingDirectory=/opt/grafana
ExecStart=/opt/grafana/bin/grafana server \
--config=/opt/grafana/conf/custom.ini \
--homepath=/opt/grafana \
cfg:default.paths.logs=/var/log/grafana \
cfg:default.paths.data=/var/lib/grafana \
cfg:default.paths.plugins=/var/lib/grafana/plugins
Restart=always
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
curl -s http://localhost:3000/api/health
{"database":"ok","version":"13.2.2"}
브라우저로 http://<호스트>:3000 에 붙는다. 초기 계정은 admin / admin 이고 첫 로그인에서 바꾸라고 묻는다. grafana.ini 에 admin_password 를 넣어 두면 그 값이 초기값이 된다.