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

这时模板就导入成功了

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

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

相关文章

C++之循环中使用auto关键字

在C中,auto是一个类型说明符,用于自动推导变量的类型。编译器会根据初始化表达式的类型来自动推断变量的类型。使用auto可以使代码更加简洁,并减少手动键入类型信息的需要,尤其是在处理复杂类型或模板时。 在C中,使用…

codeTop102:二叉树的层序遍历

前言 在已知BFS的方式后,知道每次从队列中取一个节点,就要将这个节点的所有子节点按照顺序放入队列。 难点在于怎么确定将同一层的节点放在一个数组里面的输出,也就是输出一个二维数组? 解决方法: 每次while循环将队列上轮放入的…

android四大组件之一ContentProvider

ContentProvider ContentProvider 是 Android 中用于实现数据共享的一种组件,它可以让不同的应用程序之间共享数据。数据通常以表格的形式组织,类似于数据库的表。其他应用程序可以通过 ContentResolver 来查询或修改这些数据。 ContentProvider、Conten…

什么是C++中的指针和引用?它们有什么区别?/ 数组名和指针(这里为指向数组首元素的指针)区别?

一、什么是C中的指针和引用?它们有什么区别? 在C中,指针和引用都是重要的概念,它们用于处理内存地址和变量之间的关系,但两者之间存在明显的区别。 指针是一个特殊的变量,其值为另一个变量的地址。换句话…

【课程】Mysql优化

Mysql优化教程01-关键技术.wmvMysql优化教程02-表的设计.wmvMysql优化教程03-慢查询(一).wmvMysql优化教程04-慢查询(二).wmvMysql优化教程05-慢查询(三).wmv Mysql优化教程06-索引(一).wmv Mysql优化教程07-索(二).wmv Mysql优化教程08-索引(三).wmv Mysql优化教程09-索(四).w…

Vue2(十):全局事件总线、消息订阅与发布、TodoList的编辑功能、$nextTick、动画

一、全局事件总线!! 任意组件间通信 比如a想收到别的组件的数据,那么就在a里面给x绑定一个demo自定义事件,所以a里面就得有一个回调函数吧,然后我要是想让d组件给a穿数据,那就让d去触发x的自定义事件&…

洛谷_P2678 [NOIP2015 提高组] 跳石头_python写法

P2678 [NOIP2015 提高组] 跳石头 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) d, n, m map(int,input().split())data [0] for i in range(n):value int(input())data.append(value) data.append(d)def check(mid):now 0cnt 0for i in range(1,n2):if abs(data[now]-da…

【课程】Nginx核心知识100讲

02.Nginx 适用于哪些场景 ?.mp4 03.Nginx 出现的历史背景.mp4 04.为什么用 Nginx : 它的 5 个主要优点mp4 05.Nginx 的四个主要组成部分.mp4 06.Nginx 的版本发布历史.mp4 07.选择哪一个 Nginx 发行版本 ?.mp4 08.编译出适合自己的 Nginx.mp4 09.Nginx 配置文件的通用语法介绍…

机器学习(27)

文章目录 文献阅读1. 题目2. abstract3. 网络架构3.1 Theoretical Results 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 数据集4.3.2 参数设置 4.4 结论 三、实现GAN1. 任务要求2. 实验结果3.实验代码3.1数据准备3.2 模型构建3.3 展示函数3.4 训练过程 小结本周内…

从0写一个问卷调查APP的第13天-1

1.今日任务 我也只是一个大学生,有什么思路不对的地方给我指出来哟! 分析:上次我们实现了任务调查的插入。但是我们插入的问卷调查只有它的标题,也就是这个问卷调查是什么我们告诉数据库了,但是现在我们还没有给它添加任何问题&…

蓝桥杯真题:幸运数字

这道题可以用 integer.string()求每个进制的数,但这里要每一位数相加,所以用这个方法会比较麻烦,如下 import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner scan new Sc…

图像去噪与增强技术

图像去噪与增强技术是数字图像处理领域中的两个重要方面,它们分别关注消除图像中的噪声和改善图像的质量。 图像去噪技术的主要目的是从受噪声干扰的图像中去除不必要的随机信号,以恢复图像的真实内容。这对于图像的进一步分析和理解至关重要。去噪技术包…

华为OD机试真题-推荐多样性-2024年OD统一考试(C卷)

题目描述: 推荐多样性需要从多个列表中选择元素,一次性要返回N屏数据(窗口数量),每屏展示K个元素(窗口大小),选择策略: 1. 各个列表元素需要做穿插处理,即先从第一个列表中为每屏选择一个元素,再从第二个列表中为每屏选择一个元素,依次类推 2. 每个列表的元素尽量均…

spring注解驱动系列--AOP探究二

上篇中记录了AnnotationAwareAspectJAutoProxyCreator的创建以及注册,主要是 1、EnableAspectJAutoProxy 注解会开启AOP功能 2、然后这个注解会往容器中注册一个AnnotationAwareAspectJAutoProxyCreator组件。 3、之后在容器创建过程中,注册后置处理器&a…

蓝桥杯刷题_day1_回文数_水仙花数_进制转换

文章目录 特殊的回文数回文数水仙花数十六进制转八进制_n次 特殊的回文数 问题描述   123321是一个非常特殊的数,它从左边读和从右边读是一样的。   输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。 解题…

关于四篇GNN论文的阅读笔记PPT:包括GATNE,AM-GCN,HGSL和coGSL

关于四篇GNN论文的阅读笔记PPT:包括GATNE,AM-GCN,HGSL和coGSL 前言GATNEAM-GCNHGSLcoGSL 前言 这里的PPT主要是在跟Graph Transformer一起的: 【图-注意力笔记,篇章1】Graph Transformer:包括Graph Trans…

mysql基础3索引

存储引擎 存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式 。存储引擎是基于表的,而不是 基于库的,所以存储引擎也可被称为表类型。 1). 建表时指定存储引擎 CREATE TABLE 表名(字段1 字段1类型 [ COMMENT 字段1注释 ] ,......字段n…

JAVA的学习日记DAY4

算术运算符 关系运算符(比较运算符) 关系运算符的结果都是boolean型,也就是要么是true,要么是false 关系表达式 经常用在if结构的条件中或循环结构的条件中 逻辑运算符 && 和 & 使用区别 &&短路与&#xff…

python学习9:python的代码中的数据类型转换

python中数据类型的转换 1.为什么需要转换类型呢? 数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字,数字转字符串等;数据类型转换,在以后是我们经常使用到的功能,例如…

五、分布式锁-redission

源码仓库地址:gitgitee.com:chuangchuang-liu/hm-dingping.git 1、redission介绍 目前基于redis的setnx特性实现的自定义分布式锁仍存在的问题: 问题描述重入问题同一个线程无法多次获取统一把锁。当方法A成功获取锁后,调用方法B&#xff0…