Linux:Prometheus的源码包安装及操作(2)
环境介绍
三台centos 7系统,运行内存都2G
1.prometheus监控服务器:192.168.6.1 主机名:pm
2.grafana展示服务器:192.168.6.2 主机名:gr
3.被监控服务器:192.168.6.3 主机名:ag
上面均可连接外网
1.初始化服务器
同时修改三台主机的hosts
vim /etc/hosts在末尾添加192.168.6.1 pr
192.168.6.2 gr
192.168.6.3 ag
根据你的ip去配置,三台都添加
时间同步,三台都要去配置,以下操作三台主机都要做
yum -y install ntp
ntpdate -u times.aliyun.com
2.安装Prometheus
官网下载安装包

https://github.com/prometheus/prometheus/releases/download/v2.51.0/prometheus-2.51.0.linux-amd64.tar.gz
下载链接
下载完再上传到服务器上

tar xf prometheus-2.50.1.linux-amd64.tar.gz
mv prometheus-2.50.1.linux-amd64 /usr/local/prometheus

使用他默认的配置文件就行
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

lsof -i:9090

访问方法:服务器ip:9090
自动就跳转到这个上面了


这个就是监控的主机
服务器ip:9090/metrics
这个就是被监控机的数据,他默认是监控自己的,所以在自己这个上面就有个这个
现在我再回到主界面
其实他现在就以及可以去收集数据进行一个简单的展示了,现在我去监控一下cpu
比如net网络
直接就有了
这样就可以了
3.Prometheus监控其他主机
在其他主机上安装node_exporter组件,再拿Prometheus收集信息机可以得到数据进行监控了
在被监控主机上安装node组件,这样普罗米修斯就可以获取到其他主机数据了

https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
下载好了放到被监控(ag)Linux系统中

他不能监控其他服务,他只能监控系统,比如网络,cpu,内存等信息
再次注意这是ag主机中的操作:
tar xf node_exporter-1.7.0.linux-amd64.tar.gz
mv node_exporter-1.7.0.linux-amd64 /usr/local/node_exporter

期待的node_exporter
nohup /usr/local/node_exporter/node_exporter &

运行成功
但是他现在和我的普罗米修斯还没有任何关系,我目前只是安装个小软件把他运行起来了,我需要去普罗米修斯的配置文件里去修改一下文件,让他来收集咱新搭建的这个node组件所产生的信息,就可以达到持续监控的效果
现在再回到pr主机也就刚刚部署Prometheus主机
vim /usr/local/prometheus/prometheus.yml

添加这三行
- job_name: "ag" # 起个名static_configs: # 静态配置- targets: ["192.168.6.3:9100"] # 根据组件的端口号进行添加
配置完了之后再去重启 Prometheus
pkill prometheus
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

只要有9090就行了
再去web页面


这样就成功监控了
4.Prometheus监控mysql
现在我想在ag主机上部署个mysql并监控,直接用node插件进行监控肯定是不行的,怎么办呢?我直接下载个mysql插件就可以进行监控了

https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz
下载了之后直接放到要监控的主机上也就是ag主机,办法和node插件差不多,我的mysql也在ag主机上

先安装个mysql我这里使用的是mariadb
yum -y install mariadb*
systemctl start mariadb
systemctl enable mariadb
mysql
我们进来之后要创建一个账户,因为监控系统需要一个账户才能进行收集信息
grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by '123';
用户名为 mysql_monitor 密码为123 只可以在本地登录
flush privileges;
exit;
这样mysql内的设置就结束了,去部署组件就行了
tar xf mysqld_exporter-0.15.1.linux-amd64.tar.gz
mv mysqld_exporter-0.15.1.linux-amd64 /usr/local/mysqld_exporter

解压完之后还要去调整一下文件内容、去填写账户信息
vim /usr/local/mysqld_exporter/.my.cnf写入内容[clinet]
user=mysql_monitor
password=123
这个文件是手工创建的,默认是没有的
这样就可以去启动mysql监控组件了
nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf &

只要有9104就配置成功了
和node一样,在被监控机上配置好了,还需要去Prometheus主机上设置一下监控就可以了
回到Prometheus主机上
pkill prometheus
再去编辑他的一个配置文件
vim /usr/local/prometheus/prometheus.yml

和node组件基本一样,就是换个名,换个监控位置
- job_name: "mariadb" # 起个名static_configs: # 静态配置- targets: ["192.168.6.3:9104"] # 根据组件的端口号进行添加
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

一定要看看有没有9090是否启动成功

再回到prometheus的web页面查看,可以看到监控成功了
5.安装grafana
下载 Grafana |格拉法纳实验室
https://grafana.com/grafana/download官方下载地址
https://dl.grafana.com/enterprise/release/grafana-enterprise-10.4.0-1.x86_64.rpm
这个就是rpm的地址
下载放入Linux,如果你Linux有网的话可以直接使用
yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.4.0-1.x86_64.rpm
这样也是可以的,可能就是很慢,在Windows上可以用下载工具
把包放入gr服务器也就是192.168.6.2

