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监控(普罗米修斯)

实验环境:

主机名IP服务
node01(server)192.168.164.141go1.17.3.linux-amd64, grafana-7.3.3-1.x86,node_exporter-0.17.0,prometheus-2.31.1.linux-amd64
node02(client)192.168.164.142node_exporter-0.17.0.linux-amd64

下载软件:
Prometheus-2.31.1:https://prometheus.io/download/#prometheus.
Go-1.17.3:https://go.dev/dl/
Grafana-5.4.2:https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm
node_exporter-0.17.0: https://prometheus.io/download/#prometheus
//往下翻就可以找到node_exporter

Prometheus介绍

prometheus是由(go语言编写)谷歌研发的一款开源的监控软件,目前已经被云计算本地基金会托管,是继k8s托管的第二个项目。
采用Pull方式获取监控信息,并提供了多维度的数据模型和灵活的查询接口。Prometheus不仅可以通过静态文件配置监控对象,还支持自动发现机制,能通过Kubernetes、Consl、DNS等多种方式动态获取监控对象。在数据采集方面,借助Go语音的高并发特性,单机Prometheus可以采取数百个节点的监控数据;在数据存储方面,随着本地时序数据库的不断优化,单机Prometheus每秒可以采集一千万个指标,如果需要存储大量的历史监控数据,则还支持远程存储。

优点:

  • 易于管理
  • 轻易获取服务内部状态
  • 高效灵活的查询语句
  • 支持本地和远程存储
  • 采用http协议,默认pull模式拉取数据,也可以通过中间网关push数据
  • 支持自动发现
  • 可扩展、易集成

prometheus运行流程

在这里插入图片描述prometheus根据配置定时去拉取各个节点的数据,默认使用的拉取方式是pull,也可以使用pushgateway提供的push方式获取各个监控节点的数据。将获取到的数据存入TSDB,一款时序型数据库。此时prometheus已经获取到了监控数据,可以使用内置的PromQL进行查询。它的报警功能使用Alertmanager提供,Alertmanager是prometheus的告警管理和发送报警的一个组件。prometheus原生的图标功能过于简单,可将prometheus数据接入grafana,由grafana进行统一管理。

安装go语言环境

解压go1.17.3.linux-amd64,并部署go环境

[root@node01 ~]# cd /usr/src/
[root@node01 src]# ll
总用量 255284
drwxr-xr-x. 2 root root         6 519 2020 debug
-rw-r--r--  1 root root 134804820 1125 23:22 go1.17.3.linux-amd64.tar.gz
-rw-r--r--  1 root root  53521575 1125 23:22 grafana-7.3.3-1.x86_64.rpm
drwxr-xr-x. 2 root root         6 519 2020 kernels
-rw-r--r--  1 root root  73079452 1125 23:22 prometheus-2.31.1.linux-amd64.tar.gz

[root@node01 src]#  tar -C /usr/local -xzf go1.17.3.linux-amd64.tar.gz
[root@node01 src]# ls /usr/local/
bin  etc  games  go  include  lib  lib64  libexec  sbin  share  src

[root@node01 src]# vim /etc/profile
# 文件末尾添加以下内容
export PATH=$PATH:/usr/local/go/bin

[root@node01 src]# source  /etc/profile  #让新添加的配置生效

# 验证一下是否成功,用go version 来验证
[root@node01 src]#  go  version
go version go1.17.3 linux/amd64


安装prometheus

1、解压安装包至/usr/local/中,并重命名方便后面调用

[root@node01 src]# tar xf prometheus-2.31.1.linux-amd64.tar.gz  -C  /usr/local/
[root@node01 src]# ls /usr/local/
bin  games  include  lib64    prometheus-2.31.1.linux-amd64  share
etc  go     lib      libexec  sbin                           src


