前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Prometheus监控工具安装部署

Prometheus监控工具安装部署

作者头像
Eights
发布2020-07-10 14:55:34
2.7K0
发布2020-07-10 14:55:34
举报
文章被收录于专栏:Eights做数据

1

组件介绍

Prometheus是一个开放性的监控解决方案,其灵感来自于Google的Borgmon,于2016年5月继k8s后加入CNCF基金会。Prometheus具备易于管理,高效,可扩展,易集成的特点。详细介绍见官网:https://prometheus.io/docs/introduction/overview/

部署环境

  • CDH5.16.2
  • CentOS 7
  • Prometheus部署在CDH集群的工具节点上

2

组件安装

下载linux安装包

地址:https://prometheus.io/download/

安装Prometheus

部署服务器上建立文件夹并进行解压

代码语言:javascript
复制
tar -zxvf prometheus-2.17.2.linux-amd64.tar.gz -C /opt/

采用默认配置的yaml文件进行测试

当前Prometheus是安装在CDH集群的工具节点上的,9090端口被Hbase占用,因此启动的时候,需要指定启动端口号,这里采用9091端口进行启动

代码语言:javascript
复制
./prometheus --config.file=prometheus.yml \
--web.listen-address=:9091 \
--storage.tsdb.path="/u01/prometheus-data"

访问部署机器的9091端口

Prometheus启动测试完成

配置Prometheus服务

创建prometheus用户和组

代码语言:javascript
复制
groupadd -r prometheus;
useradd -r -g prometheus -s /sbin/nologin -M -c "prometheus Daemons" prometheus;

编写启动脚本,放到prometheus的安装目录下,start_prometheus.sh

代码语言:javascript
复制
# 指定日志存放目录
mkdir -p /var/log/prometheus.log
# 指定数据存放目录,指定数据过期时间(默认15天)
/opt/prometheus-2.17.2.linux-amd64/prometheus --config.file=/opt/prometheus-2.17.2.linux-amd64/prometheus.yml \
--web.listen-address=:9091 \
--web.enable-lifecycle \
--storage.tsdb.path="/u01/prometheus-data" \
--storage.tsdb.retention=15d &>> /var/log/prometheus.log

# 修改启动脚本权限
chmod 755 start_prometheus.sh

新增prometheus.service

代码语言:javascript
复制
# 增加服务
vi /usr/lib/systemd/system/prometheus.service

# 文件内容
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/docs/introduction/overview/
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
# 启动脚本
ExecStart=/opt/prometheus-2.17.2.linux-amd64/start_prometheus.sh

[Install]
WantedBy=multi-user.target

启动服务

代码语言:javascript
复制
systemctl enable prometheus.serivce
systemctl start prometheus.service
systemctl status prometheus

更新配置

代码语言:javascript
复制
curl -X POST http://127.0.0.1:9091/-/reload

访问工具节点9091端口,promethus撸通

3

使用Node-Exporter收集节点数据

下载Node-Exporter

地址:https://prometheus.io/download/

使用Node-Exporter

将下载的tar包传到服务器上,执行解压启动

代码语言:javascript
复制
#解压
tar -zxvf node_exporter-1.0.0-rc.0.linux-amd64.tar.gz -C /opt/
#启动
/opt/node_exporter-1.0.0-rc.0.linux-amd64/node_exporter

抓出来的监控指标如下

配置node_exporter服务(集群每台机器都配置)

代码语言:javascript
复制
vi /usr/lib/systemd/system/node_exporter.service

# 配置
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/docs/introduction/overview/
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
# 启动脚本
ExecStart=/opt/node_exporter-0.18.1.linux-amd64/node_exporter

[Install]
WantedBy=multi-user.target

启动node_exporter服务

代码语言:javascript
复制
# 配置开机启动
systemctl enable node_exporter

systemctl start node_exporter
systemctl status node_exporter

4

Prometheus收集Node_Exporter监控数据

配置yml文件,添加node_exporter收集数据配置

重启Prometheus

代码语言:javascript
复制
systemctl restart prometheus.service

访问部署机的9091端口 /targets,查看到node任务的状态是Up,证明Node_Exporter接收数据正常

切换到Graph使用PromQL表达式查一下机器的负载

CDH集群上最终部署情况如下图

5

小结

为什么会选择使用Prometheus呢?在数据平台上会运行很多不同类型的数据处理作业。以Spark为例,批处理任务可以使用SparkListener进行监控指标的抓取,流应用可以使用StreamListener进行监控,将这些指标采集到Prometheus后,可以实现作业级别的细粒度监控。Flink亦支持Prometheus抓取监控指标。再依赖于Prometheus提供的各种Exporter如kafka ES。目的是用Prometheus+Grafana来构建一套大数据的监控平台。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Eights做数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 部署环境
    • 安装Prometheus
      • 配置Prometheus服务
        • 使用Node-Exporter
        相关产品与服务
        专用宿主机
        专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档