yum -y install ./grafana-enterprise-10.4.0-1.x86_64.rpm
systemctl start grafana-server
systemctl enable grafana-server

只要3000端口启动了就行
访问地址:服务器ip:3000

账户密码都是admin

再设置新密码
这样就进来了
现在我们应该让他和Prometheus去联合一下,Prometheus和node等插件进行收集,使用grafana进行展示,所以我现在应该把Prometheus和grafana联合起来
6.在grafana添加Prometheus数据源

添加数据源

选择Prometheus
这里主要修改的就是名字和ip


下面根据自己的情况去选择,我们这里都用默认的了

直接保存就行了

在这里就可以看到数据源
这样数据源就添加成功了
7. 设置数据源的图形化仪表板
有了数据源,就可以去创建仪表盘
创建一个仪表盘


这里选择数据源


现在我来添加一个

这里是选择要监控的数据

我这里选择node插件的数据,也就是监控ag主机上的信息,选择完然后点击后面的Run queries

这里可以选择监控多个数据 
我这选择的是1分钟5分钟15分钟内的负载情况,这个就是ag主机上的一个信息

此外在要监控的数据条目以外,还可以去设置简单的表达式,比如通过主机ip或者主机名称去查看或者不查看某些内容
这个意思就是查看ip为192.168.6.3:9100的主机

这个就是查看主机名为ag的主机信息

这个就是不查看主机为ag的信息

此外除了这几个还有好多条件

点击这个就可以切换仪表板
有非常多的仪表盘

下面这些就对仪表盘的参数设置,我这里没有过多的要求,就全使用默认了,实际情况要跟据自己的要求去设置

设置完了就点击apply

这个相当于一个小组,组内可以有好多个仪表盘,设置好了之后再去进行保存

保存即可

后期直接点进去就可以看到当初设置的仪表盘了
8.导入仪表盘的模板
我在前面还安装了mysql,于是我下载了个mysql的监控模板,接下来演示一下,如果导入现成的模板
vim /etc/grafana/grafana.ini在末尾添加[dashboards.json]
enabled = true
path = /var/lib/grafana/dashboards

把github上的仪表盘下载下来
GitHub - percona/grafana-dashboards: PMM dashboards for database monitoring
下载完了再解压