[root@node01 local]# mv prometheus-2.31.1.linux-amd64/ Prometheus
[root@node01 local]# ll
总用量 0
drwxr-xr-x.  2 root root   6 519 2020 bin
drwxr-xr-x.  2 root root   6 519 2020 etc
drwxr-xr-x.  2 root root   6 519 2020 games
drwxr-xr-x  10 root root 257 114 22:04 go
drwxr-xr-x.  2 root root   6 519 2020 include
drwxr-xr-x.  2 root root   6 519 2020 lib
drwxr-xr-x.  3 root root  17 1112 16:05 lib64
drwxr-xr-x.  2 root root   6 519 2020 libexec
drwxr-xr-x   4 3434 3434 132 116 04:46 Prometheus

2、进入到Prometheus目录中,修改prometheus.yml配置文件

[root@node01 local]# vim Prometheus/prometheus.yml
......
......
 - job_name: "prometheus"

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

    static_configs:
      - targets: ["localhost:9090"]
     
     
# 在配置文件末尾添加以下3行内容 作为被监控主机
  - job_name: "bigdata-142"    
    static_configs:
      - targets: ["192.168.164.142:9100"]

3、配置完后后保存退出即可,然后启动服务

[root@node01 Prometheus]# ./prometheus 
ts=2021-11-25T15:48:54.627Z caller=main.go:406 level=info msg="No time or size retention was set so using the default time retention" duration=15d
ts=2021-11-25T15:48:54.627Z caller=main.go:444 level=info msg="Starting Prometheus" version="(version=2.31.1, branch=HEAD, revision=411021ada9ab41095923b8d2df9365b632fd40c3)"
ts=2021-11-25T15:48:54.627Z caller=main.go:449 level=info build_context="(go=go1.17.3, user=root@9419c9c2d4e0, date=20211105-20:35:02)"
ts=2021-11-25T15:48:54.627Z caller=main.go:450 level=info host_details="(Linux 4.18.0-257.el8.x86_64 #1 SMP Thu Dec 3 22:16:23 UTC 2020 x86_64 node01 (none))"
ts=2021-11-25T15:48:54.627Z caller=main.go:451 level=info fd_limits="(soft=1024, hard=262144)"
ts=2021-11-25T15:48:54.627Z caller=main.go:452 level=info vm_limits="(soft=unlimited, hard=unlimited)"
ts=2021-11-25T15:48:54.628Z caller=web.go:542 level=info component=web msg="Start listening for connections" address=0.0.0.0:9090
ts=2021-11-25T15:48:54.629Z caller=main.go:839 level=info msg="Starting TSDB ..."
ts=2021-11-25T15:48:54.631Z caller=head.go:479 level=info component=tsdb msg="Replaying on-disk memory mappable chunks if any"
ts=2021-11-25T15:48:54.631Z caller=head.go:513 level=info component=tsdb msg="On-disk memory mappable chunks replay completed" duration=4.308μs
ts=2021-11-25T15:48:54.631Z caller=head.go:519 level=info component=tsdb msg="Replaying WAL, this may take a while"
ts=2021-11-25T15:48:54.634Z caller=head.go:590 level=info component=tsdb msg="WAL segment loaded" segment=0 maxSegment=1
ts=2021-11-25T15:48:54.636Z caller=head.go:590 level=info component=tsdb msg="WAL segment loaded" segment=1 maxSegment=1
ts=2021-11-25T15:48:54.636Z caller=head.go:596 level=info component=tsdb msg="WAL replay completed" checkpoint_replay_duration=27.272μs wal_replay_duration=4.354997ms total_replay_duration=4.402251ms
ts=2021-11-25T15:48:54.636Z caller=tls_config.go:195 level=info component=web msg="TLS is disabled." http2=false
ts=2021-11-25T15:48:54.638Z caller=main.go:866 level=info fs_type=XFS_SUPER_MAGIC
ts=2021-11-25T15:48:54.638Z caller=main.go:869 level=info msg="TSDB started"
ts=2021-11-25T15:48:54.638Z caller=main.go:996 level=info msg="Loading configuration file" filename=prometheus.yml
ts=2021-11-25T15:48:54.659Z caller=main.go:1033 level=info msg="Completed loading of configuration file" filename=prometheus.yml totalDuration=20.913149ms db_storage=1.95μs remote_storage=3.38μs web_handler=784ns query_engine=2.173μs scrape=19.98044ms scrape_sd=66.461μs notify=37.194μs notify_sd=9.233μs rules=1.747μs
ts=2021-11-25T15:48:54.659Z caller=main.go:811 level=info msg="Server is ready to receive web requests."
# 前台运行
# 前台运行
# 前台运行

