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,一经查实,立即删除!

相关文章

codeTop102:二叉树的层序遍历

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

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…

机器学习(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…

关于四篇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…

腾讯云服务器价格查询系统,2024年1年、3年和5年活动价格表

腾讯云服务器多少钱一年?61元一年起。2024年最新腾讯云服务器优惠价格表,腾讯云轻量2核2G3M服务器61元一年、2核2G4M服务器99元一年可买三年、2核4G5M服务器165元一年、3年756元、轻量4核8M12M服务器646元15个月、4核16G10M配置32元1个月、312元一年、8核…

Java生成动态图形验证码

dome /*** ClassName : VerifyCodeController* Description : 图片验证码* Author : llh* Date: 2024-03-22 10:48*/ Controller RequestMapping("/verifycode") public class VerifyCodeController {Resourceprivate StringRedisTemplate stringRedisTemplate;Get…

YOLOv8:Roboflow公开数据集训练模型

Roboflow公开数据集 Roboflow是一个提供计算机视觉数据集管理和处理工具的平台。虽然Roboflow本身并不创建或策划公开数据集,但它提供了一系列功能,帮助用户组织、预处理、增强和导出计算机视觉数据集。 官方网站:https://universe.roboflow…

求解完全背包问题

10.求解完全背包问题 - 蓝桥云课 (lanqiao.cn) import os import sys# 请在此输入您的代码 taotal_w,nmap(int,input().split()) w[] v[] dp[0]*(taotal_w1) #物品无限使用不用考虑 for i in range(n):wi,vimap(int,input().split())w.append(wi)v.append(vi)for i in range(n…

C++String类

1. 前言 String是C中操作字符串的类,它是在比较早的时候设计的STL模板,因此在某些地方设计的有些冗余 对于String类,不仅仅是学会使用它,更重要的是要从底层去理解它;本篇文章将从底层出发,模拟实现常用的S…

2024年阿里云服务器价格查询系统,最新报价

2024年腾讯云服务器优惠价格表,一张表整理阿里云服务器最新报价,阿里云服务器网整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单,大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新的云服务器优惠券…

反激电源进阶及充电器基础认知

前言 反激开关电源核心工作原理,学会了这个原理,就代表着你的双脚已经全部跨入了开关电源世界的大门了。_哔哩哔哩_bilibili 最近不小心看了上面这个视频,有点感觉。 本文是 从开关电源(BMS充电器)入门硬件之——开…