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

Prometheus分布式监控

作者头像
py3study
发布2020-05-22 16:44:05
2K0
发布2020-05-22 16:44:05
举报
文章被收录于专栏:python3

一、概述

prometheus安装在阿里云上面,监控节点在公司内部机房,2个网络直接是不互通的。

环境说明

阿里云服务器:

操作系统:centos 7.6

数量:1台

公司内部服务器

操作系统:centos 7.6

数量:1台

拓扑图

 说明:

1. 公司内部服务器安装node-exporter插件,收集主机信息,通过调用curl命令,将收集的数据以POST方式发送给Pushgateway

2. Pushgateway负责接收数据

3. Prometheus从Pushgateway中拉取数据,结合Grafana做数据展示。

二、部署操作

阿里云服务器

Prometheus和Pushgateway,是直接docker部署的。具体安装操作,请参考链接:

https://www.cnblogs.com/xiao987334176/p/9930517.html

https://www.cnblogs.com/xiao987334176/p/9933963.html

这里重点要说明的是Prometheus配置Pushgateway时,必须要加一个参数honor_labels: true

代码语言:javascript
复制
- job_name: 'pushgateway'
    honor_labels: true
    static_configs:
      - targets: ['172.18.156.172:9091']
        labels:
          instance: xxx

如果不加,会造成推送给Pushgateway的instance和job全部加了"exported_"前缀。

那么在Grafana现有的模板中,无法展示推送到Pushgateway的数据。

公司内部服务器

安装node-exporter

这里推荐使用二进制方式

代码语言:javascript
复制
wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
tar zxvf node_exporter-0.18.1.linux-amd64.tar.gz -C /data/
mv /data/node_exporter-0.18.1.linux-amd64 /data/node_exporter

封装service

代码语言:javascript
复制
vi /etc/systemd/system/node-exporter.service

内容如下:

代码语言:javascript
复制
[Unit]
Description=Prometheus Node Exporter
After=network.target
[Service]
ExecStart=/data/node_exporter/node_exporter
[Install]
WantedBy=multi-user.target

注意:主要修改ExecStart和User

设置开机自启动

代码语言:javascript
复制
systemctl daemon-reload
systemctl enable node-exporter
systemctl start node-exporter

查看端口

代码语言:javascript
复制
# ss -tunlp|grep node
tcp    LISTEN     0      128      :::9100                 :::*                   users:(("node_exporter",pid=990,fd=3))

备注

node-exporter也可以使用docker方式安装,但是收集磁盘数据时,它采集的数据和真实物理主机是不一样的。

比如执行:df -hT

可能会比真实的多几个目录。

因此,我还是推荐使用二进制方式安装,这样数据会比较准确一点。

发送POST请求

将node_exporter收集到的数据传送监控数据到pushgateway

对于传过去的监控项会添加此处定义的标签 job=node_exporter instance=北京三里屯  hostname=192.168.2.45

代码语言:javascript
复制
curl 127.0.0.1:9100/metrics|curl --data-binary @- http://114.114.114.114:9091/metrics/job/node_exporter/instance/北京三里屯/hostname/192.168.2.45

访问pushgateway页面

代码语言:javascript
复制
http://114.114.114.114:9091

效果如下:

 访问Grafana,查看主机信息

本文参考链接:

https://www.cnblogs.com/huandada/p/10932953.html

https://www.jianshu.com/p/51b9338d98b0

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、概述
    • 环境说明
      • 拓扑图
      • 二、部署操作
        • 阿里云服务器
          • 公司内部服务器
            • 安装node-exporter
            • 备注
          • 发送POST请求
          相关产品与服务
          云服务器
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档