Ubuntu20.04安装Prometheus监控系统

news2024/11/26 7:45:37
环境准备:
服务器名称内网IP公网IP
Prometheus服务器192.168.0.23047.119.21.167
Grafana服务器192.168.0.23147.119.22.8
被监控服务器192.168.0.23247.119.22.82

更改主机名方便辨认

hostnamectl set-hostname prometheus
hostnamectl set-hostname grafana
hostnamectl set-hostname agent

三台都互相绑定IP与主机名

vim /etc/hosts
​
192.168.0.230 prometheus
192.168.0.231 grafana
192.168.0.232 agent

时间同步

检查时间:
timedatectl status
​
修改时区
timedatectl set-timezone Asia/Shanghai

关闭防火墙

输入以下命令以禁用防火墙服务:
systemctl stop ufw.service
​
输入以下命令以确认防火墙服务已关闭:
systemctl disable ufw.service
​
输入以下命令以确认防火墙状态:
ufw status
如果终端输出“Status: inactive”,则表示防火墙已成功关闭。

1、安装Prometheus

从 https://prometheus.io/download/ 下载相应版本,安装到服务器上,官网提供的是二进制版,解压就能用,不需要编译

下载tar包
wget https://github.com/prometheus/prometheus/releases/download/v2.53.0/prometheus-2.53.0.linux-amd64.tar.gz
​
解压
tar xf prometheus-2.53.0.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/prometheus-2.53.0.linux-amd64/ /usr/local/prometheus
​
直接使用默认配置文件启动
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
​
确认端口(9090)
lsof -i:9090

2、Prometheus界面

通过浏览器访问http://服务器IP:9090就可以访问到prometheus的主界面

默认只监控了本机一台,点Status --》点Targets --》可以看到只监控了本机

监控的本机信息如下:

3、主机数据展示

在web主界面可以通过关键字查询监控项

比如输入关键词:process_cpu_seconds_total

点击Execute执行,就会看出相应的图形数据

4、监控远程Linux主机

① 在远程linux主机(被监控端agent)上安装node_exporter组件,下载地址: https://prometheus.io/download/(可自行下载)

下载tar包
wget https://tongyf.oss-cn-shenzhen.aliyuncs.com/node_exporter-1.8.1.linux-amd64.tar.gz
​
解压
tar xf node_exporter-1.8.1.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/node_exporter-1.8.1.linux-amd64/ /usr/local/node_exporter
​
里面就一个启动命令node_exporter,可以直接使用此命令启动
nohup /usr/local/node_exporter/node_exporter &
​
确认端口9100:
lsof -i:9100

扩展: nohup命令: 如果把启动node_exporter的终端给关闭,那么进程也会随之关闭。nohup命令会帮你解决这个问题。

② 通过浏览器访问http://被监控端IP:9100/metrics就可以查看到node_exporter在被监控端收集的监控信息

③ 回到prometheus服务器的配置文件里添加被监控机器的配置段

在主配置文件最后加上下面三行

[root@prometheus]# vim /usr/local/prometheus/prometheus.yml
- job_name: 'agent' # 取一个job名称来代表被监控的机器
static_configs:
- targets: ['192.168.0.232:9100'] # 这里改成被监控机器的IP,后面端口接9100
关闭服务
pkill prometheus
​
确认端口没有进程占用
lsof -i:9090
​
重启服务
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
​
确认端口被占用,说明重启成功
lsof -i:9090

④ 回到web管理界面 --》点Status --》点Targets --》可以看到多了一台监控目标

5、监控远程MySQL

① 在被管理机agent1上安装mysqld_exporter组件,下载地址: https://prometheus.io/download/

下载tar包
wget https://tongyf.oss-cn-shenzhen.aliyuncs.com/mysqld_exporter-0.15.1.linux-amd64.tar.gz
​
解压
tar xf mysqld_exporter-0.15.1.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/mysqld_exporter-0.15.1.linux-amd64/ /usr/local/mysqld_exporter

