四、监控搭建-Prometheus-采集端批量部署

四、监控搭建-Prometheus-采集端批量部署

  • 1、背景
  • 2、目标
  • 3、传承
  • 4、操作
    • 4.1、准备部署工具
    • 4.2、编制部署脚本
    • 4.3、服务端添加客户端

1、背景

在前三篇中我们搭建了Prometheus平台,采集端部署和配合图形化grafana部署,将Linux主机进行监控。基本完成了一个最小化的监控模型,本篇是在前三篇的基础上继续操作。在日常使用中很少只有单台设备而是多态设备和服务进行统一化,集中监控。利用ansible自动化工具批量部署node_exporter客户端。

2、目标

使用prometheus平台批量部署,监控Linux主机资源。

3、传承

本篇操作依赖《一、监控搭建-Prometheus》、《二、监控搭建-Prometheus-采集端部署》和《三、监控搭建-Prometheus-grafana部署》的基础上的操作。操作端安装ansible工具,不在本篇做介绍,安装参考ansible安装中文文档
以上安装步骤很全面,也可以参考[环境搭建]-[局域网ansible离线安装]。

4、操作

4.1、准备部署工具

将上篇中的软件包下载至本地

Linux系统采集模块: node_exporter 下载

上传至指定目录,本篇以/home/backup/prometheus目录为例。

4.2、编制部署脚本

切换到部署文件的目录下

cd /home/backup/prometheus

创建deploy_node_exporter.yml文件并输入如下内容
脚本内容分为七步操作:

  • 将客户端工具解压至客户端服务器的指定目录
  • 重命名解压缩后的文件夹
  • 创建文件夹的软链接
  • 上传客户端服务器文件
  • 启动监控客户端
  • 启动监控客户端
  • 启动服务器防火墙
  • 添加客户端监控端口
---
- name: deploy the node_exporterhosts: procgather_facts: nobecome: yesremote_user: roottasks:- name: 01-Extract node_exporterunarchive:src: /home/backup/prometheus/node_exporter-1.6.1.linux-amd64.tar.gzdest: /usr/local- name: 02-Rename floder nameshell:cmd: mv /usr/local/node_exporter-1.6.1.linux-amd64 /usr/local/node_exporter-1.6.1- name: 03-Creating soft connectionsfile:src: /usr/local/node_exporter-1.6.1dest: /usr/local/node_exporterstate: link- name: 04-Copy the node_exporter.service to the client copy:src: /usr/lib/systemd/system/node_exporter.servicedest: /usr/lib/systemd/system- name: 05-Start the service of node_exportersystemd:name: node_exporterstate: startedenabled: yes- name: 06-Start the service of firewalldsystemd:name: firewalldstate: startedenabled: yes- name: 07-Set Firewall Policesfirewalld:port: 9100/tcpstate: enabledpermanent: yesimmediate: yes

查看脚本预防错误

ansible-playbook --syntax-check deploy_node_exporter.yml 

模拟运行脚本

ansible-playbook -C deploy_node_exporter.yml 

以上两步运行无报错提示,则运行以上脚本进行操作部署

ansible-playbook -C deploy_node_exporter.yml PLAY [deploy the node_exporter] ********************************************************************************************TASK [01-Extract node_exporter] ********************************************************************************************
changed: [proc-dese2]
changed: [proc-divu1]
changed: [proc-dese1]
changed: [proc-divu2]TASK [02-Rename floder name] ***********************************************************************************************
changed: [proc-dese2]
changed: [proc-dese1]
changed: [proc-divu1]
changed: [proc-divu2]TASK [03-Creating soft connections] ****************************************************************************************
changed: [proc-dese1]
changed: [proc-dese2]
changed: [proc-divu1]
changed: [proc-divu2]TASK [04-Copy the node_exporter.service to the client] *********************************************************************
changed: [proc-dese1]
changed: [proc-dese2]
changed: [proc-divu1]
changed: [proc-divu2]TASK [05-Start the service of node_exporter] *******************************************************************************
changed: [proc-dese2]
changed: [proc-dese1]
changed: [proc-divu1]
changed: [proc-divu2]TASK [06-Start the service of firewalld] ***********************************************************************************
changed: [proc-dese1]
changed: [proc-dese2]
changed: [proc-divu1]
changed: [proc-divu2]TASK [07-Set Firewall Polices] *********************************************************************************************
changed: [proc-dese2]
changed: [proc-divu1]
changed: [proc-dese1]
changed: [proc-divu2]PLAY RECAP *****************************************************************************************************************
proc-dese1                 : ok=7    changed=7    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
proc-dese2                 : ok=7    changed=7    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
proc-divu1                 : ok=7    changed=7    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
proc-divu2                 : ok=7    changed=7    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

