Prometheus快速入门

news2024/11/17 16:23:06

Prometheus快速入门

环境准备

三台主机,配置好主机名

各自配置好主机名
# hostnamectl set-hostname --static server.cluster.com
...
三台都互相绑定IP与主机名
# vim /etc/hosts            
192.168.126.143  server.cluster.com
192.168.126.142  agent.cluster.com
192.168.126.145  grafana.cluster.com

时间同步

yum install ntp
systemctl restart ntpd && systemctl enable ntpd

关闭防火墙,selinux

systemctl stop firewalld && systemctl disable firewalld && iptables -F


setenforce 0

安装prometheus

https://prometheus.io/download/

找到对应版本,安装到服务器上,解压

[root@server ~]# tar xf prometheus-2.5.0.linux-amd64.tar.gz -C /usr/local/
[root@server ~]# mv /usr/local/prometheus-2.5.0.linux-amd64/ /usr/local/prometheus

启动程序,默认端口9090

[root@server ~]# /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
[root@server ~]# lsof -i:9090
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
prometheu 7667 root    6u  IPv6  44101      0t0  TCP *:websm (LISTEN)
prometheu 7667 root    7u  IPv4  44103      0t0  TCP localhost:53290->localhost:websm (ESTABLISHED)
prometheu 7667 root    8u  IPv6  44104      0t0  TCP localhost:websm->localhost:53290 (ESTABLISHED)
prometheu 7667 root    9u  IPv6  44111      0t0  TCP localhost.localdomain:38972->localhost.localdomain:websm (ESTABLISHED)
prometheu 7667 root   10u  IPv6  44112      0t0  TCP localhost.localdomain:websm->localhost.localdomain:38972 (ESTABLISHED)

访问server的ip:9090端口

在这里插入图片描述

node_exporter安装与监控

在远程主机上安装Download | Prometheus

node_exporter组件

[root@agent ~]# tar xf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/
[root@agent ~]# mv /usr/local/node_exporter-0.16.0.linux-amd64/ /usr/local/node_exporter
[root@agent ~]#  ls /usr/local/node_exporter/    启动
LICENSE  node_exporter  NOTICE
[root@agent ~]# nohup /usr/local/node_exporter/node_exporter &
[1] 23330
[root@agent ~]# nohup: 忽略输入并把输出追加到"nohup.out"

通过浏览器,访问查看agent监控项
在这里插入图片描述

在server上配置

在主配置文件最后加上下面三行
[root@server ~]# vim /usr/local/prometheus/prometheus.yml
 - job_name: 'agent'                    # 取一个job名称来代表被监控的机器
   static_configs:
   - targets: ['192.168.126.142:9100']        # 这里改成被监控机器的IP,后面端口接9100