切换目录至/usr/local/mysqld_exporter下,新增配置文件.my-exporter.cnf

[client]
user=exporter 
password=Exporter1234!
host=127.0.0.1
port=3306

根据配置文件启动mysqld_exporter,并将数据暴露到9104端口,并且通过参数指定暴露的数据

./mysqld_exporter --web.listen-address=localhost:9104 --config.my-cnf=/usr/local/mysqld_exporter/.my-exporter.cnf --collect.auto_increment.columns --collect.binlog_size --collect.global_status --collect.engine_innodb_status --collect.global_variables --collect.info_schema.innodb_metrics --collect.info_schema.innodb_tablespaces --collect.info_schema.innodb_cmp --collect.info_schema.innodb_cmpmem --collect.info_schema.processlist --collect.info_schema.query_response_time --collect.info_schema.tables --collect.info_schema.tablestats --collect.info_schema.userstats --collect.perf_schema.eventswaits --collect.perf_schema.file_events --collect.perf_schema.indexiowaits --collect.perf_schema.tableiowaits --collect.perf_schema.tablelocks

注册到系统服务

vim /etc/systemd/system/mysqld_exporter.service

[Unit]
Description=mysqld_exporter
After=network.target
[Service]
Type=simple
User=mysqld_exporter
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my-exporter.cnf
Restart=on-failure
[Install]
WantedBy=multi-user.target

以服务的方式进行启动管理

添加用户
useradd --no-create-home --shell /bin/false mysqld_exporter
​
为用户赋予文件夹权限
chown -R mysqld_exporter:mysqld_exporter /usr/local/mysqld_exporter
​
重新加载系统配置
systemctl daemon-reload
​
开机启动
systemctl enable mysqld_exporter.service
​
启动服务
systemctl start mysqld_exporter
​
查看状态
systemctl status mysqld_exporter

最后修改prometheus的配置文件,并重启

在主配置文件最后加上下面三行​
[root@P=prometheus~]# vim /usr/local/prometheus/prometheus.yml
- job_name: 'mysql' # 取一个job名称来代表被监控的机器
static_configs:
- targets: ['192.168.0.232:9104'] # 这里改成被监控机器的IP,后面端口接9104
​关闭服务
pkill prometheus
​
确认端口没有进程占用
lsof -i:9090
​
重启服务
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
​
确认端口被占用,说明重启成功
lsof -i:9090

回到web管理界面 --》点Status --》点Targets --》可以看到多了一台监控目标

四、Grafana可视化图形工具

① 在grafana服务器上安装grafana

下载并安装

apt-get install -y adduser libfontconfig1 musl
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_11.1.0_amd64.deb
dpkg -i grafana-enterprise_11.1.0_amd64.deb

出现报错

dpkg: error processing package ...

原因:可能是dpkg管理的包信息出现了损坏

解决方法:通过sudo apt -f install进行修复

mv /var/lib/dpkg/info/ /var/lib/dpkg/info_old/
mkdir /var/lib/dpkg/info/
apt-get update
apt-get -f install
mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old/
rm -rf /var/lib/dpkg/info
mv /var/lib/dpkg/info_old/ /var/lib/dpkg/info/

启动

systemctl daemon-reload
systemctl start grafana-server.service
systemctl status grafana-server.service

配置开展自动启动

systemctl enable grafana-server.service

grafana汉化(在配置文件中注释并添加如下内容)

vim /etc/grafana/grafana.ini
#default_language = en-US
default_language = zh-Hans

重启服务,然后登陆查看

systemctl restart grafana-server.service

② 通过浏览器访问 http:// grafana**服务器IP:3000**就到了登录界面,使用默认的admin用户,admin密码就可以登陆了

③ 下面我们把prometheus服务器收集的数据做为一个数据源添加到grafana,让grafana可以得到prometheus的数据。

登陆之后选择,左侧Configuration里面的DataSources

④点击Grafana首页侧边栏,Create DashBoard创建仪表盘

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

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

相关文章

「性能指标」CPU飙高排查实战

