1、简介
Grafana 是一款开源的数据可视化和仪表盘监控工具,广泛应用于 IT 运维、开发、数据分析等领域。它支持多种数据源(如 Prometheus、InfluxDB、MySQL 等),通过灵活的图表展示系统运行状态、业务指标或日志数据。
Grafana 常与 Prometheus 搭配使用,是现代云原生监控体系的核心组件之一。
2、特点
| 特点 | 说明 |
|---|
| 📈 可视化能力强 | 支持多种图表类型,如折线图、柱状图、饼图等 |
| 🔌 多数据源支持 | 可对接 Prometheus、Loki、Elasticsearch、Graphite 等 |
| 🧩 插件丰富 | 提供数百种官方和社区插件 |
| 👤 访问控制 | 支持用户管理、组织空间划分和权限控制 |
| 💡 灵活告警 | 与 Alertmanager 或其他通知系统集成,支持多条件触发 |
| 🧭 JSON 定义仪表盘 | 仪表盘可版本管理、导入导出 |
3、使用场景
Kubernetes 集群监控(搭配 Prometheus、Node Exporter 使用)。
服务器资源监控(CPU、内存、磁盘、网络等)。
微服务监控(业务指标、接口耗时、错误率)。
数据库性能可视化(对接 MySQL、PostgreSQL 等)。
日志展示(结合 Loki 或 Elasticsearch)。
4、部署
创建ConfigMap
root@polar-metta-master1:/opt/Grafana# cat ConfigMap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-datasources
namespace: monitoring
labels:
grafana_datasource: "1"
data:
prometheus.yaml: |
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
url: http://prometheus-server.monitoring.svc.cluster.local
isDefault: true
创建pvc
root@polar-metta-master1:/opt/Grafana# cat pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: grafana-pvc
namespace: monitoring
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 200Gi
创建Deployment
root@polar-metta-master1:/opt/Grafana# cat Deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: grafana
namespace: monitoring
spec:
replicas: 1
selector:
matchLabels:
app: grafana
template:
metadata:
labels:
app: grafana
spec:
# 初始化容器:设置 /var/lib/grafana 权限
initContainers:
- name: fix-permissions
image: busybox
command: ["sh", "-c", "chown -R 472:472 /var/lib/grafana"]
volumeMounts:
- name: grafana-storage
mountPath: /var/lib/grafana
containers:
- name: grafana
image: registry.cn-shanghai.aliyuncs.com/study-03/grafana:10.0.1
ports:
- containerPort: 3000
volumeMounts:
- name: grafana-storage
mountPath: /var/lib/grafana
- name: datasources
mountPath: /etc/grafana/provisioning/datasources
securityContext:
runAsUser: 472 # grafana 默认运行用户
volumes:
- name: grafana-storage
persistentVolumeClaim:
claimName: grafana-pvc
- name: datasources
configMap:
name: grafana-datasources
创建Service
root@polar-metta-master1:/opt/Grafana# cat Service.yaml
apiVersion: v1
kind: Service
metadata:
name: grafana
namespace: monitoring
spec:
type: NodePort
ports:
- port: 80
targetPort: 3000
protocol: TCP
name: http
nodePort: 32300 # 👈 可自行修改为你想要的端口
selector:
app: grafana
查看
root@polar-metta-master1:~# kubectl get pod -n monitoring
NAME READY STATUS RESTARTS AGE
grafana-5d6f48c7cd-qj7v9 1/1 Running 0 14d
5、访问
默认账号密码: admin/admin
上一条:Grafana 12.1 正式发布
下一条:购软平台是Grafana代理商