基于Greenplum数仓监控解决⽅案(开源版本)
Greenplum监控解决⽅案
greenplum数据库基于Prometheus+Grafana+greenplum_exporter+node_exporter实现
关联图
⼀、基本概念
1.Prometheus
Prometheus时序数据库:存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合,lPrometheus Server, 负责从 Exporter 拉取和存储监控数据,并提供⼀套灵活的查询语⾔(PromQL)供⽤户使⽤。
lExporter, 负责收集⽬标对象(host, container…)的性能数据,并通过 HTTP 接⼝供 Prometheus Server 获取。
l可视化组件,监控数据的可视化展现对于监控⽅案⾄关重要。以前 Prometheus ⾃⼰开发了⼀套⼯具,不过后来废弃了,因为开源社区出现了更为优秀的产品 Grafana。Grafana 能够与 Prometheus ⽆缝集成,提供完美的数据展⽰能⼒。
lAlertmanager,⽤户可以定义基于监控数据的告警规则,规则会触发告警。⼀旦 Alermanager 收到告警,会通过预定义的⽅式发出告警通知。⽀持的⽅式包括 Email、PagerDuty、Webhook 等。
2. Grafana 介绍
Grafana是⼀个跨平台的开源的度量分析和可视化⼯具,可以通过将采集的数据查询然后可视化的展⽰,并及时通知。
1、展⽰⽅式:快速灵活的客户端图表,⾯板插件有许多不同⽅式的可视化指标和⽇志,官⽅库中具有丰富的仪表盘插件,⽐如热图、折线图、图表等多种展⽰⽅式;
2、⽀持数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
3、通知提醒:以可视⽅式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;
4、混合展⽰:在同⼀图表中混合使⽤不同的数据源,可以基于每个查询指定数据源,甚⾄⾃定义数据源;
5、注释:使⽤来⾃不同数据源的丰富事件注释图表,将⿏标悬停在事件上会显⽰完整的事件元数据和标记;
6、过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会⾃动应⽤于使⽤该数据源的所有查询。⼆、Greenplum监控的实现
2.1Prometheus安装
2.1.1下载源码包⽂件
$ cd usr/local/src/tools/    #⾃定义⽂件下载⽬录
命令下载(服务器可访问外⽹状态)
$ wget github/prometheus/prometheus/releases/download/v2.27.1/prometheus-2.27.1.
注:下载到本地通过第三⽅⼯具上载到服务器指定位置(服务器不可访问外⽹)
解压⽂件到⾃定义⽬录
tar -zxvf prometheus-2.27.1. -C /usr/local/
mv prometheus-2.27.1.linux-amd64/ prometheus    #修改⽂件名便于管理
cd /usr/local/prometheus/
解压后⽂件⽬录
2.1.2创建⽤户⽤于管理启动prometheus服务
$ groupadd prometheus
$ useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
$ chown prometheus.prometheus -R /usr/local/prometheus
2.1.3启动prometheus
注:启动⽅式有以下两种建议选择第⼆种执⾏⽅式便于管理服务
1.直接执⾏prometheus命令
cd /usr/local/prometheus
nohup ./prometheus &
ps -ef | grep prometheus      #检查后台进程
> 2.配置系统systemd服务
(注:如启动失败查看当前系统服务启动⽇志cat /var/log/messages 如已按上述命令启动需kill掉当前后台运⾏进程才能重新运⾏下列启动命令)
cat >/usr/lib/systemd/system/prometheus.service <<EOF
[Unit]
Description=prometheus
After=network.target
[Service]
Type=simple                    #默认
User=prometheus    #管理启动⽤户
ExecStart=/usr/local/prometheus/prometheus -- config.file=/usr/local/l --storage.tsdb.path=/var/lib/prometheus
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
启动prometheus服务
systemctl daemon-reload        #重新加载服务配置⽂件
systemctl start prometheus.service
systemctl status prometheus.service
systemctl enable prometheus.service
3.前端验证
2.2配置安装node_exporter
node_exporter的作⽤是⽤于机器系统数据收集,监控服务器CPU、内存、磁盘、I/O等信息。安装在需要监控的服务器上
测试安装服务器:(注意:node_exporter 的运⾏⽤户也是 prometheus ⽤户需要在每台节点上都创建该⽤户。)
x
x
x
x
2.2.1下载安装
cd /usr/local/src/tools/      #该⽬录为⾃定义存放源码包⽬录
wget github/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1. tar -zxvf node_exporter-1.0.1. -C /usr/local/
mv node_exporter-1.0.1.linux-amd64/ node_exporter
2.2.2创建⽤户(如果已创建可以忽略)
groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
chown prometheus.prometheus -R/usr/local/node_exporter
2.2.3启动node_exporter
注:启动⽅式有以下两种建议选择第⼆种执⾏⽅式便于管理服务
1.直接执⾏node_exporter命令
cd /usr/local/node_exporter
nohup ./node_exporter &
ps -ef|grep node_exporter    #查看后台进程状态
2.配置系统systemd服务(注:如已按上述命令启动需kill 掉当前后台运⾏进程才能运⾏命令重启下列服务)
cat > /usr/lib/systemd/system/node_exporter.service <<EOF
[Unit]
Description=node_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
启动node_exporter
systemctl daemon-reload
systemctl start node_exporter.service
systemctl enable node_exporter.service
systemctl status node_exporter.service
3.前端验证
2.3Grafana安装
1.下载、安装
到对应系统版本运⾏如下命令:
源码包下载(可选)
wget dl.grafana/oss/release/grafana-7.5.7. tar -zxvf grafana-7.5.7.
解压⽂件后⽂件⽬录
rpm 包下载(可选)
wget dl.grafana/oss/release/grafana-7.5.7-1.x86_64.rpm sudo yum install grafana-7.5.7-1.x86_64.rpm
配置⽂件位于/etc/grafana/grafana.ini,这⾥暂时保持默认配置即可
2.启动 Grafana
systemctl enable grafana-server.service
systemctl start grafana-server.service
systemctl status grafana-server.service

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论