上篇提到了什么是 CPU 以及如何计算的。接下来主要说说实际工作中遇到 CPU 飙高如何去排查呢? 往期回顾: 聊聊性能指标 CPU 利用率如何计算的? 问题发现 前段时间我们新上线了一个应用,由于流量一直不大,集群的每秒…

Python25 Numpy基础

1.什么是Numpy NumPy(Numerical Python 的简称)是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 的前身是 Numeric,这是一个由 Jim Hugunin 等人开发的…

Flexsim物流仿真入门-利用网络节点控制行走路线

在布局优化过程中,往往叉车,操作人员的搬运,是会按照一定的行走路线进行的,这就需要我们进行节点的设计,以此来实现特定路径的行走。 在构建过程中,这里将会以案例的形式进行讲解说明。 1)构建…

基于单片机的智能温控风扇设计

摘 要 : 本次设计是基于单片机的智能温控风扇 。 以 STC89C52 单片机为核心 , 可以实现对风扇的有效控制 。 可以根据需要设置不同的温度 ,如果温度在设定值最大值和最小值之间时则启动风扇弱风档, 如果温度超过设定的数值时将会变到大风档…

mfc140.dll怎么安装?mfc140.dll丢失安装详细解决方法

当电脑出现找不到mfc140.dll丢失问题,我们需要怎么办?怎么解决mfc140.dll丢失问题?mfc140.dll到底是什么?下面我给大家详细介绍与分析,最重要的是mfc140.dll的解决方法! 一、文件丢失原因分析 在分析mfc14…

C++笔记:实现一个字符串类(构造函数、拷贝构造函数、拷贝赋值函数)

实现一个字符串类String&#xff0c;为其提供可接受C风格字符串的构造函数、析构函数、拷贝构造函数和拷贝赋值函数。 声明依赖文件 其中ostream库用于打印标准输入输出&#xff0c;cstring库为C风格的字符串库 #include <iostream> #include <cstring> 声明命…

印度股市连续三天创新高,国际知名评级机构穆迪发出警告

KlipC报道&#xff1a;6月27日&#xff0c;印度股市连续三个交易日创新高&#xff0c;截至当日收盘&#xff0c;印度SENSEX30指数涨0.72%&#xff0c;报79243.18点。印度SENSEX30指数今年以来涨幅接近10%。但国际知名评级机构穆迪发出警告 据悉&#xff0c;到6月25日&#xff…

Unity免费领开发者周6月74个动作捕捉角色运动动画包Omni多方向形状跳跃蹲伏等基础OPSIVE20240628

限时免费领取的角色动画包来啦。在结帐时输入OPSIVE2024优惠券代码即可免费获得。无需购买。 Unity免费领开发者周6月74个动作捕捉角色运动动画包Omni多方向形状跳跃蹲伏等基础OPSIVE202406281136 开发者周促销资源:https://prf.hn/l/w9QJYQ1 优惠券代码:OPSIVE2024 [限时免费…

MIX OTP——监督树和应用

在上一章关于 GenServer 的内容中&#xff0c;我们实现了 KV.Registry 来管理存储容器。在某个时候&#xff0c;我们开始监控存储容器&#xff0c;这样每当 KV.Bucket 崩溃时&#xff0c;我们就能采取行动。虽然变化相对较小&#xff0c;但它提出了一个 Elixir 开发人员经常问的…

Flat Ads:拥抱 CTV,品牌增长新动力

近年来,CTV(联网电视)在数字营销界正迅速崛起,成为最受青睐和增长迅猛的推广形式之一。 随着更多联网设备的普及,越来越多观众正在从传统电视快速转移到流媒体环境,对传统电视广告取而代之的便是 CTV 广告。据 eMarketer 数据显示,未来四年,CTV 市值将从今年的 250 亿美元增长到…

C++-------多态

一.如何实现多态 1.多态的两个条件&#xff1a; (1) 必须通过基类的指针或者引用调用虚函数 (2) 被调用的函数必须是虚函数&#xff0c;且派生类必须对基类的虚函数进行重写&#xff0c;重写必须返回值&#xff0c;函数名&#xff0c;参数类型相同&#xff0c;同时virtual只…

