一、Prometheus功能

Prometheus 在系统监控和警报方面非常强大,它适用于多种应用场景。以下是一些常见的 Prometheus 应用场景,以及具体的例子:

  1. 性能监控:Prometheus 可以用来监控服务器和应用程序的性能。比如,它可以收集和显示 CPU 使用率、内存使用、磁盘 IO、网络流量等指标。例如,一个云服务提供商可能使用 Prometheus 来监控其数据中心的资源使用情况,以确保服务稳定。

  2. 服务健康监控:Prometheus 可以检测和报告各种服务的运行状态。这包括检查服务是否在线、响应时间是否在正常范围内等。例如,一个在线电商平台可以使用 Prometheus 来监控其网站和后端服务的健康状况,及时发现和解决问题。

  3. 警报:Prometheus 的警报管理系统(Alertmanager)允许用户定义复杂的警报规则,当特定条件触发时发送通知。例如,如果某个关键服务的响应时间超过阈值,Prometheus 可以配置发送电子邮件或通过 Slack 通知团队成员。

  4. 容器和微服务监控:在容器化和微服务架构中,Prometheus 特别有用。它可以与 Kubernetes 和 Docker 等技术集成,监控容器的性能和健康状况。例如,在 Kubernetes 集群中运行的服务可以通过 Prometheus 监控集群内的每个容器和微服务。

  5. 自定义指标监控:Prometheus 允许开发者定义和收集自定义指标。这对于应用程序性能监控特别有用。比如,一个移动应用开发团队可能使用 Prometheus 来监控应用的用户活跃度或交易处理时间。

  6. 网络设备监控:Prometheus 还可以用来监控网络设备的性能和健康状况,比如路由器、交换机和负载均衡器。例如,网络运营商可以利用 Prometheus 监控其基础设施的流量和设备状态。

这些场景展示了 Prometheus 在监控和警报方面的多功能性和灵活性。通过定制查询和仪表板,它可以适应各种不同的监控需求。

二、服务器安装步骤

2.1  首先搭建本地yum源,更新系统。

2.2 下载Prometheus安装包

官网地址https://prometheus.io/download/,

2.3 创建一个用户和组

sudo useradd --no-create-home --shell /bin/false prometheus

2.4 创建必要的目录

sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus

2.5 设置权限

sudo chown prometheus:prometheus /var/lib/prometheus

2.6 解压 Prometheus

tar -xvf prometheus-*.tar.gz

2.7 移动 Prometheus 二进制文件

sudo mv prometheus-*/prometheus /usr/local/bin/
sudo mv prometheus-*/promtool /usr/local/bin/

2.8 设置权限

sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool

2.9 移动配置文件和库

sudo mv prometheus-*/consoles /etc/prometheus
sudo mv prometheus-*/console_libraries /etc/prometheus

2.10 创建配置文件

sudo vi /etc/prometheus/prometheus.yml

global:
scrape_interval: 15s

scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']

2.11 更改配置文件和文件夹的所有权

sudo chown -R prometheus:prometheus /etc/prometheus

2.12 启动 Prometheus

sudo -u prometheus /usr/local/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries

2.13 设置 Prometheus 为服务,创建 systemd 服务文件

sudo vi /etc/systemd/system/prometheus.service

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries

[Install]
WantedBy=multi-user.target

2.14 启用并启动 Prometheus 服务

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus

三、验证

