IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Prometheus部署 -> 正文阅读

[大数据]Prometheus部署

Prometheus介绍

1、Prometheus 灵感来源与Google的Borgmon,主要用于近实时、基于动态云环境、容器的微服务、应用程序的监控。
Prometheus专注于当下正在发生的各类数据,而不是追踪数周以前的数据,因为他们认为“大多数监控查询以及告警等都是一天内的数据”,Facebook相关论文也验证了这一点:85%的时序查询是26小时之内的。

简单来概括,Prometheus是一个监控系统,并自带时序数据能力。

2、Prometheus是云原生计算基金会的一个项目,是一个系统和服务监控系统。它以给定的时间间隔从配置的目标收集指标,评估规则表达式,显示结果,并在观察到指定条件时触发警报。

将 Prometheus 与其他指标和监控系统区分开来的功能包括:

  • 多维数据模型(由指标名称和键/值维度集定义的时间序列)

  • PromQL,一种强大而灵活的查询语言,可利用这种维度

  • 不依赖于分布式存储;单个服务器节点是自治的

  • 用于时序收集的 HTTP拉取模型

  • 通过批处理作业的中间网关支持推送时序

  • 通过服务发现或静态配置发现目标

  • 多种图形和仪表板支持模式

  • 支持分层和水平联合

体系结构概述
在这里插入图片描述

prometheus 监控原理

1、prometheus :虽然说是监控平台,但是实际上是一套数据库

2、mysql_exporter: 可以理解成程序或者软件,他是工作在我们要监控的目标服务器上,主要是用于监控mysql的数据。

3、node_exporter: 他的作用主要是收集性能测试的数据,如cpu、内存磁盘网络等信息,然后将数据保存到prometheus,相当于将数据存入到数据库中。

4、prometheus 只能用于做数据存储,不能做展示,因此我们需要用到grafana组件。

5、grafana 主要是用于数据展示,并且可以做到定时读取数据

在这里插入图片描述

Prometheus部署

Prometheus下载地址

Grafana下载地址

基本环境

主机名称IP地址安装服务
master192.168.91.137prometheus
minion192.168.91.138node_exporter

准备工作

关闭防火墙和selinux

[root@master ~]# systemctl stop firewalld
[root@master ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@master ~]# setenforce 0
[root@master ~]# cat /etc/selinux/config 
SELINUX=disabled

安装Prometheus

// 下载安装包
[root@master ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz

// 解压到/usr/local下
[root@master ~]# ls
anaconda-ks.cfg  prometheus-2.31.1.linux-amd64.tar.gz
[root@master ~]# tar xf prometheus-2.31.1.linux-amd64.tar.gz  -C /usr/local/
[root@master ~]# cd /usr/local/
[root@master local]# ls
bin    include  libexec                        share
etc    lib      prometheus-2.31.1.linux-amd64  src
games  lib64    sbin

// 重命名
[root@master local]# mv prometheus-2.31.1.linux-amd64/ prometheus
[root@master local]# ls
bin  games    lib    libexec     sbin   src
etc  include  lib64  prometheus  share

启动服务

[root@localhost local]# cd prometheus
[root@localhost prometheus]# ls
LICENSE  console_libraries  prometheus      promtool
NOTICE   consoles           prometheus.yml
[root@localhost prometheus]# /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml"

查看端口

[root@localhost ~]# ss -antl
State  Recv-Q Send-Q  Local Address:Port   Peer Address:Port Process                                                      
LISTEN 0      128           0.0.0.0:22          0.0.0.0:*                                                                 
LISTEN 0      128              [::]:22             [::]:*                                                                 
LISTEN 0      128                 *:9090              *:* 

web页面访问
浏览器打开192.168.91.137:9090端口即可打开Prometheus自带的监控页面
在这里插入图片描述

在这里插入图片描述
http://192.168.91.137:9090/metrics 查看监控数据
在这里插入图片描述

开始监控

准备工作

// 关闭防火墙和selinux
root@minion ~]# systemctl stop firewalld
[root@minion ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@minion ~]# setenforce 0
[root@minion ~]# vim /etc/selinux/config 
SELINUX=disabled
下载node_exporter安装包
[root@minion ~]# wget https://github.com/prometheus/node_exporter/releases/download/v1.3.0/node_exporter-1.3.0.linux-amd64.tar.gz