同时把这个 文件整个文件放入Linux的/var/lib/grafana/中
cd /var/lib/grafana/
放文件 grafana-dashboards-main
mkdir dashboards
cp -rf grafana-dashboards-main/dashboards/MySQL/* /var/lib/grafana/dashboards
systemctl restart grafana-server.service
再去grafana的web界面



选择MySQL_Instances_Overview.json


这时模板就导入成功了
相关文章:
Linux:Prometheus的源码包安装及操作(2)
环境介绍 三台centos 7系统,运行内存都2G 1.prometheus监控服务器:192.168.6.1 主机名:pm 2.grafana展示服务器:192.168.6.2 主机名:gr 3.被监控服务器:192.168.6.3 …...
MongoDB聚合运算符:$integral
文章目录 语法使用举例 $integral聚合运算符只能用在$setWindowField阶段,返回曲线下面积的近似值,该曲线是使用梯形规则计算的,其中每组相邻文档使用以下公式形成一个梯形: $setWindowFields阶段中用于积分间隔的sortBy字段值$i…...
手撕算法-买卖股票的最佳时机 II(买卖多次)
描述 分析 使用动态规划。dp[i][0] 代表 第i天没有股票的最大利润dp[i][1] 代表 第i天持有股票的最大利润 状态转移方程为:dp[i][0] max(dp[i-1][0], dp[i-1][1] prices[i]); // 前一天没有股票,和前一天有股票今天卖掉的最大值dp[i][1] max(dp[i-1…...
技术创新与产业升级
在政府工作报告中,新兴技术如云计算、大数据、人工智能等被多次提及,这反映了政府高度重视新一代信息技术在推动经济社会发展中的重要作用。对于计算机行业而言,抓住这些新兴技术的发展机遇,推动技术创新和产业升级,将是未来发展的关键所在。 云计算作为一种新兴的计算模式,正…...
透视未来工厂:山海鲸可视化打造数字孪生新篇章
在信息化浪潮的推动下,数字孪生工厂项目正成为工业制造领域的新宠。作为一名山海鲸可视化的资深用户,我深感其强大的数据可视化能力和数字孪生技术在工厂管理中的应用价值,同时我们公司之前也和山海鲸可视化合作制作了一个智慧工厂项目&#…...
三.寄存器(内存访问)
1.内存中字的存储 2.并不是所有cpu都支持将数据段送入段寄存器,所以有时候用个别的寄存器先把数据段存储起来,再把该寄存器mov到段寄存器。 3.字的传送 4.栈 5.栈机制 举例说明 6.栈顶超界问题 push超界 pop超界 7.栈段...
Day31 贪心算法
Day31 贪心算法 455.分发饼干 我的思路: 小孩数组g指针一直前移,只有饼干数组s满足条件时,才前移,并且更新num 解答: class Solution {public int findContentChildren(int[] g, int[] s) {Arrays.sort(g);Arrays.…...
【WEEK4】 【DAY5】AJAX - Part Two【English Version】
2024.3.22 Friday Following the previous article 【WEEK4】 【DAY4】AJAX - Part One【English Version】 Contents 8.4. Ajax Asynchronous Data Loading8.4.1. Create User.java8.4.2. Add lombok and jackson support in pom.xml8.4.3. Change Tomcat Settings8.4.4. Mo…...
力扣100热题[哈希]:最长连续序列
原题:128. 最长连续序列 题解: 官方题解:. - 力扣(LeetCode)题解,最长连续序列 :哈希表 官方解题思路是先去重,然后判断模板长度的数值是否存在,存在就刷新,…...
python笔记基础--文件和存储数据(7)
目录 1.从文件中读取数据 2.写入文件 3.存储数据 3.1使用json.dump()和json.load() 3.2保存和读取用户生成的数据 3.3重构 1.从文件中读取数据 读取整个文件 with open(data.txt) as file_object: contents file_object.read()print(contents)print(contents.rstrip…...
Vue黑马笔记(最新)
VUE vue是一个用于构建用户界面的渐进式框架 创建一个VUE实例 核心步骤: 准备容器引包(官网)-开发版本/生产版本创建一个vue实例 new vue()指定配置项->渲染数据 el指定挂载点(选择器),指定管理的是哪个容器。dat…...
安全工具介绍 SCNR/Arachni
关于SCNR 原来叫Arachni 是开源的,现在是SCNR,商用工具了 可试用一个月 Arachni Web Application Security Scanner Framework 看名字就知道了,针对web app 的安全工具,DASTIAST吧 安装 安装之前先 sudo apt-get update sudo…...
赋能数据收集:从机票网站提取特价优惠的JavaScript技巧
背景介绍 在这个信息时代,数据的收集和分析对于旅游行业至关重要。在竞争激烈的市场中,实时获取最新的机票特价信息能够为旅行者和旅游企业带来巨大的优势。 随着机票价格的频繁波动,以及航空公司和旅行网站不断推出的限时特价优惠ÿ…...
【大模型】在VS Code(Visual Studio Code)上安装中文汉化版插件
文章目录 一、下载安装二、配置显示语言(一)调出即将输入命令的搜索模式(二)在大于号后面输入:Configure Display Language(三)重启 三、总结 【运行系统】win 11 【本文解决的问题】 1、英文不…...
自定义WordPress顶部的菜单的方法
要自定义WordPress顶部的菜单,你需要使用WordPress的菜单系统。首先,你需要创建自定义菜单,然后将其设置为顶部导航菜单。 以下是创建自定义菜单并设置其为顶部导航菜单的步骤: 登录到WordPress管理界面。转到“外观”>“菜单…...
独孤思维:流量暴涨,却惨遭违规
最近独孤操作虚拟资料短视频,有个很深的感悟。 每天发10条短视频,积累到20天左右,播放量和粉丝数开始暴涨。 虽然很多牛比的比我数据好,但是对于刚做短视频的独孤来说,我已经满足了。 但是又发了10来天,…...
【python 装饰器 - 重试】做一个简易重试装饰器,如果函数执行错误则会自动重新执行,可设置重试次数,对爬虫比较友好
文章日期:2024.03.19 使用工具:Python 类型:装饰器 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js 标准算法)&…...
Linux线程补充之——同步
一、Linux线程同步 同步是相对于竞争的概念; 同步就是在保证安全的前提下啊,按照一定的顺序访问临界资源; 所有的资源一定是先访问的临界资源,申请失败然后才进行排队的;互斥锁保证的是来访问的进程只允许…...
面试九 设计模式
单例模式通常被归类为创建型设计模式,因为它主要关注如何创建对象的实例,以及如何确保在整个应用程序生命周期中只有一个实例存在。 1.为什么日志模块和数据库连接池需要单例模式 使用单例模式来实现数据库连接池主要有以下几个原因: 全局唯…...
c++和c语言的区别实例
C和C语言在程序设计领域内具有深远的影响,它们不仅丰富了编程的世界,也为软件开发人员提供了强大的工具。虽然C是在C语言的基础上发展起来的,但两者之间存在着一些关键的区别。为了更深入地理解这些不同,本文将从多个维度探讨C和C…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...







