1. Grafana简介
Grafana是由Grafana Labs开发的开源可视化平台,支持多种数据源,提供丰富的图表和仪表板功能。Grafana采用Go语言编写,具有灵活的插件系统、告警功能、用户权限管理等特点。Grafana广泛应用于监控可视化、数据分析、业务指标展示等场景。更多学习教程www.fgedu.net.cn
Grafana的主要特点包括:多数据源支持、丰富的可视化选项、灵活的仪表板、告警管理、用户权限控制、插件扩展、团队协作、移动端支持。
2. Grafana版本说明
Grafana提供多个版本系列,用户可根据需求选择:
当前版本
Grafana 12.4.2:最新版本,2026-03-25发布
Grafana 12.1.0:稳定版本
版本类型
Grafana OSS:开源免费版本
Grafana Enterprise:企业版本,包含更多功能
Grafana Cloud:云服务版本
支持的平台
Linux:AMD64、ARM64
Windows:AMD64
macOS:AMD64、ARM64(Silicon)
Docker:官方镜像
3. 官方下载方式
Grafana提供开源版本免费下载。学习交流加群风哥微信: itpux-com
官方下载地址
Grafana官网:https://grafana.com/
下载页面:https://grafana.com/grafana/download
文档地址:https://grafana.com/docs/grafana/latest/
使用wget下载
$ wget https://dl.grafana.com/enterprise/release/grafana-enterprise-12.4.2-1.x86_64.rpm
# 输出示例如下:
–2026-04-04 10:15:00– https://dl.grafana.com/enterprise/release/grafana-enterprise-12.4.2-1.x86_64.rpm
Resolving dl.grafana.com… 192.168.1.100
Connecting to dl.grafana.com|192.168.1.100|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 87654321 (84M) [application/x-rpm]
Saving to: ‘grafana-enterprise-12.4.2-1.x86_64.rpm’
grafana-enterprise-12.4.2-1.x86_64.rpm 100%[===========================================>] 83.64M 25.5MB/s in 3s
# 下载Grafana Linux AMD64 DEB包
$ wget https://dl.grafana.com/enterprise/release/grafana-enterprise_12.4.2_amd64.deb
# 输出示例如下:
–2026-04-04 10:15:00– https://dl.grafana.com/enterprise/release/grafana-enterprise_12.4.2_amd64.deb
Resolving dl.grafana.com… 192.168.1.100
Connecting to dl.grafana.com|192.168.1.100|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 87654321 (84M) [application/vnd.debian.binary-package]
Saving to: ‘grafana-enterprise_12.4.2_amd64.deb’
grafana-enterprise_12.4.2_amd64.deb 100%[===========================================>] 83.64M 25.5MB/s in 3s
# 下载Grafana TAR.GZ包
$ wget https://dl.grafana.com/enterprise/release/grafana-enterprise-12.4.2.linux-amd64.tar.gz
# 输出示例如下:
–2026-04-04 10:15:00– https://dl.grafana.com/enterprise/release/grafana-enterprise-12.4.2.linux-amd64.tar.gz
Resolving dl.grafana.com… 192.168.1.100
Connecting to dl.grafana.com|192.168.1.100|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 98765432 (94M) [application/gzip]
Saving to: ‘grafana-enterprise-12.4.2.linux-amd64.tar.gz’
grafana-enterprise-12.4.2.linux-amd64.tar.gz 100%[===========================================>] 94.18M 25.5MB/s in 4s
4. Docker安装方式
Docker是部署Grafana最简单的方式。from:www.itpux.com
$ docker pull grafana/grafana-enterprise:12.4.2
# 输出示例如下:
12.4.2: Pulling from grafana/grafana-enterprise
Digest: sha256:abc123def456…
Status: Downloaded newer image for grafana/grafana-enterprise:12.4.2
docker.io/grafana/grafana-enterprise:12.4.2
# 创建数据目录
$ mkdir -p /fgeudb/grafana/data /fgeudb/grafana/plugins
# 启动Grafana容器
$ docker run -d –name grafana \
-p 3000:3000 \
-v /fgeudb/grafana/data:/var/lib/grafana \
-v /fgeudb/grafana/plugins:/var/lib/grafana/plugins \
-e “GF_SECURITY_ADMIN_USER=admin” \
-e “GF_SECURITY_ADMIN_PASSWORD=fgedu@123” \
-e “GF_INSTALL_PLUGINS=redis-datasource,grafana-clock-panel” \
grafana/grafana-enterprise:12.4.2
# 输出示例如下:
abc123def456789…
# 查看容器状态
$ docker ps
# 输出示例如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abc123def456 grafana/grafana-enterprise:12.4.2 “/run.sh” 5 seconds ago Up 4 seconds 0.0.0.0:3000->3000/tcp grafana
# 查看日志
$ docker logs grafana
# 输出示例如下:
logger=settings t=2026-04-04T10:30:00.000000000Z level=info msg=”Starting Grafana” version=12.4.2
logger=server t=2026-04-04T10:30:00.100000000Z level=info msg=”HTTP Server Listen” address=[::]:3000 protocol=http subUrl= socket=
5. 安装介质说明
Grafana提供多种安装介质,用户可根据实际需求选择。学习交流加群风哥QQ113257174
安装包类型
RPM包:RHEL/CentOS/Fedora专用
DEB包:Ubuntu/Debian专用
TAR.GZ包:Linux通用安装包
Docker镜像:跨平台通用
使用RPM安装(RHEL/CentOS)
# yum install -y initscripts urw-fonts
# 安装Grafana
# rpm -ivh grafana-enterprise-12.4.2-1.x86_64.rpm
# 输出示例如下:
Preparing… ################################# [100%]
Updating / installing…
1:grafana-enterprise-12.4.2-1 ################################# [100%]
### NOT starting on installation, please execute the following statements to configure grafana to start automatically using systemd
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable grafana-server
### You can start grafana-server by executing
sudo /bin/systemctl start grafana-server
# 启动服务
# systemctl start grafana-server
# systemctl enable grafana-server
# 输出示例如下:
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service.
# 查看服务状态
# systemctl status grafana-server
# 输出示例如下:
● grafana-server.service – Grafana instance
Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled)
Active: active (running) since Fri 2026-04-04 10:30:00 CST; 5s ago
Main PID: 12345 (grafana-server)
Tasks: 10 (limit: 4915)
Memory: 200.0M
CGroup: /system.slice/grafana-server.service
└─12345 /usr/sbin/grafana-server –config=/etc/grafana/grafana.ini –pidfile=/var/run/grafana/grafana-server.pid
使用DEB安装(Ubuntu/Debian)
$ sudo apt-get install -y adduser libfontconfig1
# 安装Grafana
$ sudo dpkg -i grafana-enterprise_12.4.2_amd64.deb
# 输出示例如下:
Selecting previously unselected package grafana-enterprise.
(Reading database … 123456 files and directories currently installed.)
Preparing to unpack grafana-enterprise_12.4.2_amd64.deb …
Unpacking grafana-enterprise (12.4.2) …
Setting up grafana-enterprise (12.4.2) …
# 启动服务
$ sudo systemctl start grafana-server
$ sudo systemctl enable grafana-server
# 输出示例如下:
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service.
6. 系统配置方法
Grafana安装后需要进行基本配置,以下是常用配置方法。更多学习教程公众号风哥教程itpux_com
配置文件说明
# vi /etc/grafana/grafana.ini
# 主要配置参数
[server]
http_addr = 0.0.0.0
http_port = 3000
domain = fgedu.net.cn
root_url = http://fgedu.net.cn:3000/
[database]
type = sqlite3
path = /fgeudb/grafana/grafana.db
[session]
provider = file
provider_config = sessions
[security]
admin_user = admin
admin_password = fgedu@123
secret_key = SW2YcwTIb9zpOOhoPsMm
[auth.anonymous]
enabled = false
[dashboards]
default_home_dashboard_path = /var/lib/grafana/dashboards/home.json
[paths]
data = /fgeudb/grafana/data
logs = /fgeudb/grafana/log
plugins = /fgeudb/grafana/plugins
provisioning = /etc/grafana/provisioning
# 重启服务
# systemctl restart grafana-server
# 输出示例如下:
# systemctl status grafana-server
# 输出示例如下:
● grafana-server.service – Grafana instance
Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled)
Active: active (running) since Fri 2026-04-04 10:35:00 CST; 5s ago
命令行操作
# grafana-cli admin reset-admin-password newpassword
# 输出示例如下:
INFO[04-04|10:30:00] Connecting to DB logger=sqlstore dbtype=sqlite3
INFO[04-04|10:30:00] Starting DB migration logger=migrator
INFO[04-04|10:30:00] Executing migration logger=migrator id=”create user table”
INFO[04-04|10:30:00] Executing migration logger=migrator id=”update admin password”
INFO[04-04|10:30:00] Admin password changed successfully logger=sqlstore
# 安装插件
# grafana-cli plugins install redis-datasource
# 输出示例如下:
installing redis-datasource @ 2.1.0
from: https://grafana.com/api/plugins/redis-datasource/versions/2.1.0/download
into: /var/lib/grafana/plugins
✔ Installed redis-datasource successfully
# 重启Grafana使插件生效
# systemctl restart grafana-server
# 查看已安装插件
# grafana-cli plugins ls
# 输出示例如下:
installed plugins:
redis-datasource @ 2.1.0
grafana-clock-panel @ 2.1.0
7. 生产环境建议
在生产环境中使用Grafana时,需要考虑以下因素:
高可用配置
[database]
type = mysql
host = 192.168.1.51:3306
name = grafana
user = grafana
password = grafana@123
# 创建数据库
$ mysql -u root -p
# 输出示例如下:
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12345
Server version: 8.0.36 MySQL Community Server – GPL
mysql> CREATE DATABASE grafana CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Query OK, 1 row affected (0.01 sec)
mysql> CREATE USER ‘grafana’@’%’ IDENTIFIED BY ‘grafana@123’;
Query OK, 0 rows affected (0.02 sec)
mysql> GRANT ALL PRIVILEGES ON grafana.* TO ‘grafana’@’%’;
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
# 配置会话存储(使用Redis)
[session]
provider = redis
provider_config = addr=192.168.1.51:6379,pool_size=100,db=grafana
# 配置告警
[unified_alerting]
enabled = true
execute_alerts = true
evaluation_timeout_seconds = 30
max_attempts = 3
安全配置
[server]
protocol = https
cert_file = /etc/grafana/ssl/fgedu.net.cn.crt
cert_key = /etc/grafana/ssl/fgedu.net.cn.key
# 配置LDAP认证
[auth.ldap]
enabled = true
config_file = /etc/grafana/ldap.toml
# LDAP配置文件
# vi /etc/grafana/ldap.toml
[[servers]]
host = “192.168.1.51”
port = 389
use_ssl = false
start_tls = false
ssl_skip_verify = false
bind_dn = “cn=admin,dc=fgedu,dc=net,dc=cn”
bind_password = ‘admin@123’
search_filter = “(cn=%s)”
search_base_dns = [“dc=fgedu,dc=net,dc=cn”]
[servers.attributes]
name = “givenName”
surname = “sn”
username = “cn”
member_of = “memberOf”
email = “email”
8. 数据源配置
Grafana支持多种数据源,以下是常用数据源配置:
配置Prometheus数据源
$ curl -X POST http://admin:fgedu@123@localhost:3000/api/datasources \
-H “Content-Type: application/json” \
-d ‘{
“name”: “Prometheus”,
“type”: “prometheus”,
“url”: “http://192.168.1.51:9090”,
“access”: “proxy”,
“isDefault”: true
}’
# 输出示例如下:
{“id”:1,”message”:”Datasource added”,”name”:”Prometheus”}
# 通过配置文件添加数据源
# vi /etc/grafana/provisioning/datasources/prometheus.yml
apiVersion: 1
datasources:
– name: Prometheus
type: prometheus
access: proxy
url: http://192.168.1.51:9090
isDefault: true
editable: true
配置MySQL数据源
$ curl -X POST http://admin:fgedu@123@localhost:3000/api/datasources \
-H “Content-Type: application/json” \
-d ‘{
“name”: “MySQL”,
“type”: “mysql”,
“url”: “192.168.1.51:3306”,
“database”: “fgedb”,
“user”: “grafana”,
“secureJsonData”: {
“password”: “grafana@123”
},
“jsonData”: {
“maxOpenConns”: 10,
“maxIdleConns”: 5,
“connMaxLifetime”: 14400
}
}’
# 输出示例如下:
{“id”:2,”message”:”Datasource added”,”name”:”MySQL”}
配置InfluxDB数据源
$ curl -X POST http://admin:fgedu@123@localhost:3000/api/datasources \
-H “Content-Type: application/json” \
-d ‘{
“name”: “InfluxDB”,
“type”: “influxdb”,
“url”: “http://192.168.1.51:8086”,
“database”: “fgedb”,
“user”: “admin”,
“secureJsonData”: {
“password”: “admin@123”
}
}’
# 输出示例如下:
{“id”:3,”message”:”Datasource added”,”name”:”InfluxDB”}
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
