情景回顾
通过上一篇(三)Prometheus 部署节点 的学习,我们已经对 prometheus 做了一个节点的部署监控,本篇详细讲解 Prometheus + Grafana 做可视化的展示。
Grafana 基本介绍
Grafana 是近几年兴起的开源可视化工具,采用 Go 语言所编写,天然支持 Prometheus,不仅如此,Grafana 还支持多种数据源,包括 Elasticsearch,InfluxDB,MySQL,OpenTSDB。
我们把 Prometheus 部署好之后,访问并使用了它的 Web 界面,与此同时我们可以看到它的 Web 界面较为简陋,通常适合查看指标和呈现单个图表,另外它支持的可视化图标类型也有限,所以这个时候我们就需要为 Prometheus 添加一个功能较为全面的可视化平台。
Grafana 基本术语
-
DataSource(数据源)
在上面我们说到了,Grafana 支持多种数据源,包括但不限于 Prometheus,而数据源通俗来讲就是提供数据的对象,比如 Zabbix,比如 Prometheus -
Dashboard(仪表盘)
仪表盘就是一个呈现页面,当我们添加好对应的数据源以后,这个时候就需要实现数据的可视化,在 Grafana 中,可以通过 Dashboard 来组织和管理数据可视化图表 -
Row(行)
行是 Dashboard 的组成单元,一个 Dashboard 可以包含多个行,而一个行当中又可以展示一种或者多种信息的组合,比如负载状态,内存使用率,磁盘使用率 -
Panel(面板)
面板我们可以理解为是 Row 展示信息的方式,它支持表格(tables),列表(alert list),热图(heatmap),在Grafana 当中,所有的面板均以插件的形式进行使用 -
Query Editor(查询编辑器)
查询器的作用是指定获取哪一部分的数据,这个有点类似于 SQL 语句,但我们如果添加的数据源为 Prometheus,那实际上使用的为 PromQL -
User(用户)
用户和我们平常登录系统的用户概念一样,Grafana 中包含三种角色,分别为 admin,editor,viewer,read only editor,在这其中,admin 的权限最高,它可以执行如何操作,editor 只能创建 DashBoard,viewer 只能查看DashBoard,read only editor可以修改 DashBoard,但不允许保存 -
Organization(组织)
在 Grafana 当中,DataSource 与 Dashboard 属于一个组织,每个用户可以拥有多个不同的组织,在不同的组织当中,可以为不同的用户赋予不同的权限需要知道的是,不同组织之间的数据源和仪表板都不同,每当在 Grafana 当中创建一个组织,就相当于开启了一个全新的视图,这时候所有的数据源与仪表盘等内容都要重新去添加和配置
Grafana 安装部署
准备环境
# 这里使用的是(二)Prometheus 安装部署 完成时的环境
centos 7
prometheus 运行正常
[root@fp-21 ~]# getenforce
Permissive
[root@fp-21 ~]# ss -lntp |grep prometheus
LISTEN 0 128 :::9090 :::* users:(("prometheus",pid=10531,fd=6))
上传安装包
上传安装包,解压,点击下载
# 没有本地安装包,也可以进行下载
[root@fp-21 grafana]# wget -c https://dl.grafana.com/oss/release/grafana-6.6.1-1.x86_64.rpm
[root@fp-21 grafana]# yum -y install grafana-6.6.1-1.x86_64.rpm
修改配置文件
[root@fp-21 grafana]# cd /etc/grafana/
[root@fp-21 grafana]# cp grafana.ini grafana.ini.bak
[root@fp-21 grafana]# vim grafana.ini
[root@fp-21 grafana]# egrep -v "^#|^$|^;" grafana.ini
[paths]
# 定义数据存储路径
data = /var/lib/grafana
# 存储数据的时间,默认24小时
temp_data_lifetime = 24h
# 定义日志存储路径
logs = /var/log/grafana
# 定义插件存储路径
plugins = /var/lib/grafana/plugins
# 配置路径
provisioning = conf/provisioning
[server]
# 访问协议
protocol = http
# 监听IP地址
http_addr = 10.0.0.21
# 监听的端口
http_port = 3000
# 定义在浏览器中访问Grafana的全路径
root_url = %(protocol)s://%(domain)s:%(http_port)s/
serve_from_sub_path = false
# 是否记录web请求日志,默认为关闭
router_logging = false
# 前端静态文件的存储路径
static_root_path = public
enable_gzip = true
……
[users]
# 是否允许普通用户登录,默认为允许
allow_sign_up = true
# 是否允许普通用户创建组织,默认为允许
allow_org_create = true
# 如果为true,则自动把新增的用户增加到id为1的组织中,如果为false,则新建用户的时候会新增一个组织 ,默认为true
auto_assign_org = true
# 默认的背景页面,也可以选择light
default_theme = dark
……
设置开机自启
# 添加至开机自启
[root@fp-21 grafana]# systemctl enable grafana-server.service
Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.
# 启动服务
[root@fp-21 grafana]# systemctl start grafana-server.service
# 查看进程
[root@fp-21 grafana]# ps -ef |grep grafana
grafana 11837 1 2 14:38 ? 00:00:01 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=rpm 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
root 11906 9739 0 14:38 pts/0 00:00:00 grep --color=auto grafana
# 查看端口
[root@fp-21 grafana]# ss -lntp |grep grafana
LISTEN 0 128 10.0.0.21:3000 *:* users:(("grafana-server",pid=11837,fd=6))
进行访问
默认账号:admin
默认密码:admin
第一次登录会让你设置新密码,也可以点击跳过
Grafana添加主机
Grafana 添加模板
总结
只有注入思想的博客才是好的博客