部署完毕后,在云平台的安全组中新增9100端口
在这里插入图片描述

4.3、服务端添加客户端

以上部署为在客户端的服务器上部署了采集器,接下来需要在服务端添加客户端的IP和端口

vi /usr/local/prometheus/prometheus.yml

- job_name: "host_monitor"static_configs:- targets: ["localhost:9100","1xx.xx.x.xx:9100","1xx.xx.x.xx:9100","1xx.xx.x.xx:9100","1xx.xx.x.xx:9100"]

编辑完毕后检测语法

./promtool check config prometheus.yml

提示SUCCESS字样后,确认文件格式无误,
重启prometheus

systemctl restart prometheus

在浏览器中输入部署promethues服务端的IP和端口查看
在这里插入图片描述
在浏览器中输入部署的grafana服务端的IP和端口查看
输入用户名和密码,在主机名中选中对应的主机名,查看主机的信息,

注:需要一段采集周期后有指标数据

在这里插入图片描述
以上为批量化部署prometheus客户端工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/413395.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

『功能项目』怪物反击主角复活【14】

本章项目视频展示 当前文章成果展示 我们打开上一篇13技能爆炸与伤害数值显示的项目, 新建一个脚本InfoSystem.cs 新建一个游戏管理器GameManager.cs 在场景中创建一个空物体命名为GameManager 将GameManager.cs脚本挂载至空物体GameManager对象身上 增添PlayerRayC…

【SpringBoot】电脑商城-10-商品功能

