Prometheus的部署

news/2024/5/19 0:03:38 标签: prometheus

Prometheus的部署
Prometheus介绍

Prometheus是一个开源的系统监控和警报工具包,最初由SoundCloud构建。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。它现在是一个独立的开源项目,独立于任何公司进行维护。为了强调这一点,并澄清项目的治理结构,Prometheus于2016年加入了云原生计算基金会,成为Kubernetes之后的第二个托管项目。

普罗米修斯收集和存储它的指标作为时间序列数据,也就是说,指标信息与它被记录的时间戳一起存储,以及称为标签的可选键值对。

Prometheus特性:

1、一个多维数据模型,其时间序列数据由指标名称和键/值对标识
2、PromQL是一种灵活的查询语言,可以利用这个维度
3、不依赖分布式存储;单个服务器节点是自治的
4、时间序列收集通过HTTP上的拉模型进行
5、通过中间网关支持推送时间序列
6、通过服务或静态配置发现的目标
7、支持多种模式的图形化和仪表板

什么是指标:

用外行的术语来说,指标是数值度量。时间序列意味着随着时间的推移而记录的变化。用户想要指标的内容因应用程序而异。对于web服务器,可能是请求次数,对于数据库,可能是活动连接数或活动查询数等。

指标在理解应用程序为何以某种方式工作方面发挥着重要作用。让我们假设您正在运行一个web应用程序,并发现该应用程序很慢。您将需要一些信息来了解您的应用程序发生了什么。例如,当请求数量很高时,应用程序可能会变慢。如果您有请求计数指标,您可以发现原因并增加服务器数量来处理负载。

相关组件:

Prometheus生态系统由多个部分组成,其中许多部分是可选的:
1、Prometheus主服务器,用于抓取和存储时间序列数据
2、用于测试应用程序代码的客户端库
3、支持短期作业的推送网关
4、专门的服务出口HAProxy、StatsD、Graphite等。
5、用于处理警报的alertmanager
6、各种支持工具

大多数Prometheus组件都是用Go语言编写的,这使得它们很容易作为静态二进制文件构建和部署。

体系结构:
在这里插入图片描述
Prometheus从工具化作业中获取指标,要么直接获取,要么通过中介推送网关获取短期作业。它将所有抓取的样本存储在本地,并在这些数据上运行规则,从现有数据中聚合和记录新的时间序列,或生成警报。Grafana或其他API消费者可用于可视化收集的数据。

Prometheus的下载地址:https://prometheus.io/download/
在这里插入图片描述

[root@std ~]# tar -xvf prometheus-2.42.0.linux-amd64.tar.gz
[root@std ~]# mv prometheus-2.42.0.linux-amd64 /usr/local/prometheus
[root@std ~]# useradd -M -s /sbin/nologin prometheus
[root@std ~]# mkdir -p /data/prometheus
[root@std ~]# chown -R prometheus:prometheus /usr/local/prometheus /data/prometheus
将配置文件中的localhost:9090改为172.12.9.41:9090
[root@std prometheus]# vi /usr/local/prometheus/prometheus.yml

在这里插入图片描述
修改为:
在这里插入图片描述

[root@std prometheus]# vi /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
After=network.target

[Service]
Type=simple
Environment="GOMAXPROCS=4"
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/local/prometheus/prometheus \
  --config.file=/usr/local/prometheus/prometheus.yml \
  --storage.tsdb.path=/data/prometheus \
  --storage.tsdb.retention=30d \
  --web.console.libraries=/usr/local/prometheus/console_libraries \
  --web.console.templates=/usr/local/prometheus/consoles \
  --web.listen-address=172.12.9.41:9090 \
  --web.read-timeout=5m \
  --web.max-connections=10 \
  --query.max-concurrency=20 \
  --query.timeout=2m \
  --web.enable-lifecycle
PrivateTmp=true
PrivateDevices=true
ProtectHome=true
NoNewPrivileges=true
LimitNOFILE=infinity
ReadWriteDirectories=/data/prometheus
ProtectSystem=full

SyslogIdentifier=prometheus
Restart=always

