Install
Requirements
Systems
- Debian / Ubuntu
- RPM-based Linux (CentOS, Fedora, OpenSuse, RedHat)
- macOS
- Windows
Hardware
- Minimum recommended memory: 255 MB
- Minimum recommended CPU: 1
Databases
- SQLite default
- MySQL
- PostgreSQL
Browsers
- Chrome/Chromium
- Firefox
- Safari
- Microsoft Edge
- Internet Explorer 11 is only fully supported in Grafana versions prior v6.0.
Binary
Note: The grafana
user is created when you installing using Yum or Rpm.
Yum repository
vi /etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
yum install grafana
Yum manually
wget https://dl.grafana.com/oss/release/grafana-8.2.1-1.x86_64.rpm
yum install grafana-8.2.1-1.x86_64.rpm
Rpm
yum install initscripts urw-fonts wget
wget https://dl.grafana.com/oss/release/grafana-8.2.1-1.x86_64.rpm
rpm -Uvh grafana-8.2.1-1.x86_64.rpm
Tar
wget https://dl.grafana.com/oss/release/grafana-8.2.1.linux-amd64.tar.gz
tar -zxvf grafana-8.2.1.linux-amd64.tar.gz
Details
- Installs binary to
/usr/sbin/grafana-server
- Copies init.d script to
/etc/init.d/grafana-server
- Installs default file (environment vars) to
/etc/sysconfig/grafana-server
- Copies configuration file to
/etc/grafana/grafana.ini
- Installs systemd service (if systemd is available) name
grafana-server.service
- The default configuration uses a log file at
/var/log/grafana/grafana.log
- The default configuration specifies an sqlite3 database at
/var/lib/grafana/grafana.db
Docker
Pull
docker pull grafana/grafana:8.2.1
Run
docker run -d -p 3000:3000 --name grafana grafana/grafana:<version number>
Plugins
Note: You can install official and community plugins listed on the Grafana plugins page.
https://grafana.com/grafana/plugins/
docker run -d \
-p 3000:3000 \
--name=grafana \
-e "GF_INSTALL_PLUGINS=http://plugin-domain.com/my-custom-plugin.zip;custom-plugin,grafana-clock-panel" \
grafana/grafana
Note: specify the version of a plugin-e "GF_INSTALL_PLUGINS=grafana-clock-panel 1.0.1"
.
Build
Note: In the Grafana GitHub repository there is a folder called packaging/docker/custom/, which includes Dockerfile
, that can be used to build a custom Grafana image.
cd packaging/docker/custom
docker build \
--build-arg "GRAFANA_VERSION=latest" \
--build-arg "GF_INSTALL_PLUGINS=http://plugin-domain.com/my-custom-plugin.zip;custom-plugin,grafana-clock-panel" \
--build-arg "GF_INSTALL_IMAGE_RENDERER_PLUGIN=true" \
-t grafana-custom -f Dockerfile .
docker run -d -p 3000:3000 --name=grafana grafana-custom
Note: The Grafana Image Renderer plugin does not currently work if it is installed in a Grafana Docker image.
Kubernetes
updating soon...
Debug
Config
Note: See the official document for configuration instructions.
https://grafana.com/docs/grafana/latest/administration/configuration/
File
Note: Make all configuration changes in either custom.ini
or grafana.ini
.
- Default configuration from
$WORKING_DIR/conf/defaults.ini
- Custom configuration from
$WORKING_DIR/conf/custom.ini
- The custom configuration file path can be overridden using the
--config
parameter
Note: If you installed Grafana using the yum
or rpm
packages, then your configuration file is located at /etc/grafana/grafana.ini
and a separate custom.ini
is not used. This path is specified in the Grafana init.d script using --config
file parameter.
# common configuration
[paths]
data = data
temp_data_lifetime = 24h
logs = data/log
plugins = data/plugins
provisioning = conf/provisioning
[server]
portocol = http
http_addr =
http_port = 3000
domain = localhost
read_timeout = 0
[database]
type = sqlite3
host = 127.0.0.1:3306
name = grafana
user = root
password =
url =
max_idle_conn = 2
max_open_conn =
conn_max_lifetime = 14400
path = grafana.db
[security]
admin_user = admin
admin_password = admin
cookie_secure = false
[users]
allow_sign_up = false
allow_org_create = false
auto_assign_org = true
auto_assign_org_id = 1
auto_assign_org_role = Viewer
viewers_can_edit = false
editors_can_admin = false
[auth]
login_maximum_inactive_lifetime_duration =
login_maximum_lifetime_duration =
[log]
mode = file
level = info
[log.file]
level =
format = text
log_rotate = true
max_lines = 1000000
max_size_shift = 28
daily_rotate = true
max_days = 7
[quota]
...
Note: See configuration file for detailed descriptions.
Env
file configuration
# default section
instance_name = ${HOSTNAME}
[security]
admin_user = admin
[auth.google]
client_secret = 0ldS3cretKey
[plugin.grafana-image-renderer]
rendering_ignore_https_errors = true
override configuration with env
export GF_DEFAULT_INSTANCE_NAME=my-instance
export GF_SECURITY_ADMIN_USER=owner
export GF_AUTH_GOOGLE_CLIENT_SECRET=newS3cretKey
export GF_PLUGIN_GRAFANA_IMAGE_RENDERER_RENDERING_IGNORE_HTTPS_ERRORS=true
Note: Do not use environment variables to add new configuration settings. Instead, use environmental variables to override existing options.
Docker
Storage
# create a persistent volume for your data in /var/lib/grafana (database and plugins)
docker volume create grafana-storage
# start grafana
docker run -d -p 3000:3000 --name=grafana -v grafana-storage:/var/lib/grafana grafana/grafana
Mounts
mkdir data # creates a folder for your data
ID=$(id -u) # saves your user id in the ID variable
# starts grafana with your user id and using the data folder
docker run -d --user $ID --volume "$PWD/data:/var/lib/grafana" -p 3000:3000 grafana/grafana:7.2.1
Paths
Setting | Default value |
---|---|
GF_PATHS_CONFIG | /etc/grafana/grafana.ini |
GF_PATHS_DATA | /var/lib/grafana |
GF_PATHS_HOME | /usr/share/grafana |
GF_PATHS_LOGS | /var/log/grafana |
GF_PATHS_PLUGINS | /var/lib/grafana/plugins |
GF_PATHS_PROVISIONING | /etc/grafana/provisioning |
Note: Only be overridden using environment variables.
Logs
# Run Grafana while logging to both standard out and /var/log/grafana/grafana.log
docker run -p 3000:3000 -e "GF_LOG_MODE=console file" grafana/grafana
Secrets
Note: You can do this with any of the configuration options in conf/grafana.ini by setting to the path of the file holding the secret.
- Admin password secret:
/run/secrets/admin_password
- Environment variable:
GF_SECURITY_ADMIN_PASSWORD__FILE=/run/secrets/admin_password
Command
Start
Systemd
systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server
systemctl enable grafana-server
Binary
./bin/grafana-server web
Login
- Open your web browser and go to http://localhost:3000/.
- On the login page, enter
admin
for username and password.
Reset password
sqlite3 $WORKING_DIR/data/grafana.db
update user set password = '59acf18b94d7eb0694c61e60ce44c110c7a683ac6a8f09580d626f90f4a242000746579358d77dd9e570e83fa24faa88a8a6', salt = 'F3FAxVm33R' where login = 'admin';
.exit