系统环境:CentOS 7.9
Grafana:Grafana8.0.6
项目介绍
之前分享了prometheus的部署实践,及如何使用exporter的一些经验,这次我们继续分享关于Prometheus监控神器中,一个必不可少的组件,就是Grafana。
Grafana 是什么?
Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它主要有以下六大特点:
1、展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;
2、数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
3、通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;
4、混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;
5、注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
6、过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。
Prometheus 官方架构图

二进制安装部署
选择对应的版本,我这里下载的是最新的8.0.6版本,地址是:
https://dl.grafana.com/oss/release/grafana-8.0.6.linux-amd64.tar.gz
如服务器有访问外网权限,也可直接使用Wget命令来下载
wget -P opt https://dl.grafana.com/oss/release/grafana-8.0.6.linux-amd64.tar.gz
将下载好的包进行解压并重命名
cd opttar -zxvf grafana-8.0.6.linux-amd64.tar.gzmv grafana-8.0.6.linux-amd64.tar.gz /usr/local/grafana
这样我们就可以进入到Grafana目录下检查是否安装成功
cd usr/local/grafana/bin/./grafana-cli --versionGrafana CLI version 8.0.6
创建并启用自启动服务
$ vi usr/lib/systemd/system/grafana-server.service[Unit]Description=GrafanaDocumentation=http://docs.grafana.orgAfter=network.target[Service]Type=notifyRestart=on-failureExecStart=/usr/local/grafana/bin/grafana-server -homepath usr/local/grafana--config=${CONF_FILE} \--pidfile=${PID_FILE_DIR}/grafana-server.pid \--packaging=rpm \cfg:default.paths.logs=${LOG_DIR} \cfg:default.paths.data=${DATA_DIR} \cfg:default.paths.plugins=${PLUGINS_DIR} \cfg:default.paths.provisioning=${PROVISIONING_CFG_DIR}LimitNOFILE=10000TimeoutStopSec=20[Install]WantedBy=multi-user.target$ systemctl daemon-reload$ systemctl enable grafana-server$ systemctl start grafana-server
Grafana这个组件的默认端口是3000,我们可以通过修改defaults.ini里面的端口参数,去调整端口,这里就不作演示了。
vi usr/local/grafana/conf/defaults.inihttp_port = 3000
防火墙开启3000端口
firewall-cmd --zone=public --add-port=3000/tcp --permanentfirewall-cmd --reloadfirewall-cmd --list-ports3000/tcp
检查Grafana服务是否启用
$ ps -ef | grep grafanaroot 2182 1 0 17:02 ? 00:00:02 /usr/local/grafana/bin/grafana-server -homepath /usr/local/grafana
检查Grafana服务端口是否处于监听状态
ss -nlpt |grep 3000LISTEN 0 128 [::]:3000 [::]:* users:(("grafana-server",pid=2182,fd=8))
至此,我们确认服务和端口都没有问题后,就可以通过http://ip:3000来访问我们刚部署好的Grafana了。
我们第一次登录的账号密码是admin/admin,在初始登陆时,web会提示我们需要修改密码。

登录进来后,我们第一要配置数据源,将我们Prometheus数据源加入到Grafana中来。
选择"Add your first data source"

选择"Prometheus"
输入Prometheus的URL地址后,在最下方选择“Save&test”,即完成了Prometheus数据源的添加。我们也可以在这里面去调整Grafana从Prometheus里面去获取数据的时间设定以及抓取方式。


加入完毕后,我们也可在Configuration—Data sources里面确认。

添加常用的监控看板
添加监控看板的方式有多种,我们可以使用PromQL表达式去自行的设定,也可通过Grafana的官方Dashboards里面已经制作好的JSON模板直接生成,我们只需在Import里直接输入看板的ID号即可。比如我们之前提及到的Blackbox_exporter看板,ID号:9965;然后还有node_exporter看板,ID号:8919;等等。
官方Dashboards地址:
https://grafana.com/grafana/dashboards
因自动添加看板过于简单,所以此次我们演示下怎样去手动添加看板,这也适用于大多数服务器没有互联网的环境。
下载node_exporter.json,node_exporter.json地址
https://grafana.com/api/dashboards/8919/revisions/24/download
然后在Greate中选择import,再选择"Upload JSON file",将我们下载好的json文件上传至Grafana

这个看板的默认名称是"1 Node Exporter for Prometheus Dashboard CN v20201010"我们也可修改看板的名称,比如我们修改成“node_Exporter”,然后选择我们刚刚添加的Prometheus数据源,点击最后的import。
这样,我们就能在Grafana中,可视化的了解node_exporter的实时运行状态