4、通过如下URL可以打开prometheus的自带监控界面:http://192.168.164.141:9090/targets 。在这里插入图片描述只有安装了export的主机才会显示为绿色 也就是运行状态

使用export监控主机

以在159这台主机为例,安装exporter ,这台linux环境是centos,因此用的监控export是node_exporter-0.16.0.linux-amd64.tar.gz ,首先在官网下载这个文件,然后上传到被监控的主机(作为部署服务的主机上也需要安装 export),因此下载并部署后,执行如下命令:

[root@node02 src]# cd /usr/src/
[root@node02 src]# ls
debug
go1.17.3.linux-amd64.tar.gz
grafana-7.3.3-1.x86_64.rpm
kernels
node_exporter-0.17.0.linux-amd64.tar.gz
nohup.out
prometheus-2.31.1.linux-amd64.tar.gz
[root@node02 src]# tar xvf node_exporter-0.17.0.linux-amd64.tar.gz -C /usr/local/


[root@node02 src]# cd /usr/local/node_exporter-0.17.0.linux-amd64/
[root@node02 node_exporter-0.17.0.linux-amd64]# ls
LICENSE  node_exporter  NOTICE
[root@node02 node_exporter-0.17.0.linux-amd64]# ./node_exporter 
INFO[0000] Starting node_exporter (version=0.17.0, branch=HEAD, revision=f6f6194a436b9a63d0439abc585c76b19a206b21)  source="node_exporter.go:82"
INFO[0000] Build context (go=go1.11.2, user=root@322511e06ced, date=20181130-15:51:33)  source="node_exporter.go:83"
INFO[0000] Enabled collectors:                           source="node_exporter.go:90"
INFO[0000]  - arp                                        source="node_exporter.go:97"
INFO[0000]  - bcache                                     source="node_exporter.go:97"
INFO[0000]  - bonding                                    source="nod
......
......
INFO[0000] Listening on :9100            #  此时就在以9100端口运行,被master监控               source="node_exporter.go:111"

到web界面刷新一下,然后原本是down的142现在变成了up

在这里插入图片描述

给prometheus换一个面板

使用事先准备好的grafana给prometheus换一个好看的面板
grafana下载地址https://grafana.com/grafana/download

第一步安装grafana的包

[root@node01 src]# pwd
/usr/src
[root@node01 src]# ls
grafana-7.3.3-1.x86_64.rpm
......

# 安装grafana包
[root@node01 src]# yum -y install grafana-7.3.3-1.x86_64.rpm
......
......

# 设置开机自动
[root@node01 src]# systemctl start grafana-server
[root@node01 src]# systemctl enable grafana-server
[root@node01 src]# 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                *:9090              *:*            
LISTEN 0      128                *:9100              *:*            
LISTEN 0      128             [::]:22             [::]:*            
LISTEN 0      128                *:3000              *:*    # 这个端口就是grafana

web界面配置

在这里插入图片描述
点击log in后会让你设置新的密码。设置完成后点击add datasource即可

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
除了自带的仪表盘外还可以去https://grafana.com/grafana/dashboards/?search=dash下载跟多的仪表

在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-01 18:06:28  更:2021-12-01 18:06:34 
 
开发: 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/16 3:38:46-

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