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…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...
Windows 下端口占用排查与释放全攻略
Windows 下端口占用排查与释放全攻略 在开发和运维过程中,经常会遇到端口被占用的问题(如 8080、3306 等常用端口)。本文将详细介绍如何通过命令行和图形化界面快速定位并释放被占用的端口,帮助你高效解决此类问题。 一、准…...

中科院1区顶刊|IF14+:多组学MR联合单细胞时空分析,锁定心血管代谢疾病的免疫治疗新靶点
中科院1区顶刊|IF14:多组学MR联合单细胞时空分析,锁定心血管代谢疾病的免疫治疗新靶点 当下,免疫与代谢性疾病的关联研究已成为生命科学领域的前沿热点。随着研究的深入,我们愈发清晰地认识到免疫系统与代谢系统之间存在着极为复…...

AI书签管理工具开发全记录(十八):书签导入导出
文章目录 AI书签管理工具开发全记录(十八):书签导入导出1.前言 📝2.书签结构分析 📖3.书签示例 📑4.书签文件结构定义描述 🔣4.1. 整体文档结构4.2. 核心元素类型4.3. 层级关系4.…...