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…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...







