1. Grafana简介与版本说明
Grafana是开源的数据可视化和监控平台,支持多种数据源,提供丰富的图表和告警功能。Grafana广泛应用于IT基础设施监控、应用性能监控、业务指标可视化等场景。更多学习教程www.fgedu.net.cn
Grafana最新版本:
Grafana 11.5.2(2026年3月发布)- 最新稳定版
Grafana 11.4.4(2026年2月发布)- 稳定版
Grafana 11.3.5(2026年1月发布)- 稳定版
Grafana 10.4.10(2025年12月发布)- LTS长期支持版
Grafana核心特性:
多数据源支持:Prometheus、InfluxDB、MySQL、PostgreSQL等
丰富的可视化:时序图、仪表盘、表格、热力图等
告警功能:支持多种通知渠道和告警规则
插件生态:丰富的官方和社区插件
用户管理:支持团队协作和权限控制
2. Grafana下载地址
Grafana支持多种操作系统和部署方式,可以从官方下载页面获取。学习交流加群风哥微信: itpux-com
官方下载地址:
Grafana官方网站:https://grafana.com/
Grafana下载页面:https://grafana.com/grafana/download
Grafana GitHub仓库:https://github.com/grafana/grafana
$ curl -s “https://api.github.com/repos/grafana/grafana/releases/latest” | grep -E ‘”tag_name”|”name”|”published_at”‘
输出示例如下:
“tag_name”: “v11.5.2”,
“name”: “11.5.2”,
“published_at”: “2026-03-15T10:00:00Z”,
# 查看所有可用版本
$ curl -s “https://api.github.com/repos/grafana/grafana/releases” | grep ‘”tag_name”‘ | head -10
输出示例如下:
“tag_name”: “v11.5.2”,
“tag_name”: “v11.4.4”,
“tag_name”: “v11.3.5”,
“tag_name”: “v10.4.10”,
“tag_tag”: “v11.5.1”,
各平台下载链接:
Linux x64 RPM:https://dl.grafana.com/oss/release/grafana-11.5.2-1.x86_64.rpm
Linux x64 DEB:https://dl.grafana.com/oss/release/grafana_11.5.2_amd64.deb
Linux x64 tar.gz:https://dl.grafana.com/oss/release/grafana-11.5.2.linux-amd64.tar.gz
Docker镜像:docker pull grafana/grafana:11.5.2
Windows:https://dl.grafana.com/oss/release/grafana-11.5.2.windows-amd64.zip
3. Linux系统安装Grafana
Grafana支持多种Linux发行版,可以使用包管理器或二进制文件安装。风哥提示:生产环境建议使用包管理器安装,便于后续升级维护。
步骤1:RHEL/CentOS/Oracle Linux安装
# cat > /etc/yum.repos.d/grafana.repo << 'EOF' [grafana] name=grafana baseurl=https://rpm.grafana.com repo_gpgcheck=1 enabled=1 gpgcheck=1 gpgkey=https://rpm.grafana.com/gpg.key sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt EOF # 安装Grafana # yum install -y grafana 输出示例如下: Last metadata expiration check: 0:00:15 ago on Sat Apr 4 10:00:00 2026. grafana 15 kB/s | 1.6 kB 00:00 Dependencies resolved. ================================================================================ Package Architecture Version Repository Size ================================================================================ Installing: grafana x86_64 11.5.2-1 grafana 85 M Transaction Summary ================================================================================ Install 1 Package Total download size: 85 M Installed size: 200 M Downloading Packages: grafana-11.5.2-1.x86_64.rpm 15 MB/s | 85 MB 00:05 -------------------------------------------------------------------------------- Total 15 MB/s | 85 MB 00:05 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: grafana-11.5.2-1.x86_64 1/1 Installing : grafana-11.5.2-1.x86_64 1/1 Running scriptlet: grafana-11.5.2-1.x86_64 1/1 Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service. Verifying : grafana-11.5.2-1.x86_64 1/1 Installed: grafana-11.5.2-1.x86_64 Complete!
步骤2:Ubuntu/Debian安装
$ sudo apt-get install -y apt-transport-https software-properties-common wget
# 添加GPG密钥
$ wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
# 添加Grafana仓库
$ echo “deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main” | sudo tee -a /etc/apt/sources.list.d/grafana.list
# 更新并安装
$ sudo apt-get update
$ sudo apt-get install -y grafana
输出示例如下:
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
The following NEW packages will be installed:
grafana
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 85.0 MB of archives.
After this operation, 200 MB of additional disk space will be used.
Get:1 https://apt.grafana.com stable/main amd64 grafana amd64 11.5.2 [85.0 MB]
Fetched 85.0 MB in 10s (8500 kB/s)
Selecting previously unselected package grafana.
(Reading database … 150000 files and directories currently installed.)
Preparing to unpack …/grafana_11.5.2_amd64.deb …
Unpacking grafana (11.5.2) …
Setting up grafana (11.5.2) …
Adding system user `grafana’ (UID 123) …
Adding new user `grafana’ (UID 123) with group `grafana’ …
Creating home directory `/usr/share/grafana’ …
### 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
sudo /bin/systemctl start grafana-server
Processing triggers for man-db (2.10.2-1) …
步骤3:启动Grafana服务
# 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; vendor preset: disabled)
Active: active (running) since Sat 2026-04-04 10:00:00 CST; 10s ago
Docs: http://docs.grafana.org
Main PID: 12345 (grafana-server)
Tasks: 15 (limit: 49143)
Memory: 128.0M
CGroup: /system.slice/grafana-server.service
└─12345 /usr/sbin/grafana-server –config=/etc/grafana/grafana.ini –pidfile=/var/run/grafana/grafana-server.pid –packaging=deb cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins cfg:default.paths.provisioning=/etc/grafana/provisioning
# 验证安装
# grafana-server -v
输出示例如下:
Version 11.5.2 (Commit: abc123def, Branch: HEAD)
# 访问Web界面
# http://192.168.1.51:3000
# 默认用户名:admin
# 默认密码:admin
4. Docker方式部署Grafana
使用Docker部署Grafana是生产环境常用的方式,便于管理和升级。学习交流加群风哥QQ113257174
步骤1:拉取Grafana镜像
# docker pull grafana/grafana:latest
输出示例如下:
latest: Pulling from grafana/grafana
Digest: sha256:abc123def456…
Status: Downloaded newer image for grafana/grafana:latest
docker.io/grafana/grafana:latest
# 拉取指定版本镜像
# docker pull grafana/grafana:11.5.2
输出示例如下:
11.5.2: Pulling from grafana/grafana
7a9868e23051: Pull complete
…
Digest: sha256:abc123def456…
Status: Downloaded newer image for grafana/grafana:11.5.2
docker.io/grafana/grafana:11.5.2
# 查看本地镜像
# docker images | grep grafana
输出示例如下:
grafana/grafana latest abc123def456 2 days ago 350MB
grafana/grafana 11.5.2 abc123def456 2 days ago 350MB
步骤2:创建Grafana容器
# mkdir -p /fgedudb/grafana/{data,plugins,provisioning}
# 启动Grafana容器
# docker run -d –name grafana \
–restart always \
-p 3000:3000 \
-e “GF_SECURITY_ADMIN_USER=admin” \
-e “GF_SECURITY_ADMIN_PASSWORD=Admin@2026” \
-e “GF_USERS_ALLOW_SIGN_UP=false” \
-e “GF_SERVER_ROOT_URL=http://grafana.fgedu.net.cn” \
-e “GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-piechart-panel” \
-v /fgedudb/grafana/data:/var/lib/grafana \
-v /fgedudb/grafana/plugins:/var/lib/grafana/plugins \
-v /fgedudb/grafana/provisioning:/etc/grafana/provisioning \
grafana/grafana:11.5.2
输出示例如下:
f8e7d8a9c0b1a2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7
# 查看容器状态
# docker ps | grep grafana
输出示例如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f8e7d8a9c0b1 grafana/grafana:11.5.2 “/run.sh” 10 seconds ago Up 9 seconds 0.0.0.0:3000->3000/tcp grafana
步骤3:使用Docker Compose部署
# cat > /fgedudb/grafana/docker-compose.yml << 'EOF' version: '3.8' services: grafana: image: grafana/grafana:11.5.2 container_name: grafana restart: always ports: - "3000:3000" environment: - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=Admin@2026 - GF_USERS_ALLOW_SIGN_UP=false - GF_SERVER_ROOT_URL=http://grafana.fgedu.net.cn - GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-piechart-panel - GF_AUTH_ANONYMOUS_ENABLED=false - GF_AUTH_BASIC_ENABLED=true - TZ=Asia/Shanghai volumes: - ./data:/var/lib/grafana - ./plugins:/var/lib/grafana/plugins - ./provisioning:/etc/grafana/provisioning logging: driver: "json-file" options: max-size: "100m" max-file: "3" EOF # 启动服务 # cd /fgedudb/grafana # docker-compose up -d 输出示例如下: Creating network "grafana_default" with the default driver Creating grafana ... done # 查看服务状态 # docker-compose ps 输出示例如下: Name Command State Ports ------------------------------------------------------------------------ grafana /run.sh Up 0.0.0.0:3000->3000/tcp
5. Grafana数据源配置实战
Grafana支持多种数据源,配置数据源是创建Dashboard的前提。更多学习教程公众号风哥教程itpux_com
步骤1:配置Prometheus数据源
$ curl -X POST “http://admin:Admin@2026@192.168.1.51: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,
“uid”: “PDXXXXXXXX”,
“orgId”: 1,
“name”: “Prometheus”,
“type”: “prometheus”,
“typeLogoUrl”: “public/app/plugins/datasource/prometheus/img/prometheus_logo.svg”,
“access”: “proxy”,
“url”: “http://192.168.1.51:9090”,
“isDefault”: true
}
# 验证数据源
$ curl “http://admin:Admin@2026@192.168.1.51:3000/api/datasources/proxy/1/api/v1/query?query=up”
输出示例如下:
{
“status”: “success”,
“data”: {
“resultType”: “vector”,
“result”: [
{
“metric”: {
“__name__”: “up”,
“job”: “prometheus”,
“instance”: “localhost:9090”
},
“value”: [1712217600, “1”]
}
]
}
}
步骤2:配置MySQL数据源
$ curl -X POST “http://admin:Admin@2026@192.168.1.51:3000/api/datasources” \
-H “Content-Type: application/json” \
-d ‘{
“name”: “MySQL”,
“type”: “mysql”,
“url”: “192.168.1.51:3306”,
“database”: “monitor”,
“user”: “grafana”,
“secureJsonData”: {
“password”: “Grafana@2026”
},
“jsonData”: {
“maxOpenConns”: 10,
“maxIdleConns”: 5,
“connMaxLifetime”: 14400
}
}’
输出示例如下:
{
“id”: 2,
“uid”: “MYXXXXXXXX”,
“orgId”: 1,
“name”: “MySQL”,
“type”: “mysql”,
“typeLogoUrl”: “public/app/plugins/datasource/mysql/img/mysql-logo.svg”,
“access”: “proxy”,
“url”: “192.168.1.51:3306”,
“database”: “monitor”,
“isDefault”: false
}
步骤3:配置Zabbix数据源
# grafana-cli plugins install alexanderzobnin-zabbix-app
输出示例如下:
installing alexanderzobnin-zabbix-app @ 4.2.8
from: https://grafana.com/api/plugins/alexanderzobnin-zabbix-app/versions/4.2.8/download
into: /var/lib/grafana/plugins
✔ Installed alexanderzobnin-zabbix-app successfully
Restart grafana after installing plugins .
# 重启Grafana
# systemctl restart grafana-server
# 添加Zabbix数据源
$ curl -X POST “http://admin:Admin@2026@192.168.1.51:3000/api/datasources” \
-H “Content-Type: application/json” \
-d ‘{
“name”: “Zabbix”,
“type”: “alexanderzobnin-zabbix-datasource”,
“url”: “http://192.168.1.51/zabbix/api_jsonrpc.php”,
“access”: “proxy”,
“jsonData”: {
“username”: “Admin”,
“password”: “zabbix”
}
}’
输出示例如下:
{
“id”: 3,
“uid”: “ZBXXXXXXXX”,
“orgId”: 1,
“name”: “Zabbix”,
“type”: “alexanderzobnin-zabbix-datasource”,
“typeLogoUrl”: “public/plugins/alexanderzobnin-zabbix-datasource/img/zabbix_logo.svg”,
“access”: “proxy”,
“url”: “http://192.168.1.51/zabbix/api_jsonrpc.php”
}
6. Grafana生产环境配置
生产环境需要对Grafana进行优化配置,确保稳定性和安全性。from:www.itpux.com
步骤1:配置数据库后端
# vi /etc/grafana/grafana.ini
[database]
type = mysql
host = 192.168.1.51:3306
name = grafana
user = grafana
password = Grafana@2026
ssl_mode = disable
max_open_conn = 10
max_idle_conn = 5
conn_max_lifetime = 14400
# 创建Grafana数据库
# mysql -uroot -p
mysql> CREATE DATABASE grafana CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> CREATE USER ‘grafana’@’%’ IDENTIFIED BY ‘Grafana@2026’;
mysql> GRANT ALL PRIVILEGES ON grafana.* TO ‘grafana’@’%’;
mysql> FLUSH PRIVILEGES;
# 重启Grafana
# systemctl restart grafana-server
步骤2:配置LDAP认证
# vi /etc/grafana/grafana.ini
[auth.ldap]
enabled = true
config_file = /etc/grafana/ldap.toml
# 创建LDAP配置文件
# cat > /etc/grafana/ldap.toml << 'EOF'
[[servers]]
host = "192.168.1.100"
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@2026"
search_filter = "(cn=%s)"
search_base_dns = ["ou=users,dc=fgedu,dc=net,dc=cn"]
group_search_filter = "(&(objectClass=posixGroup)(memberUid=%s))"
group_search_base_dns = ["ou=groups,dc=fgedu,dc=net,dc=cn"]
[servers.attributes]
name = "givenName"
surname = "sn"
username = "cn"
member_of = "memberOf"
email = "email"
[[servers.group_mappings]]
group_dn = "cn=grafana-admins,ou=groups,dc=fgedu,dc=net,dc=cn"
org_role = "Admin"
[[servers.group_mappings]]
group_dn = "cn=grafana-editors,ou=groups,dc=fgedu,dc=net,dc=cn"
org_role = "Editor"
[[servers.group_mappings]]
group_dn = "*"
org_role = "Viewer"
EOF
# 重启Grafana
# systemctl restart grafana-server
步骤3:配置告警通知
# vi /etc/grafana/grafana.ini
[smtp]
enabled = true
host = smtp.fgedu.net.cn:587
user = alert@fgedu.net.cn
password = Alert@2026
from_address = alert@fgedu.net.cn
from_name = Grafana Alert
[emails]
welcome_email_on_sign_up = false
# 配置Webhook通知
$ curl -X POST “http://admin:Admin@2026@192.168.1.51:3000/api/alert-notifications” \
-H “Content-Type: application/json” \
-d ‘{
“name”: “Webhook”,
“type”: “webhook”,
“isDefault”: false,
“settings”: {
“url”: “http://192.168.1.51:8080/alert”,
“httpMethod”: “POST”
}
}’
输出示例如下:
{
“id”: 1,
“uid”: “WHXXXXXXXX”,
“name”: “Webhook”,
“type”: “webhook”,
“isDefault”: false
}
# 配置钉钉通知
$ curl -X POST “http://admin:Admin@2026@192.168.1.51:3000/api/alert-notifications” \
-H “Content-Type: application/json” \
-d ‘{
“name”: “DingTalk”,
“type”: “dingding”,
“isDefault”: true,
“settings”: {
“url”: “https://oapi.dingtalk.com/robot/send?access_token=YOUR_TOKEN”
}
}’
输出示例如下:
{
“id”: 2,
“uid”: “DTXXXXXXXX”,
“name”: “DingTalk”,
“type”: “dingding”,
“isDefault”: true
}
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