[root@server ~]# lsof -i:9090
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
prometheu 7667 root    6u  IPv6  44101      0t0  TCP *:websm (LISTEN)
prometheu 7667 root    7u  IPv4  44103      0t0  TCP localhost:53290->localhost:websm (ESTABLISHED)
prometheu 7667 root    8u  IPv6  44104      0t0  TCP localhost:websm->localhost:53290 (ESTABLISHED)
prometheu 7667 root    9u  IPv6  44111      0t0  TCP localhost:38972->localhost:websm (ESTABLISHED)
prometheu 7667 root   10u  IPv6  44112      0t0  TCP localhost:websm->localhost:38972 (ESTABLISHED)
[root@server ~]# pkill prometheus #修改完配置文件 重启服务
[root@server ~]# lsof -i:9090
[root@server ~]# /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
[1] 23543
[root@server ~]# level=info ts=2023-05-04T16:00:11.354230207Z caller=main.go:244 msg="Starting Prometheus" version="(version=2.5.0, branch=HEAD, revision=67dc912ac8b24f94a1fc478f352d25179c94ab9b)"
level=info ts=2023-05-04T16:00:11.354445095Z caller=main.go:245 build_context="(go=go1.11.1, user=root@578ab108d0b9, date=20181106-11:40:44)"
level=info ts=2023-05-04T16:00:11.354489086Z caller=main.go:246 host_details="(Linux 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 server.cluster.com (none))"
level=info ts=2023-05-04T16:00:11.354525505Z caller=main.go:247 fd_limits="(soft=1024, hard=4096)"
level=info ts=2023-05-04T16:00:11.354554918Z caller=main.go:248 vm_limits="(soft=unlimited, hard=unlimited)"
level=info ts=2023-05-04T16:00:11.358685209Z caller=main.go:562 msg="Starting TSDB ..."
level=info ts=2023-05-04T16:00:11.360215886Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1683079200000 maxt=1683115200000 ulid=01GZKMDBKGHH1161QWFQ6EE464
level=info ts=2023-05-04T16:00:11.360393103Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1683115200000 maxt=1683180000000 ulid=01GZKMDBMZ04FVTP1SR9YQ0B2M
level=info ts=2023-05-04T16:00:11.360468037Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1683201600000 maxt=1683208800000 ulid=01GZKME8A224D3NDWWAK8Q6348
level=info ts=2023-05-04T16:00:11.360616789Z caller=repair.go:35 component=tsdb msg="found healthy block" mint=1683180000000 maxt=1683201600000 ulid=01GZKME8B3NEJPEYB1F74NTAEQ
level=info ts=2023-05-04T16:00:11.390491481Z caller=web.go:399 component=web msg="Start listening for connections" address=0.0.0.0:9090
level=info ts=2023-05-04T16:00:11.625912608Z caller=main.go:572 msg="TSDB started"
level=info ts=2023-05-04T16:00:11.626158258Z caller=main.go:632 msg="Loading configuration file" filename=/usr/local/prometheus/prometheus.yml
level=info ts=2023-05-04T16:00:11.630983558Z caller=main.go:658 msg="Completed loading of configuration file" filename=/usr/local/prometheus/prometheus.yml
level=info ts=2023-05-04T16:00:11.631023506Z caller=main.go:531 msg="Server is ready to receive web requests."

[root@server ~]# lsof -i:9090
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
prometheu 23543 root   12u  IPv6  83590      0t0  TCP *:websm (LISTEN)
prometheu 23543 root   13u  IPv4  83592      0t0  TCP localhost:53294->localhost:websm (ESTABLISHED)
prometheu 23543 root   14u  IPv4  83598      0t0  TCP localhost:53296->localhost:websm (ESTABLISHED)
prometheu 23543 root   15u  IPv6  83593      0t0  TCP localhost:websm->localhost:53294 (ESTABLISHED)
prometheu 23543 root   16u  IPv6  83599      0t0  TCP localhost:websm->localhost:53296 (ESTABLISHED)

查看服务器监控:

在这里插入图片描述

监控远程mysql

被管理机agent上安装mysqld_exporter组件

https://prometheus.io/download/

[root@agent ~]# tar xf mysqld_exporter-0.11.0.linux-amd64.tar.gz -C /usr/local/
[root@agent ~]# mv /usr/local/mysqld_exporter-0.11.0.linux-amd64/ /usr/local/mysqld_exporter
[root@agent ~]# ls /usr/local/mysqld_exporter/
LICENSE  mysqld_exporter  NOTICE   


安装mariadb数据库,并授权

[root@agent ~]# yum install mariadb-server -y

 systemctl restart mariadb && systemctl enable mariadb

授权