商品热销排行 1 商品-创建数据表 1.使用use命令先选中store数据库。 USE store;2.在store数据库中创建t_product数据表。 CREATE TABLE t_product (id int(20) NOT NULL COMMENT 商品id,category_id int(20) DEFAULT NULL COMMENT 分类id,item_type varchar(100) DEFAULT N…

Loki Unable to fetch labels from Loki (no org id)

应该是多租户相关导致的 参考文档: 参考文档cMulti-tenancy | Grafana Loki documentationDescribes how Loki implements multi-tenancy to isolate tenant data and queries.https://grafana.com/docs/loki/latest/operations/multi-tenancy/ https://github.com/grafana…

【Git 学习笔记_23】Git 实用冷门操作技巧(二)——妙用 git bisect 与 git blame 进行代码调试

文章目录 11.3 用 git bisect 进行调试11.4 使用 git blame 命令 本节所在位置: 活用 git stash(上)保存并应用 stash(上)用 git bisect 进行调试(二)✔️使用 git blame 命令(二&am…

零基础Opencv学习(三)

概述:主要目的是为了在图像中获取所需要的特征信息,比如直线或者圆等 一、标准霍夫变换 cv::Mat midImage, dstImage;/// 边缘检测 转化灰度图cv::Canny(image, midImage, 50, 200, 3);cv::cvtColor(midImage, dstImage, CV_GRAY2BGR);/// 进行霍夫线变…

浅谈SpringMvc的核心流程与组件

一、SpringMvc的核心流程 当发起请求时被前置的控制器(DispatcherServlet)拦截到请求,根据请求参数生成代理请求,找到请求对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,将模型响应给中心控制…

ubuntu24下python3.9安装pytorch

安装gpu版pytorch 1.去官网查找命令 https://pytorch.org/get-started/previous-versions/由于我们安装的是CUDA12.1,所以我们选择12.1的进行安装 安装完成之后通过下面代码进行测试 >>> import torch >>> print(torch.cuda.is_available()) T…

Linux入门攻坚——30、sudo、vsftpd

su:Switch User,即切换用户 su [-l user] -c ‘COMMAND’ 如:su -l root -c ‘COMMAND’ 如果没有指定-l user,则默认是root sudo:可以让某个用户不需要拥有管理员的密码,而可以执行管理员的权限。 需…

raw.githubusercontent.com未能解析” 解决方案

1.操作场景 通过windows11 powershell 下载依赖包 2.报错信息如下 irm : 未能解析此远程名称: raw.githubusercontent.com 所在位置 行:1 字符: 27 & ([scriptblock]::Create((irm "https://win11debloat.raphi.re/"))) ~~~~~~~~~…

2 Python开发工具:PyCharm的安装和使用

本文是 Python 系列教程第 2 篇,完整系列请查看 Python 专栏。 1 安装 官网下载地址https://www.jetbrains.com.cn/pycharm/,文件比较大(约861MB)请耐心等待 双击exe安装 安装成功后会有一个30天的试用期。。。本来想放鸡火教程&…

Mybatis中的缓存

一,为什么要使用缓存 1,缓存的作用 缓存(cache)的作用是为了减去数据库的压力,提高查询性能。 缓存实现的原理: 从数据库中查询出来的对象在使用完后不要销毁,而是存储在内存(缓存)…

智能指针(RAII)

智能指针(RAII) 一、内存泄漏1、介绍2、原因3、泄漏的内存类型分类 二、RAII1、介绍2、基本思想3、优点4、实现方式 三、unique_ptr1、介绍2、主要特性3、注意事项4、unique_ptr类5、示例代码6、运行结果7、简单实现 四、shared_ptr1、介绍2、主要特点3、…

单自由度无阻尼系统振动分析

特别感谢:https://www.bilibili.com/video/BV114411y7ab/?p6&spm_id_frompageDriver&vd_sourceebe07816bf845358030fc92d23830b29 本文图片该系列视频 tips:关于特征方程与振动方程: 特征方程有助于我们理解和确定系统的固有频率和模…

C语言基础(二十)

链表是一种常见的数据结构,通常用来存储一系列元素,每个元素由一个节点来表示。在链表中,每个节点包含两部分:数据元素本身和指向下一个节点的指针。这种结构使得链表中的元素在内存中不是连续存储的,而是通过指针连接…

随笔九、SARADC按键程控测试

目录 1. 泰山派环境 2. 按键3分析 3. 编程测试 1. 泰山派环境 泰山派开发板上有3个按键 按键1是电源按键PWRON,实测按几下会导致开发板重启 按键2是复位按键RESET,按下立马复位重启 按键3是升级按键RECOVER,配合RESET按键可以使开发板进…

Unity编辑器扩展之Scene视图扩展

内容将会持续更新,有错误的地方欢迎指正,谢谢! Unity编辑器扩展之Scene视图扩展 TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心进取! …

使用cJSON进行JSON文件读写

推荐cJSON下载地址: Git地址:https://github.com/arnoldlu/cJSON 可以尝试:sudo apt-get install libcjson-dev,笔者未使用该方式。 百度AI搜索程序,供参考,部分函数名称应以cJSON模块内定义为主 json文…

游泳耳机哪个牌子的好?四大口碑精品游泳耳机专业推荐!

在追求健康生活的同时,游泳成为了许多人选择的锻炼方式。它不仅能够帮助人们塑造身材,还能有效缓解压力。而在游泳过程中,音乐的陪伴无疑能让人更加享受这段时光。因此,一款适合游泳时使用的耳机,成为了游泳爱好者们不…

CSS学习笔记(01)flex布局

1、首先对父元素设置disiplay:felx, 其有6个属性 fex-direction:设置主轴的方向 justify-content:设置主轴上的子元素排列方式 flex-wrap:设置子元素是否换行 align-content:设置侧轴上的子元素的排列方式(多行) align-items:设置侧轴上的子元素排列方式…

前端性能优化:提升网站加载速度的五个关键技巧

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介前端性能优化:提升网站加载速度的五个关键技巧1. 引言2. 前端性能优化的五个关键技巧2.1 减少HTTP请求技巧说明实现示例 2.2 启用浏览器缓存技巧说明实现示例 2.3 使用内容分发网络(CDN)技巧说明…