[root@minion ~]# ls
anaconda-ks.cfg  node_exporter-1.3.0.linux-amd64.tar.gz

// 解压
[root@minion ~]# tar xf node_exporter-1.3.0.linux-amd64.tar.gz -C /usr/local/
[root@minion ~]# cd /usr/local/
[root@minion local]# ls
bin    include  libexec                          share
etc    lib      node_exporter-1.3.0.linux-amd64  src
games  lib64    sbin

// 重命名
[root@minion local]# mv node_exporter-1.3.0.linux-amd64/ node_exporter
[root@minion local]# ls
bin  games    lib    libexec        sbin   src
etc  include  lib64  node_exporter  share

// 启动服务
[root@minion local]# cd node_exporter/
[root@minion node_exporter]# nohup /usr/local/node_exporter/node_exporter

// 查看服务
[root@minion ~]# ss -antl
State  Recv-Q Send-Q  Local Address:Port   Peer Address:Port Process                                                      
LISTEN 0      128           0.0.0.0:22          0.0.0.0:*                                                                 
LISTEN 0      128              [::]:22             [::]:*                                                                 
LISTEN 0      128                 *:9100              *:*

在prometheus配置文件添加受控主机

[root@localhost local]# cd prometheus/
[root@localhost prometheus]# ls
LICENSE  console_libraries  data        prometheus.yml
NOTICE   consoles           prometheus  promtool
[root@localhost prometheus]# vim prometheus.yml 
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090"]

  - job_name: "amu1"
    static_configs:
      - targets: ["192.168.91.138:9100"]

服务重启

// 杀死进程,重新启动服务
[root@master prometheus]# pkill prometheus
[root@master prometheus]# /usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml"

重新访问web页面
在这里插入图片描述

在这里插入图片描述

安装grafana

// 下载rpm包
[root@master ~]# wget https://dl.grafana.com/oss/release/grafana-7.3.3-1.x86_64.rpm

[root@master ~]# ls
anaconda-ks.cfg
grafana-7.3.3-1.x86_64.rpm
prometheus-2.31.1.linux-amd64.tar.gz

[root@master ~]# yum -y install grafana-7.3.3-1.x86_64.rpm

// 启动服务
[root@master ~]# systemctl daemon-reload
[root@master ~]# systemctl enable --now grafana-server.service
Synchronizing state of grafana-server.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable grafana-server
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service.

// 查看端口
[root@master ~]# ss -antl
State  Recv-Q Send-Q  Local Address:Port   Peer Address:Port Process                                                      
LISTEN 0      128           0.0.0.0:22          0.0.0.0:*                                                                 
LISTEN 0      128              [::]:22             [::]:*                                                                 
LISTEN 0      128                 *:3000              *:*                                                                 
LISTEN 0      128                 *:9090              *:*    

web页面访问

浏览器打开 192.168.91.137:300 进入grafana界面
默认用户名密码都是 admin
初次登陆会提示修改密码

下面是重置密码界面
在这里插入图片描述

这是登录进去的界面
在这里插入图片描述
添加prometheus数据源
在这里插入图片描述
点击齿轮设置 的“Add data source”
在这里插入图片描述
url框内 输入 http://192.168.91.137:9090
在这里插入图片描述

Dashboards页面选择“Prometheus 2.0 Stats”,然后保存
在这里插入图片描述

点击放大镜 搜索 点进去第一个“Prometheus 2.0 Stats”即可看到整个监控页面
在这里插入图片描述
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-26 08:55:06  更:2021-11-26 08:57:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:23:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码