一、监控实现预览

二、系统环境准备
- 操作系统:支持 Linux(CentOS、Ubuntu 等)、Windows、macOS。
- 内存/CPU:一般 1C2G 以上即可,生产建议 2C4G 及以上。
- 网络要求:服务器需能访问外部数据源和本地端口(默认 3000)。
三、安装方式一:通过官方二进制包安装(通用)
1. 下载 Grafana 安装包
前往 Grafana 官方下载页面 选择合适版本。
以 Linux x64 为例:
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.2.linux-amd64.tar.gz
2. 解压安装包
tar -zxvf grafana-enterprise-10.2.2.linux-amd64.tar.gz
cd grafana-10.2.2
3. 启动 Grafana
./bin/grafana-server web
4. 默认访问
- 默认端口:
http://<your-ip>:3000 - 默认账号:
admin - 默认密码:
admin(首次登录会要求修改)
5. 设置为后台服务(可选)
可用 systemd 配置服务,便于开机自启和管理。
四、安装方式二:通过包管理器安装(推荐生产环境)
1. CentOS/RHEL(YUM)
sudo yum install -y https://dl.grafana.com/oss/release/grafana-10.2.2-1.x86_64.rpm
sudo systemctl daemon-reload
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
2. Ubuntu/Debian(APT)
sudo apt-get install -y apt-transport-https software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
3. 检查服务状态
sudo systemctl status grafana-server
五、安装方式三:Docker 部署(非常推荐测试/开发环境)
1. 拉取官方镜像
docker pull grafana/grafana:latest
2. 启动 Grafana 容器
docker run -d --name=grafana -p 3000:3000 grafana/grafana
3. 数据持久化(挂载本地目录)
docker run -d \
--name=grafana \
-p 3000:3000 \
-v /your/local/grafana/data:/var/lib/grafana \
grafana/grafana
4. 配置环境变量(如修改默认账号密码)
docker run -d \
--name=grafana \
-p 3000:3000 \
-e "GF_SECURITY_ADMIN_PASSWORD=yourpassword" \
grafana/grafana
六、安装方式四:Kubernetes 部署(适合大规模/云原生环境)
1. 使用官方 Helm Chart(推荐)
- 安装 Helm(如未安装):
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
- 添加 Grafana Helm 仓库:
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
- 安装 Grafana:
helm install my-grafana grafana/grafana --namespace monitoring --create-namespace
- 查看默认管理员密码:
kubectl get secret --namespace monitoring my-grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
2. 访问 Grafana
- 通过
kubectl port-forward访问:
kubectl port-forward svc/my-grafana 3000:80 -n monitoring
- 浏览器访问
http://localhost:3000
七、Grafana 配置与优化
1. 配置文件路径
- 默认配置文件:
/etc/grafana/grafana.ini - 可通过环境变量或启动参数指定其它配置文件。
2. 常用配置项
- 修改端口:
[server]下http_port = 3000 - 配置数据源、邮件、LDAP、OAuth 等。
- 日志存储、数据目录、插件目录等。
3. 防火墙与安全
- 放通 3000 端口(如有防火墙)。
- 修改默认管理员密码。
- 配置 HTTPS(可选)。
八、常见问题与排查
- 端口被占用:检查 3000 端口,或修改为其它端口。
- 无法访问 Web 页面:检查防火墙、SELinux、安全组。
- 启动失败:查看日志
/var/log/grafana/grafana.log或docker logs grafana。 - 插件安装失败:检查网络和权限,或手动下载插件。
九、后续操作
- 登录 Web 管理界面(http://服务器IP:3000)。
- 添加数据源(如 Prometheus、MySQL、Elasticsearch 等)。
- 导入/创建仪表板,开始数据可视化。
总结
Grafana 安装部署非常灵活,适合各种规模和环境。推荐生产环境用包管理器或 K8s,开发测试用 Docker。安装后记得及时修改默认密码和配置防火墙安全。
十、Grafana 安装后常用配置
1. 修改默认管理员密码
- 首次登录后会提示修改密码,也可在 Web 界面右上角用户菜单选择“Change Password”修改。
- 推荐密码复杂且定期更换。
2. 配置文件详解
- 配置路径(Linux):
/etc/grafana/grafana.ini - 常用配置如下:
[server]
http_port = 3000 # Web服务端口
domain = your.domain.com # 绑定域名(可选)
root_url = %(protocol)s://%(domain)s:%(http_port)s/
[security]
admin_user = admin
admin_password = yourpassword
- 修改后需重启 Grafana 服务:
sudo systemctl restart grafana-server
3. 设置 HTTPS
- 推荐生产环境使用 HTTPS,需配置证书:
[server]
protocol = https
cert_file = /path/to/your/cert.pem
cert_key = /path/to/your/key.pem
十一、添加数据源(以 Prometheus 为例)
1. 登录 Grafana Web 管理界面(http://服务器IP:3000)
2. 进入“数据源”管理
- 左侧菜单栏 → “齿轮”图标 → “Data Sources” → “Add data source”
3. 选择数据源类型
- 选择“Prometheus”,也可以选择 MySQL、Elasticsearch、InfluxDB 等。
4. 配置数据源连接信息
-
如 Prometheus:
- URL:
http://your-prometheus-server:9090 - Access:
Server(推荐,Grafana 服务器能直接访问 Prometheus) - 其它认证参数按需填写。
- URL:
5. 点击“Save & Test”
- 显示“Data source is working”即配置成功。
十二、创建仪表板与面板
1. 新建仪表板
- 左侧菜单栏 → “+” → “Dashboard” → “Add new panel”
2. 添加面板(Panel)
- 在新仪表板中点击“Add new panel”
- 选择数据源(如 Prometheus),填写查询表达式(如
up) - 下方可以选择图表类型(时间序列、饼图、表格等)
- 配置面板标题、单位、颜色、阈值等
3. 保存仪表板
- 点击右上角“Save dashboard”,输入名称,保存即可。
4. 导入/导出仪表板
- 仪表板页面右上角 → “Share” → “Export” 可导出 JSON 文件
- 新建仪表板时选择“Import”,粘贴 JSON 或上传文件即可复用
四、插件管理与扩展
1. 插件市场
2. 在线安装插件
- 以安装饼图插件为例:
grafana-cli plugins install grafana-piechart-panel
sudo systemctl restart grafana-server
3. 插件管理
- Web端:左侧菜单栏 → “齿轮” → “Plugins”,可启用/禁用/查看详情
- 插件目录:
/var/lib/grafana/plugins
4. 升级插件
grafana-cli plugins update-all
sudo systemctl restart grafana-server
十四、用户与权限管理
1. 新增用户
- 左侧菜单栏 → “齿轮” → “Users” → “Add user”
- 填写用户名、邮箱、密码等
2. 角色分配
- 用户可分为 Admin、Editor、Viewer
- 可在“组织”中管理用户角色与权限
3. 单点登录/LDAP 集成
- 修改
grafana.ini中相关配置 - 支持 OAuth、LDAP、SAML 等企业认证方式
十五、告警(Alert)配置
1. 新建告警规则
- 仪表板面板编辑页面 → “Alert” 标签页
- 设置告警条件(如阈值、表达式)
- 配置通知渠道(邮件、Webhook、钉钉等)
2. 告警通知集成
- “Alerting” → “Notification channels” 添加通知方式
- 支持定制告警模板和静默期
十六、运维与优化建议
1. 日志查看与排查
- 日志文件位置:
/var/log/grafana/grafana.log - 启动/运行异常时,优先查看日志定位问题
2. 数据备份
- 定期备份
/var/lib/grafana目录(包含数据库、配置、插件等) - 可用 rsync、tar 等工具实现
3. 自动化部署
- 推荐使用 Ansible、SaltStack、Terraform 等自动化工具
- Docker/K8s 环境可用 Helm Chart 实现一键部署和升级
4. 性能优化
- 面板数量不宜过多,避免单页数据量过大
- 合理设置数据源查询周期,防止频繁拉取导致数据源压力
- 大规模部署建议使用反向代理、负载均衡
十七、常见问题汇总
| 问题 | 解决方法 |
|---|---|
| 无法访问 Web | 检查端口、防火墙、SELinux、安全组设置 |
| 插件安装失败 | 检查网络、权限,或手动下载安装包放到插件目录 |
| 数据源连接异常 | 检查数据源服务状态、网络连通性、认证信息 |
| 告警不触发 | 检查告警条件、数据源返回值、通知渠道配置 |
| 登录失败 | 检查用户密码、LDAP/OAuth 配置、日志文件 |
十八、Grafana 运维管理进阶
1. 数据库备份与恢复
Grafana 的配置、仪表板、用户等数据默认保存在 SQLite 数据库(/var/lib/grafana/grafana.db),也可以配置 MySQL/PostgreSQL。
备份数据库:
cp /var/lib/grafana/grafana.db /backup/path/grafana.db.bak
恢复数据库:
systemctl stop grafana-server
cp /backup/path/grafana.db.bak /var/lib/grafana/grafana.db
systemctl start grafana-server
切换数据库类型:
编辑 /etc/grafana/grafana.ini,配置如下:
[database]
type = mysql
host = 127.0.0.1:3306
name = grafana
user = grafana
password = yourpassword
然后重启服务。
2. 日志管理与监控
查看日志:
tail -f /var/log/grafana/grafana.log
日志级别可在 grafana.ini 配置:
[log]
level = info # 可选:debug, info, warn, error
常见日志问题排查:
- 启动失败:检查端口占用、配置文件语法
- 插件加载异常:检查插件目录和权限
- 数据源连接失败:查看具体错误原因、网络连通性
3. 升级与回滚
升级 Grafana(以 apt 为例):
sudo apt-get update
sudo apt-get upgrade grafana
升级前建议备份数据库和配置文件。
回滚版本:
重新安装旧版本包,并恢复数据库和配置。
十九、自动化运维脚本示例
1. 仪表板自动导入脚本(使用 API)
curl -X POST http://localhost:3000/api/dashboards/db \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API_TOKEN>" \
-d @dashboard.json
<API_TOKEN>可在 Web 界面 → 配置 → API Keys 生成@dashboard.json是仪表板的 JSON 文件
2. 批量添加用户脚本
curl -X POST http://localhost:3000/api/admin/users \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API_TOKEN>" \
-d '{"name":"user1","email":"user1@example.com","login":"user1","password":"password1"}'
3. 插件自动安装脚本
grafana-cli plugins install grafana-clock-panel
systemctl restart grafana-server
二十、常见场景实战
1. 多环境部署(测试/生产分离)
- 配置不同端口、不同数据库
- 使用不同数据源(如测试环境用 mock 数据,生产环境连接真实数据源)
- 可用 Docker Compose 或 Kubernetes 多实例部署
2. 企业级认证集成
- 支持 LDAP/Active Directory
- 在
grafana.ini配置相关参数,重启服务后生效 - 可实现统一用户管理和单点登录(SSO)
3. 多租户/多组织管理
- 在 Web 界面创建多个 Organization
- 不同组织拥有独立的仪表板、数据源、用户
- 用户可切换组织,权限隔离
二十一、性能优化与高可用
1. 前端优化
- 仪表板不要放太多面板,建议分页面
- 图表查询周期合理设置,避免秒级刷新
2. 后端优化
- 部署在高性能服务器或云主机
- 数据库建议用 MySQL/PostgreSQL,适合大规模数据
- 支持多实例部署,结合负载均衡和反向代理(如 Nginx)
3. 数据源优化
- Prometheus、Elasticsearch 等数据源建议本地部署或专线连接
- 查询表达式尽量简化,避免全量拉取
二十二、故障排查与恢复
1. Web 页面无法访问
- 检查服务是否启动:
systemctl status grafana-server - 检查端口是否被占用:
netstat -tunlp | grep 3000 - 检查防火墙和安全组设置
2. 数据源连接失败
- 检查数据源服务状态和网络连通
- 检查数据源认证信息
- 查看 Grafana 日志定位错误
3. 插件异常
- 检查插件兼容性和版本
- 卸载/重新安装插件
- 查看插件目录权限
4. 仪表板丢失
- 检查数据库备份
- 使用导出的 JSON 文件恢复仪表板

3800

被折叠的 条评论
为什么被折叠?



