Grafana 是什么
Grafana 是一个开源的可视化和监控工具,广泛用于查看和分析来自各种数据源的时间序列数据。它提供了一个灵活的仪表盘(dashboard)界面,用户可以通过它将数据源中的指标进行图表化展示和监控,帮助分析趋势、监控系统健康状态以及进行告警管理。Grafana 常用于 DevOps、IT 基础设施监控和性能优化领域,与 Prometheus 等监控工具搭配使用非常流行。
Grafana 的特点
- 多种数据源支持:Grafana 可以与多种数据库和监控工具集成,例如 Prometheus、InfluxDB、MySQL、Elasticsearch 等。
- 灵活的可视化:它支持多种可视化类型,包括折线图、柱状图、饼图、热力图等,并允许用户自定义图表的布局和样式。
- 告警系统:Grafana 可以基于设定的条件和指标触发告警,并通过邮件、Slack、Webhook 等方式通知用户。
- 权限管理:支持用户角色管理,用户可以根据权限访问不同的仪表盘和数据源。
- 插件扩展:支持通过插件扩展功能,可以添加更多的数据源和图表类型。
Grafana 的安装
Docker 安装的方式
创建一个目录用于存储 Grafana 数据
bash
# 创建目录
mkdir -p /opt/grafana/data
# 更改目录的用户和组
chown -R 472:472 /opt/grafana/data/
# 授予读写权限
chmod -R 775 /opt/grafana/data/
拉取 Grafana 的官方 Docker 镜像:
bash
docker pull grafana/grafana
启动 grafana 容器
bash
docker run -d \
-p 3000:3000 \
--name=grafana \
--user 472:472 \
-v /opt/grafana/data:/var/lib/grafana \
grafana/grafana
查看 Docker 启动容器日志
docker logs grafana
开放防火墙端口 (和云服务安全组端口)
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
如果服务正常运行,可以通过浏览器访问:http://localhost:3000,初始账号admin 密码admin
Grafana 配置 Prometheus
进入 Connections -> Data sources -> Add data source
Grafana 的指标面板
进入 Explore -> Metrics -> Select metric
自定义面板
只想看特定的指标,使用 Dashboards
面板应用市场
从自定义面板中可以看出,我们要配置很多中间件的多种指标面板信息很麻烦。所以 Grafana 社区给我们提供好了指标面板的配置,我们只需要引入即可。
面板应用市场官网:https://grafana.com/grafana/dashboards
可以在应用市场搜索相关中间件的面板,例如 JVM 相关的面板
复制 id
复制 id 后 回到我们的 Grafana 页面
实际效果图
CPU 相关的面板
实际效果图
mysql 面板相关
实际效果图
Grafana 告警配置
太难了
Grafana 的角色权限管理
Grafana角色
Grafana角色分为两种
- 组织级别:针对每个组织(organization)设置的用户角色,控制用户在当前组织内的操作权限。
- 服务器级别:管理员可以在整个服务器范围内设置角色和权限,适用于多组织的 Grafana 部署。
组织级别的角色:
Viewer(查看者):
- 权限:只能查看仪表盘和面板的数据,不能进行任何修改操作。
- 适用场景:适用于仅需查看数据但不需编辑或管理仪表盘的用户。
Editor(编辑者):
- 权限:可以创建、编辑和删除仪表盘和面板,修改面板的查询,但不能管理数据源或用户。
- 适用场景:适用于需要设计和维护仪表盘的用户,但不涉及系统管理。
Admin(管理员):
- 权限:除了拥有编辑者的所有权限外,还可以管理组织中的数据源、通知渠道、用户、团队和权限设置。
- 适用场景:适用于需要全面管理组织资源和用户的用户。
服务器级别的角色:
- Grafana Admin(超级管理员) :
- 权限:对整个 Grafana 实例具有完全控制权,包括管理所有组织、用户、插件、数据源和系统设置(通常在组织内此角色不适用,主要用于服务器级别)。
- 适用场景:适用于需要全面管理 Grafana 实例的超级用户,通常是系统管理员。
创建组织
创建了组织才能为创建的用户分配组织角色。
进入 Administration -> General -> Organizations -> New organization
创建用户
进入 Administration -> Users and access -> Users -> New user