当前位置: 首页 > news >正文

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 |格拉法纳实验室icon-default.png?t=N7T8https://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)题解,最长连续序列 :哈希表 官方解题思路是先去重,然后判断模板长度的数值是否存在,存在就刷新&#xff0c…...

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技巧

背景介绍 在这个信息时代,数据的收集和分析对于旅游行业至关重要。在竞争激烈的市场中,实时获取最新的机票特价信息能够为旅行者和旅游企业带来巨大的优势。 随着机票价格的频繁波动,以及航空公司和旅行网站不断推出的限时特价优惠&#xff…...

【大模型】在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…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...