(四)Prometheus+Grafana可视化

通过上一篇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@test2 conf]# getenforce
Disabled

[root@test2 conf]# ss -lntp |grep prometheus
LISTEN     0      128         :::9090                    :::*                   users:(("prometheus",pid=11667,fd=6))            

上传安装包

[root@test2 conf]# cd
[root@test2 ~]# cd /etc/
[root@test2 etc]# mkdir grafana
[root@test2 etc]# cd grafana/
[root@test2 grafana]# pwd
/etc/grafana
[root@test2 grafana]# wget https://dl.grafana.com/oss/release/grafana-6.6.1-1.x86_64.rpm
[root@test2 grafana]# yum -y install grafana-6.6.1-1.x86_64.rpm 

修改配置文件

[root@fp-21 grafana]# cd /etc/grafana/
[root@test2 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@test2 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@test2 grafana]# systemctl start grafana-server.service

# 查看进程
[root@test2 grafana]# ps -ef |grep grafana
grafana   11871      1 16 20:22 ?        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      11887   1391  0 20:22 pts/0    00:00:00 grep --color=auto grafana

# 查看端口
[root@test2 grafana]# ss -lntp |grep grafana
LISTEN     0      128    192.168.31.201:3000                     *:*                   users:(("grafana-server",pid=11871,fd=9))

进行访问

默认账号:admin

默认密码:admin
(四)Prometheus+Grafana可视化_第1张图片第一次登录会让你设置新密码,也可以点击跳过
(四)Prometheus+Grafana可视化_第2张图片Grafana添加主机
(四)Prometheus+Grafana可视化_第3张图片(四)Prometheus+Grafana可视化_第4张图片(四)Prometheus+Grafana可视化_第5张图片(四)Prometheus+Grafana可视化_第6张图片Grafana 添加模板
(四)Prometheus+Grafana可视化_第7张图片(四)Prometheus+Grafana可视化_第8张图片(四)Prometheus+Grafana可视化_第9张图片

你可能感兴趣的:(Docker)