Win10扩充C盘(把其他盘存储空间分给C盘)

C盘虽然没有安装任何软件&#xff0c;但无奈安装某些软件&#xff08;例如VS&#xff0c;QuarC等&#xff09;总会占用C盘容量&#xff0c;且C盘内存很小&#xff08;只有60G左右&#xff09;&#xff0c;看着D盘的三四十空闲内存&#xff0c;决定把D盘内存分给C盘30G&#xff…

uboot中内存DDR测试之mtest使用

相关代码路径: cmd/mem.c配置: make ARCHarm CROSS_COMPILEaarch64-linux-gnu- menuconfigCC cmd/mem.o cmd/mem.c: In function do_mem_mtest: cmd/mem.c:883:10: error: CONFIG_SYS_MEMTEST_START undeclared (first use in this function); did you mean CONFIG_SYS_…

Pbootcms留言“提交成功”的提示语怎么修改

我们在用到pbootcms建站时候&#xff0c;其中有个留言功能&#xff0c;提交成功后会提示&#xff1a;提交成功&#xff08;如下图所示&#xff09;&#xff0c;那么我们要修改这个提示语要怎么操作呢&#xff1f; 如果需要修改的话&#xff0c;直接找到文件/apps/home/control…

一投就中,收稿范围大,1个月内录用,国人发文最多,无风险预警

别人费心费力投个一年都不一定有结果&#xff0c;您直接坐上”直升飞机”&#xff0c;1个月录用。下面老毕分享1本超快录用EI期刊&#xff0c;工程电气方向的学者抓紧投稿。 抢占版面&#xff0c;下方【扫一扫】直接安排&#xff0c;1个月内录用&#x1f308; Journal of Elect…

骗2万人13亿的种菜游戏,幕后老板反手去当了榜一大哥…

这一届人民&#xff0c;可以说&#xff0c;对「种菜」式的田园生活&#xff0c;有一种执念。 或是格子间里日复一日的牢笼生活有些厌倦&#xff0c;也或是过快的城市化进程&#xff0c;让藏在基因里的「田园」属性&#xff0c;还能时不时的觉醒一下…… 除了诗与远方及前些年爆…

Pytest--安装与入门

pytest是一个能够简化成测试系统构建、方便测试规模扩展的框架&#xff0c;它让测试变得更具表现力和可读性–模版代码不再是必需的。只需要几分钟的时间&#xff0c;就可以对你的应用开始一个简单的单元测试或者复杂的功能测试。 1. 安装pytest pip install -U pytest检查版…

PD快充诱骗芯片工作原理,USB-C充电器出不来电压是什么原因?

一般使用Type-C接口的充电器基本上都是采用新的快充协议——PD快充协议&#xff0c;它不同于以前的USB-A的QC协议&#xff0c;这种协议&#xff0c;默认是没有快充电压输出的&#xff0c;VBUS和GND是0V。 所以&#xff0c;我们可以使用电阻的方式&#xff08;电流小&#xff09…

Steam新用户怎么参加夏促 Steam最新注册账号+下载客户端教程

steam夏促来了&#xff0c;这里给新玩家科普一下&#xff0c;steam就是一个游戏平台&#xff0c;里面的海量的各种游戏&#xff0c;而steam经常会有各种打折的活动&#xff0c;夏促就是其中之一&#xff0c;并且是其中规模最大的之一&#xff0c;涵盖游戏数量多&#xff0c;优惠…

【乐吾乐2D可视化组态编辑器】画布

5.1 设置画布属性 默认颜色&#xff1a;预先设置默认颜色&#xff0c;拖拽到画布的节点&#xff08;基础图形、文字、icon&#xff09;自动统一默认颜色。 画笔填充颜色&#xff1a;预先设置画笔填充颜色&#xff0c;拖拽到画布的节点&#xff08;基础图形&#xff09;自动统…