抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

Prometheus Explain

强大的PromQL语句,并且支持多种可视化图形
针对应用层、硬件层、网络层、服务层分别包含了各种exporter
写入数据快,单机性能高
通过pull方式来获取监控的资源数据

Prometheus 组成及架构

Prometheus Server:用于采集和抓取时间序列的数据
Exporter:主要用于获取第三方服务的数据并等待Prometheus来拉取Exporter获取并转换为其可识别的数据
Push Gateway:通过推送的方式将数据记录推送给Prometheus,而非Prometheus手动拉取
Altermanager:报警管理机制以及通知的方式;常见的通知方式:电子邮件、微信等

Prometheus的实现

Prometheus使用GoLang编写而成

TSDB Explain

TSDB(Time Series Database):时间序列数据库,即处理时间序列的软件,并且所生成的数据是基于时间来做索引的
TSDB Advantage:
    按时间写入数据,并且基于时间进行排序

Prometheus Install

安装方式

1、通过配置yum源来安装Prometheus(在CentOS上;ubuntu上可使用包管理器“apt-get”直接安装)
2、二进制编译安装

yum源安装

a.通过网址获取rpm包或者配置yum源
    地址:https://packagecloud.io/app/prometheus-rpm/
    我这里使用的是手动下载的方式
b.yum localinstall prometheus2-2.24.1-1.el8.x86_64.rpm   --->   安装本地的rpm包
c.systemctl start prometheus   --->   启动prometheus
d.ss -tnl    --->    查看prometheus默认的9090端口是否开启

编译安装

a.获取压缩包
   地址:https://prometheus.io/download prometheus-2.24.1.linux-amd64.tar.gz
b.解压缩:tar xf prometheus-2.24.1.linux-amd64.tar.gz(解压之后可以直接启用并进行测试)
c.配置prometheus服务脚本
    
[Unit]
Description=Prometheus
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
[Install]
WantedBy=multi-user.target
d.重新加载服务:systemctl daemon-reload e.启动服务:systemctl start prometheus.service f.查看9090端口是否启用:ss -tnl g.访问web监控:http://IP:9090

node_exporter Install

a.获取node_exporter的tar包
b.解压:tar xf node_exporter-1.0.1.linux-amd64.tar.gz
c.启动node_exporter:
    [root@localhost node_exporter]# ./node_exporter 
    level=info ts=2021-02-23T02:29:17.237Z caller=node_exporter.go:177 msg="Starting node_exporter" version="(version=1.0.1, branch=HEAD, revision=3715be6ae899f2a9b9dbfd9c39f3e09a7bd4559f)"
    level=info ts=2021-02-23T02:29:17.238Z caller=node_exporter.go:178 msg="Build context" build_context="(go=go1.14.4, user=root@1f76dbbcfa55, date=20200616-12:44:12)"
d.编写启动脚本:
    vim /usr/lib/systemd/system/node_exporter.service
        
[Unit]
Description=node_exporter
After=network.target
[Service]
Type=simple
User=root
ExecStart=/opt/node/node_exporter/node_exporter
[Install]
WantedBy=multi-user.target
e.重新加载服务:systemctl daemon-reload f.启动node_exporter服务:systemctl start node_exporter g.查看端9100口是否启用:ss -tnl

评论