centos 7.9安装Prometheus的更多相关文章

  1. Centos 7.3 安装Grafana 6.0

    grafana简介 Grafana是一个完全开源的度量分析与可视化平台,可对来自各种各种数据源的数据进行查询.分析.可视化处理以及配置告警. Grafana支持的数据源: 官方:Graphite,In ...

  2. CentOS 7中安装和配置Promethues

    Prometheus 是什么? Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采用Prome ...

  3. linux(centos8):安装prometheus服务端/node_exporter客户端(prometheus 2.18.1)

    一,prometheus的用途 Prometheus是一个开源的系统监控和警报工具包 相比其他监控系统,它更适用于微服务的体系架构 它使用各种专用exporter,用来实现对硬件/存储/数据库/web ...

  4. MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记

    MonoDevelop 4.2.2/Mono 3.4.0 in CentOS 6.5 安装笔记 说明 以root账户登录Linux操作系统,注意:本文中的所有命令行前面的 #> 表示命令行提示符 ...

  5. Centos、Ubuntu 安装 Mono、Jexus

    Mono是.NET的跨平台实现 在众多关于语言的争论中,.NET一直被以不能跨平台而诟病,Mono改变了这一现状. 有人当心Mono会涉及版权啥的问题.高深的偶不懂,不过我觉得Unity3D都能用,为 ...

  6. Centos 7.0 安装Mono 3.4 和 Jexus 5.6

    2013-07-26 写过一篇<CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4>,CentOS 7在CentOS 6的基础上有很大的调整,本文是这篇文章的更新,主要介 ...

  7. 环境搭建系列-系统安装之centos 6.5安装与配置

    按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...

  8. 在CentOS 7上安装.NET Core R2跑Hello World

    前言 在上个月.NET Core出了最新版本预览版,只是在Window系统上试验了一下.原本想等发布正式版的时候在linux系统上试试,可能还需要一段时间,刚好有空可以折腾一下. 由于之前安装的Ubu ...

  9. CentOS 6/7安装ffmpeg

    环境 CentOS 6/7 安装 导入GPG key rpm --import http://packages.atrpms.net/RPM-GPG-KEY.atrpms 安装ATRPMS Repo ...

  10. CentOS 7.0安装配置Vsftp服务器

    一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

随机推荐

  1. go 判断文件是否存在,并创建

    1 package main 2 3 import ( 4 "fmt" 5 "os" 6 ) 7 8 //判断文件夹是否存在 9 func PathExists ...

  2. 开源流量检测引擎Dalton安装记录

    几个月之前照着官方文档安装过,一次性就成功,昨天重装了服务器再安装Dalton,怎么都安装不了 一直报错 ERROR: Service 'agent-suricata-current' failed ...

  3. asp.net core之HttpClient

    本文介绍了ASP.NET Core中的HttpClient和HttpClientFactory的作用.用法以及最佳实践.通过示例代码的展示,读者可以了解如何使用HttpClient发送HTTP请求并处 ...

  4. 利用pytorch自定义CNN网络(三):构建CNN模型

    本文是利用pytorch自定义CNN网络系列的第三篇,主要介绍如何构建一个CNN网络,关于本系列的全文见这里. 笔者的运行设备与软件:CPU (AMD Ryzen 5 4600U) + pytorch ...

  5. JDK中动态库加载路径问题,一文讲清

    前言 本周协助测试同事对一套测试环境进行扩容,我们扩容很原始,就是新申请一台机器,直接把jdk.resin容器(一款servlet容器).容器中web应用所在的目录,全拷贝到新机器上,servlet容 ...

  6. 9.1 C++ STL 排序、算数与集合

    C++ STL(Standard Template Library)是C++标准库中的一个重要组成部分,提供了丰富的模板函数和容器,用于处理各种数据结构和算法.在STL中,排序.算数和集合算法是常用的 ...

  7. TCP的可靠性之道:确认重传和流量控制

    TCP 全称为 Transmission Control Protocol(传输控制协议),是一种面向连接的.可靠的.基于字节流的传输层通信协议,其中可靠性是相对于其他传输协议的优势点.TCP 为了确 ...

  8. mac安装mysql8.0

    1.进入下载页 历史版本:https://downloads.mysql.com/archives/community/ 最新版本:https://dev.mysql.com/downloads/my ...

  9. CodeForces 1367F2 Flying Sort (Hard Version)

    题意 给一个长度为\(n\)的数组,你可以有两种操作 将某一个数放置在数组开头 将某一个数放置在数组结尾 问最小操作多少次可以得到一个非递减数列 (比\(F1\)难在\(n\)变大,且数组中元素可以有 ...

  10. tomcat远程部署

    使用maven的插件对tomcat进行远程部署,大大降低了部署步骤,对于远程部署调试也有一定的帮助 要让maven对够进行远程部署,我们需要对tomcat进行配置,主要是配置tomcat-user.x ...