美文网首页个人学习
一文学会Prometheus安装

一文学会Prometheus安装

作者: sknfie | 来源:发表于2021-06-25 19:21 被阅读0次

概述

Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。


Prometheus架构

基本原理

Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。

服务过程

Prometheus Daemon负责定时去目标上抓取metrics(指标)数据,每个抓取目标需要暴露一个http服务的接口给它定时抓取。Prometheus支持通过配置文件、文本文件、Zookeeper、Consul、DNS SRV Lookup等方式指定抓取目标。Prometheus采用PULL的方式进行监控,即服务器可以直接通过目标PULL数据或者间接地通过中间网关来Push数据。
Prometheus在本地存储抓取的所有数据,并通过一定规则进行清理和整理数据,并把得到的结果存储到新的时间序列中。
Prometheus通过PromQL和其他API可视化地展示收集的数据。Prometheus支持很多方式的图表可视化,例如Grafana、自带的Promdash以及自身提供的模版引擎等等。Prometheus还提供HTTP API的查询方式,自定义所需要的输出。
PushGateway支持Client主动推送metrics到PushGateway,而Prometheus只是定时去Gateway上抓取数据。
Alertmanager是独立于Prometheus的一个组件,可以支持Prometheus的查询语句,提供十分灵活的报警方式。

三大组件

Server 主要负责数据采集和存储,提供PromQL查询语言的支持。
Alertmanager 警告管理器,用来进行报警。
Push Gateway 支持临时性Job主动推送指标的中间网关

安装步骤

1.配置yum源:

yum -y install wget
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
yum -y install lrzsz

2.上传软件:

[root@localhost opt]# rz
prometheus-2.18.1.linux-amd64.tar.gz
[root@localhost opt]# tar -zxvf prometheus-2.18.1.linux-amd64.tar.gz
[root@localhost opt]# cp -r prometheus-2.18.1.linux-amd64 /usr/local/prometheus

3.写一个启动程序:

[root@localhost ~]# cat /usr/lib/systemd/system/prometheus.service 
[Unit]
Description=Prometheus server daemon
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/prometheus/prometheus \
    --config.file=/usr/local/prometheus/prometheus.yml \
    --storage.tsdb.path="/usr/local/prometheus/data" \
    --storage.tsdb.retention=15d \
    --web.console.templates="/usr/local/prometheus/consoles" \
    --web.console.libraries="/usr/local/prometheus/console_libraries" \
    --web.max-connections=512 \
    --web.external-url "http://192.168.2.136:9090" \
    --web.listen-address=0.0.0.0:9090
Restart=on-failure

[Install]
WantedBy=multi-user.target

4.启动程序介绍:

ExecStart=/usr/local/prometheus/prometheus    #启动运行prometheus程序所在的路径
--config.file=/usr/local/prometheus/prometheus.yml    #指定prometheus.yml配置文件路径
--storage.tsdb.path="/usr/local/prometheus/data"     #指定监控指标数据存储的路径
--storage.tsdb.retention=15d       #历史数据最大保留时间,默认15天
--web.console.templates="/usr/local/prometheus/consoles"    #指定控制台模板目录路径
--web.console.libraries="/usr/local/prometheus/console_libraries"    #指定控制台库目录路径
--web.max-connections=512    #设置最大同时连接数
--web.external-url "http://192.168.2.136:9090"     #用于生产返回prometheus相对的绝对链接地址,可以在后续告警通知内容中直接点击链接地址访问prometheus Web UI。其格式为:http://{ip或者域名}:9090
--web.listen-address=0.0.0.0:9090    #prometheus默认监控端口

5.systemctl命令介绍:

systemctl daemon-reload      #通知systemctl重新加载配置文件
systemctl enable prometheus.service      #设置为开机自启动
systemctl disable prometheus.service     #如果不想设置为开机启动,可以关闭。关闭开机自启动
systemctl start prometheus.service    #开启服务
systemctl status prometheus.service  #查看服务状态
systemctl restart prometheus.service  #重启服务
systemctl stop prometheus.service    #关闭服务

相关文章

网友评论

    本文标题:一文学会Prometheus安装

    本文链接:https://www.haomeiwen.com/subject/atioyltx.html