了解 Grafana,安装Grafana
1. 什么是 Grafana?
Grafana 是一个开源的数据可视化和监控工具,广泛用于 监控、数据分析和告警,适用于 IT 运维、DevOps、业务分析等领域。它能够连接多种数据源,如 Prometheus、InfluxDB、Elasticsearch、MySQL,并提供直观的 仪表板(Dashboards)。
Grafana 的特点:
- 开源免费,支持企业版扩展
- 丰富的数据源支持,兼容时序数据库、关系型数据库和日志管理系统
- 强大的可视化功能,支持折线图、柱状图、表格、热力图等
- 告警系统,可集成 Slack、Webhook、邮件等通知渠道
- 权限管理,支持团队协作和权限控制
2. Grafana 的核心功能
(1)数据可视化
Grafana 提供了多种图表,如 折线图、饼图、表格、热力图,支持自定义查询和动态变量。
(2)数据源支持
Grafana 兼容多种数据存储系统,包括:
- 时序数据库(TSDB):Prometheus、InfluxDB、Graphite
- 日志存储:Elasticsearch、Loki
- SQL 数据库:MySQL、PostgreSQL、MSSQL
- 云监控:AWS CloudWatch、Azure Monitor、Google Cloud Monitoring
(3)仪表板(Dashboard)
- 提供 模板变量,支持动态查询
- 支持 时间范围选择,便于数据分析
- 可 导出和共享,支持团队协作
(4)告警系统(Alerting)
- 支持 基于阈值的告警,如 CPU 超过 80%
- 告警通知支持 邮件、Slack、Webhook、Prometheus AlertManager
(5)用户权限管理
- 提供用户角色(Admin、Editor、Viewer)
- 支持 OAuth、LDAP、Google、GitHub 认证
3. Grafana 的安装与部署
官网的安装教程蛮详细的。最好是参考官网。这里只是给一个安装的思路。
安装主要是参考官方文档。
https://grafana.com/docs/grafana/latest/setup-grafana/installation/debian/
https://grafana.com/docs/grafana/latest/setup-grafana/sign-in-to-grafana/
以下是通过官方提供的 APT 仓库来安装,保证获取最新的稳定版本。
(1)更新系统包索引
首先,确保你的系统是最新的:
sudo apt update && sudo apt upgrade -y
(2)添加 Grafana 官方 APT 仓库
Grafana 并不包含在 Ubuntu 默认的软件源中,因此需要先添加其官方仓库:
sudo apt install -y software-properties-common
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 -a /etc/apt/sources.list.d/grafana.list
然后,更新软件包索引:
sudo apt update
(3)安装 Grafana
现在可以使用 apt
直接安装 Grafana:
sudo apt install -y grafana
(4)启动和配置 Grafana
安装完成后,需要启用并启动 Grafana 服务:
sudo systemctl enable --now grafana-server
如果想确认 Grafana 是否运行成功,可以检查服务状态:
sudo systemctl status grafana-server
(5)防火墙配置(可选)
如果你的服务器启用了 ufw
防火墙,需要允许 Grafana 默认的 Web 访问端口(3000):
sudo ufw allow 3000/tcp
sudo ufw reload
(6)访问 Grafana Web 界面
Grafana 默认监听 3000
端口,因此可以通过浏览器访问:
http://<your-server-ip>:3000
首次登录时,默认用户名和密码均为:
admin / admin
登录后会要求修改密码,建议设置一个强密码以保证安全性。
(7)(可选)安装 Grafana 插件
Grafana 允许安装各种插件来扩展功能,例如:
grafana-cli plugins install grafana-clock-panel
安装后,需要重启 Grafana:
sudo systemctl restart grafana-server
(8)(可选)自定义 Grafana 配置
Grafana 的主配置文件位于:
/etc/grafana/grafana.ini
如果需要修改默认端口、身份验证方式、数据存储路径等,可以编辑该文件。例如,修改默认端口:
[server]
http_port = 8080
然后重启 Grafana 使其生效:
sudo systemctl restart grafana-server
4. Grafana OSS vs. Grafana Enterprise
特性 | Grafana OSS(开源版) | Grafana Enterprise(企业版) |
---|---|---|
许可证 | Apache 2.0(免费) | 商业许可(付费) |
数据源支持 | 仅开源数据库 | 额外支持 Splunk、ServiceNow、Datadog 等 |
权限管理 | 仅基本角色权限 | 企业级团队管理、SAML 认证 |
告警功能 | 基础告警 | 额外支持企业级告警集成 |
报表功能 | 无自动报告 | 可生成 PDF/CSV 报表 |
商业支持 | 社区支持 | SLA 保障,商业技术支持 |
5. Grafana 进阶学习
(1)PromQL 查询语言
如果数据源是 Prometheus,需要学习 PromQL,如:
node_cpu_seconds_total{mode="idle"}
(2)自动化管理
- Grafana API:自动创建仪表板
- Provisioning:使用 JSON/YAML 预配置 Grafana
(3)实战应用
- Kubernetes 监控:结合 Prometheus 监控 K8s 集群
- 日志监控:Loki + Promtail + Grafana 进行日志分析
- DevOps 监控:监控 Jenkins、GitLab CI/CD
6. 结论
Grafana 是一个强大的监控和可视化工具,适用于 运维监控、业务分析、日志管理、DevOps 监控 等场景。结合 Prometheus、Elasticsearch、Loki 等数据源,Grafana 可以帮助用户构建高效的可视化监控系统。
参考链接
- Grafana 官方网站
- Grafana 官方文档
- Grafana GitHub 仓库
- Prometheus 官方网站
- InfluxDB 官方网站
- Elasticsearch 官方网站
- Ubuntu 官方 APT 包管理指南