[Install]
WantedBy=multi-user.target
[root@std prometheus]# systemctl daemon-reload
[root@std prometheus]# systemctl enable prometheus && systemctl start prometheus
Created symlink from /etc/systemd/system/multi-user.target.wants/prometheus.service to /etc/systemd/system/prometheus.service.
[root@std prometheus]# netstat -lntp | grep prometheus
-bash: netstat: command not found
[root@std prometheus]# ps -ef|grep prometheus
prometh+ 19812     1  0 11:07 ?        00:00:00 /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/data/prometheus --storage.tsdb.retention=30d --web.console.libraries=/usr/local/prometheus/console_libraries --web.console.templates=/usr/local/prometheus/consoles --web.listen-address=0.0.0.0:9090 --web.read-timeout=5m --web.max-connections=10 --query.max-concurrency=20 --query.timeout=2m --web.enable-lifecycle
root     19869 19208  0 11:08 pts/0    00:00:00 grep --color=auto prometheus

prometheus就已经安装并启动,默认会启动9090端口,通过浏览器打开该端口页面,不需用户名和密码
在这里插入图片描述


http://www.niftyadmin.cn/n/161799.html

相关文章

Android快速集成微软语音服务(Azure认知服务)

在网上溜了一圈,发现使用微软语音服务(Azure)的文章好少,为之感叹,在国内,百度语音、讯飞语音算是前沿语音技术,使用的公司和人自然不少,不过,在国际语言,小语…

机器学习中的归一化问题_梯度下降做归一化的必要性_数据缩放_最大最小值归一化方法---人工智能工作笔记0029

然后我们再来看,为什么说只要是用到了梯度下降法,那么必须要做归一化 首先我们来看,如果一个人下山,那么我们说,我们每次去求,最优解,也就是利用目标函数,带入theta值,然后求出对应的y值,也就是预测值,然后找到这个点以后,就可以求出斜率对吧,然后斜率,如果 为0的时候,那么就说…

SparkSQL-对数据缺失和异常值进行处理

缺失数据 准备数据 处理方式 丢弃规则 填充规则 异常数据 方法1:丢弃处理 方法2:替换处理 缺失数据 准备数据 处理方式 1、丢弃/过滤:DataFrame.na.drop() 2、填充:DataFrame.na.fill() 3、替换:DataFrame.na.…

杨氏矩阵(详解)

题目&#xff1a; 有一个数字矩阵&#xff0c;矩阵的每行从左到右是递增的&#xff0c;矩阵从上到下是递增的&#xff0c;请编写程序在这样的矩阵中查找某个数字是否存在。要求&#xff1a;时间复杂度小于O(N); 代码实现&#xff1a; #include<stdio.h> int find_num(…

结构体全解,适合初学者的一条龙深度讲解(附手绘图详解)

我们知道&#xff0c;C语言是允许我们自己来创造类型的&#xff0c;这些类型就叫做——自定义类型。 自定义类型又包括结构体类型&#xff0c;联合体类型还有枚举类型。 今天的文章&#xff0c;我们就着重讲解这其中的结构体类型。 目录 结构体的声明 1.1结构的基础知识 1…

字节跳动软件测试岗,前两面过了,第三面HR天坑!竟然跟我说……

阎王易见&#xff0c;小鬼难缠。我一直相信这个世界上好人居多&#xff0c;但是也没想到自己也会在阴沟里翻船。我感觉自己被字节跳动的HR坑了。在这里&#xff0c;我只想告诫大家&#xff0c;offer一定要拿到自己的手里才是真的&#xff0c;口头offer都是不牢靠的&#xff0c;…

自定义数据类型(结构体、枚举)

各位朋友&#xff0c;大家好。欢迎大家来到我的博客&#xff0c;我今天将要为大家分享的是自定义数据类型中的结构体和位段方面的知识。那么&#xff0c;话不多说&#xff0c;接下来就来看看我的分享吧。 目录 什么是结构体呢&#xff1f; 结构体的自引用 计算结构体的大小…

文献阅读(77)KDD2022-GraphMAE: Self-Supervised Masked Graph Autoencoders

本文是对《GraphMAE: Self-Supervised Masked Graph Autoencoders》一文的总结&#xff0c;如有侵权即刻删除。 朋友们&#xff0c;我们在github创建了一个图学习笔记库&#xff0c;总结了相关文章的论文、代码和我个人的中文笔记&#xff0c;能够帮助大家更加便捷地找到对应论…