[root@agent ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by '123';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>  flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit
Bye               


配置文件,写上连接的用户名与密码(和上面的授权的用户名和密码要对应)

[root@agent ~]# vim /usr/local/mysqld_exporter/.my.cnf
[client]
user=mysql_monitor
password=123

[root@agent ~]# nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf &
[1] 24167
[root@agent ~]# nohup: 忽略输入并把输出追加到"nohup.out"

[root@agent ~]#  lsof -i:9104
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld_ex 24167 root    3u  IPv6  89261      0t0  TCP *:peerwire (LISTEN)

去server配置

在主配置文件最后再加上下面三行
[root@server ~]# vim /usr/local/prometheus/prometheus.yml
 - job_name: 'agent_mariadb'                    # 取一个job名称来代表被监控的mariadb
   static_configs:
   - targets: ['192.168.126.142:9104']                # 这里改成被监控机器的IP,后面端口接9104


重启服务
[root@server ~]# pkill prometheus
[root@server ~]# lsof -i:9090
[root@server ~]# /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
[root@server ~]# lsof -i:9090

进入web界面,点击target

在这里插入图片描述

grafana

官网

https://grafana.com/

下载

https://grafana.com/grafana/download

选择另一台主机安装

#根据你虚拟机的型号在官网下载中选择

sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-9.5.1-1.x86_64.rpm



[root@grafana ~]# systemctl start grafana-server
[root@grafana ~]# systemctl enable grafana-server
Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.

#监听端口

[root@grafana ~]# lsof -i:3000
COMMAND  PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
grafana 7555 grafana    9u  IPv6  43695      0t0  TCP *:hbci (LISTEN)

输入IP地址:3000即可访问

(如果无法打开请检查防火墙或者selinux)

在这里插入图片描述

首次登录用户名和密码都是admin

并且可以修改

进入主界面

在这里插入图片描述

grafana添加数据源

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

导入mysql监控json模板

https://github.com/percona/grafana-dashboards

  • 导入dashboards里的json模板

  • 查看错误

    在这里插入图片描述

  • 更改数据源名称

    在这里插入图片描述

  • 再次查看面板

    在这里插入图片描述

onealert报警

  • 为监控项面板创建规则

    在这里插入图片描述

  • 进入睿象云,按照提示配置

    睿象云-智能告警平台 (aiops.com)

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

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

相关文章

归并排序(看了就会)

目录 概念1. 基本思想2. 实现逻辑3. 复杂度分析4、代码 概念 归并排序,是创建在归并操作上的一种有效的排序算法。算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。归并排序思路简单&…

智头条|欧盟达成《人工智能法》协议,全球前沿科技齐聚AWE 2023

行业动态 华为云联手多方推进数字化,软通动力深度参与 华为云宣布启动“‘百城万企’应用现代化中国行”,旨在推动应用现代化进程、助力数字中国高质量落地。软通动力是该行动的参与者之一,共同探索符合区域特点、产业趋势、政企现状的数字化…

Python进阶(Linux操作系统)

一,操作系统 1.1,Linux系统基础操作 1.2,linux进程与线程 1.2.1并发,并行 (1)并发:在一段时间内交替的执行多个任务:对于单核CPU处理多任务,操作系统轮流让让各个任务…

BasicVSR++代码解读(总体介绍)

本文代码主要来自于OpenMMLab提供的MMEditing开源工具箱中的BasicVSR代码。第一部分的解读主要是针对每一个部分是在做什么提供一个解释,便于后续细读每一个块的细节代码。 (1)导入库     basicvsr_plusplus_net中主要继承了torch,mmcv,m…

信号的产生——线性调频函数

信号的产生——线性调频函数 产生线性调频扫频信号函数chirp的调用格式如下: (1)y chirp(t,f0, t1,f1) 功能:产生一个线性(频率随时间线性变化)信号,其时间轴设置由数组t定义。时刻0的瞬间频…

SpringBoot的配置文件、日志文件

一、配置文件( .properties、.yml) 1、.properties 配置文件 1.1、格式 1.2、基本语法 1.2.1、如:一般配置(以键值的形式配置的,key 和 value 之间是以“”连接的。) 1.2.2、如:自定义配置&a…

tcc-transaction 源码分析

tcc介绍 tcc介绍查看我之前的文章: https://caicongyang.blog.csdn.net/article/details/119721282?spm1001.2014.3001.5502 tcc-transaction 介绍: http://mengyun.org/zh-cn/index.html 本文基于2.x 最新版本:https://github.com/changmingxie/tcc…

以京东为例,分析优惠价格叠加规则

一、平行优惠计算原则 1、什么是“平行式门槛计算规则”? 平行式门槛计算规则,即每一层级优惠都直接根据商品的单品基准价来计算是否符合门槛,店铺/平台促销、优惠券类优惠之间是并列关系,只要单品基准价或单品基准价总和&#x…

c++(类和对象中)

【本节目标】 1. 类的6个默认成员函数 2. 构造函数 3. 析构函数 4. 拷贝构造函数 5. 赋值运算符重载 6. const成员函数 7. 取地址及const取地址操作符重载 目录 1、类的6个默认成员函数 2、构造函数 2.1概念 2.2特性 3.析构函数 3.1概念 3.2特性 4.拷贝构造函数…

Kafka生产者

一、生产者发送流程 在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka …

网络应用基础 ——(2023新星计划文章二)

一,TCP/UDP报头 1.1TCP报文头部详解 Source port:源端口号与Destination port目标端口号: 在TCP(传输控制协议)协议中,源端口和目标端口字段用于标识通信会话的端点。 (1)源端口是一个16位字段…

LeetCode 1206. 实现跳表

不使用任何库函数,设计一个跳表。 跳表是在 O(log(n)) 时间内完成增加、删除、搜索操作的数据结构。跳表相比于树堆与红黑树,其功能与性能相当,并且跳表的代码长度相较下更短,其设计思想与链表相似。 例如,一个跳表包…

3.数据查询(实验报告)

目录 一﹑实验目的 二﹑实验平台 三﹑实验内容和步骤 四﹑命令(代码)清单 五﹑调试和测试清单 一﹑实验目的 掌握使用Transact-SQL的SELECT语句进行基本查询的方法;掌握使用SELECT语句进行条件查询的方法;掌握SELECT语句的GROUP BY、ORDER BY以及UN…

MX6U根文件系统配置

编译 BusyBox 构建根文件系统 /home/ /linux/nfs mkdir rootfs tar -vxjf busybox-1.29.0.tar.bz2 依照自己的交叉编译 不然会出错 配置好 busybox 以后就可以编译了,我们可以指定编译结果的存放目录,我们肯定要将编 译结果存放到前面创建的 rootfs 目录…

(leetcode)66. 加一 67. 二进制求和(详解)

目录 66. 加一 思路 代码 67. 二进制求和 思路 代码 66. 加一 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这…

7个最好的WordPress LMS在线学习管理系统比较

您是否正在为您的 WordPress 网站寻找最好的 LMS 在线学习管理系统插件? 学习管理系统 (LMS) 插件允许您创建和运行类似 Udemy 和 LearnDesk 等在线课程。一个完美的 WordPress LMS 插件拥有您管理在线课程、运行和评分测验、接受付款等所需的一切。 在本文中&…

【MySql】数据库 select 进阶

数据库 数据库表的设计ER 关系图三大范式 聚合函数与分组查询聚合函数 (count、sum、avg、max、min)分组查询 group by fields....having....(条件) 多表联查内连接外连接(左连接,右连接)自连接子查询合并查询 UNION 数据库表的设计 ER 关系…

在Centos中metabase安装与配置(bi工具)

1 metabase介绍 metabase是一款开源的BI分析工具,开发语言clojureReact为主、也有高阶的收费版。 官网:https://www.metabase.com/ 可以利用Metabase进行数据分析,数据可视化,报表生成等。开源地址:https://github.co…

(五)【平衡小车制作】位置式PID、直立环与速度环概念

声明:本博客是B站视频【天下行走的平衡小车视频】的笔记 一、PID控制算法概念 PID控制,即为对偏差进行比例、积分和微分控制。由三个元素构成:比例(P),积分(I),微分(D&…

Linux系统应用编程(六)Linux网络编程(下篇)

本篇主要内容: 一、Linux的文件描述符二、多路IO转接(上)1.基础版多路IO转接select▶ 关于select( )函数▶ select( )改写上篇案例 2.加强版多路IO转接poll3.顶配版多路IO转接epoll▶ epoll相关函数(1)创建监听红黑树&…