Ubuntu 22.04 安装prometheus

news2024/11/17 9:43:29

服务器监控和报警软件有很多,为什么我们会选择Prometheus而不是其他软件呢?

因为它有以下优点:

  • 自带简易web监控页面,用户可以很方便地查看监控数据和使用仪表盘。
  • 能实时收集数据并根据自定义警报规则推送告警;
  • 具有丰富的生态系统,可以通过插件的方式与其他系统集成;
  • 开源,由知名组织CNCF维护;
  • 影响力比较大,目前GitHub已经星星数已经到了51k,这也说明了项目的质量。

下面我们就开始安装吧。

下载

首先是下载,这里我们使用sudo wget直接从github下载

sudo wget https://github.com/prometheus/prometheus/releases/download/v2.48.1/prometheus-2.48.1.linux-amd64.tar.gz

然后解压

sudo tar -xvf prometheus-2.48.1.linux-amd64.tar.gz 

移动到软件目录

sudo mv prometheus-2.48.1.linux-amd64 /usr/local/bin/prometheus

如果我们需要修改配置,进入到目录并修改prometheus.yml即可

cd /usr/local/bin
vi prometheus.yml 

创建系统服务

 创建运行prometheus的账户并给予权限

sudo useradd -M -r -s /bin/false prometheus

参数含义

  • -M: 不要为用户创建主目录。
  • -r: 创建一个系统用户。
  • -s /bin/false: 设置用户的登录 shell 为 /bin/false,表示该用户不能直接登录系统。

目录赋权

sudo chown -R prometheus:prometheus /usr/local/bin/prometheus

创建systemd单元文件

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

写入如下内容

[Unit]
Description=Prometheus
After=network.target

[Service]
ExecStart=/usr/local/bin/prometheus/prometheus --config.file=/usr/local/bin/prometheus/prometheus.yml
Restart=always
User=prometheus
Environment="PATH=/usr/local/bin/prometheus:/usr/local/bin:/usr/bin:/bin"
Environment="HOME=/usr/local/bin/prometheus"

[Install]
WantedBy=default.target

保持配置之后重载systemd配置

sudo systemctl daemon-reload

创建服务所需的data目录

sudo mkdir -p /data
sudo chown -R prometheus:prometheus /data

 启动服务和设置开机启动

sudo systemctl start prometheus
sudo systemctl enable prometheus

 查看服务状态

sudo systemctl status prometheus

访问测试

添加防火墙策略

sudo ufw allow 9090

根据配置访问对应的IP和页面

错误处理

如果服务未启动成功,我们需要配置服务,并创建对应的日志文件来排查问题。

创建日志文件夹及文件,并赋权

sudo mkdir -p /var/log/prometheus
sudo touch /var/log/prometheus/prometheus.log
sudo touch /var/log/prometheus/prometheus_error.log
sudo chown -R prometheus:prometheus /var/log/prometheus
sudo chmod -R 755 /var/log/prometheus

在配置文件的[Service]部分添加日志输出

[Service]
ExecStart=/usr/local/bin/prometheus/prometheus --config.file=/usr/local/bin/prometheus/prometheus.yml
Restart=always
User=prometheus
Environment="PATH=/usr/local/bin/prometheus:/usr/local/bin:/usr/bin:/bin"
Environment="HOME=/usr/local/bin/prometheus"
StandardOutput=file:/var/log/prometheus/prometheus.log
StandardError=file:/var/log/prometheus/prometheus_error.log

重载systemd

sudo systemctl daemon-reload

查看错误日志

cy@cy:/var/log/prometheus$ cat /var/log/prometheus/prometheus_error.log

解决对应问题即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1390521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业如何找到合适的内容策略?媒介盒子分享

企业如果想要抢先占领用户心智的话,媒介盒子认为首先需要找到合适的内容策略,好的内容能够与消费者建立双向信任的关系,一种让消费者对品牌的好感度提升,进而成为品牌的忠实用户,接下来媒介盒子就来和大家聊聊&#xf…

Selenium Grid - 多台计算机上并行运行

当你希望在多台计算机上并行运行测试?Selenium Grid可以帮你实现。 官方文档原文: https://www.selenium.dev/documentation/grid/getting_started/ Selenium Grid允许通过将客户端发送的命令路由到远程浏览器实例,在远程机器上执行WebDriv…

mac上搭建 hadoop 伪集群

1. hadoop介绍 Hadoop是Apache基金会开发的一个开源的分布式计算平台,主要用于处理和分析大数据。Hadoop的核心设计理念是将计算任务分布到多个节点上,以实现高度可扩展性和容错性。它主要由以下几个部分组成: HDFS (Hadoop Distributed Fi…

Kafka生产消费流程

Kafka生产消费流程 1.Kafka一条消息发送和消费的流程图(非集群) 2.三种发送方式 准备工作 创建maven工程&#xff0c;引入依赖 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.3.1…

【MATLAB】 HANTS滤波算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~ 1 基本定义 HANTS滤波算法是一种时间序列谐波分析方法&#xff0c;它综合了平滑和滤波两种方法&#xff0c;能够充分利用遥感图像存在时间性和空间性的特点&#xff0c;将其空间上的分布规律和时间上的变化规律联系起来…

【MySQL性能优化】- MySQL结构与SQL执行过程

MySQL结构与SQL执行过程 &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 博客首页 怒放吧德德 To记录领地 &#x1f31d;分享学习心得&#xff0c;欢迎指正…

BPMN 2.0 相关定义概要描述

官方文档&#xff1a;https://www.omg.org/spec/BPMN/2.0/ BPMN 2.0 &#xff08;BPMN&#xff0c;业务流程模型和标记&#xff0c;Business Process Model And Notation&#xff09; 是一种业务流程建模和执行的标准&#xff0c;它使用 XML 格式来描述业务流程。 以下是 BPM…

Eureka 本机集群实现

距离上次发布博客已经一年多了&#xff0c;主要就是因为考研&#xff0c;没时间学习技术的内容&#xff0c;现在有时间继续完成关于代码方面的心得&#xff0c;希望跟大家分享。 今天在做一个 Eureka 的集群实现&#xff0c;我是在本电脑上跑的&#xff0c;感觉这个挺有意思&a…

alibaba.item_get API:电商行业中的数据驱动决策支持

alibaba.item_get API 是阿里巴巴提供的一个用于获取商品详情的接口。在电商行业中&#xff0c;数据驱动的决策支持是非常重要的&#xff0c;而这个 API 可以帮助你获取到商品的各种详细信息&#xff0c;从而为你的决策提供支持。 具体来说&#xff0c;通过使用 alibaba.item_…

可以部署到Vercel的一些有趣项目

博客地址 可以部署到Vercel的一些有趣项目-雪饼分享几款可以部署在Vercel上的项目&#xff0c;更新中~ 免费的域名要不要&#xff1f; 如果你还不会将项目部署到Vercel&#xff0c;或是绑定域名建议阅读 将项目部署到Vercel&#xff0c;并绑定域名 Excalidraw 白板 一个开源的…

Netty通信中的粘包半包问题(二)

在前面我们已经分析过Netty会出现的粘包半包问题&#xff0c;还没看过前面的博客的&#xff0c;可以先去看下之前写的博客 Netty通信中的粘包半包问题(一) 解放方式:特殊分隔符解决,在每个报文后面加上一个特殊分隔符&#xff0c;以此来告诉服务端每个报文的数据结界是什么 1.…

RIP【新华三与华为区别】

【介绍】 rip分为rip 1 与 rip 2 &#xff0c;rip 2 是对 rip 1 的一种升级&#xff0c;rip 2 可以进行认证等功能 【命令】 新华三&#xff1a; [HC3-R1] rip #启用rip [HC3-R1-rip] version 2 #告知rip 版本号 [HC3-R1-rip] network 192.168.1.0 #宣告其网段 [HC3-R1-rip] …

13、Redis高频面试题

1、项目中为什么用Redis 我们项目中之所以选择Redis&#xff0c;主要是因为Redis有下面这些优点&#xff1a; 操作速度快&#xff1a;Redis的数据都保存在内存中&#xff0c;相比于其它硬盘类的存储&#xff0c;速度要快很多数据类型丰富&#xff1a;Redis支持 string&#x…

STM32蓝牙小车、红外循迹小车、超声波避障小车项目设计

一、前言 本文旨在分享我学习STM32的过程中&#xff0c;为了强化学习成果&#xff0c;试着制作一些实训项目。最开始做的就是STM32蓝牙小车、STM32红外循迹小车、STM32超声波避障小车。 相信看完本文的你&#xff0c;一定可以亲手制作一辆属于自己的智能小车&#xff01; 注&am…

HTML--表单

睡不着就看书之------------------------ 表单 作用&#xff1a;嗯~~动态页面需要借助表单实现 表单标签&#xff1a; 主要分五种&#xff1a; form&#xff0c;input&#xff0c;textarea&#xff0c;select&#xff0c;option 从外观来看&#xff0c;表单就包含以下几种&…

【已解决】丨Details: An error occurred while executing command: “host-status

Author&#xff1a;AXYZdong 硕士在读 工科男 有一点思考&#xff0c;有一点想法&#xff0c;有一点理性&#xff01; 定个小小目标&#xff0c;努力成为习惯&#xff01;在最美的年华遇见更好的自己&#xff01; CSDNAXYZdong&#xff0c;CSDN首发&#xff0c;AXYZdong原创 唯…

代码随想录 Leetcode18. 四数之和

题目&#xff1a; 代码&#xff08;首刷看解析 2024年1月15日&#xff09;&#xff1a; class Solution { public:vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int>> result;sort(nums.begin(), nums.end(…

谷粒商城-商品服务-品牌管理-阿里云云存储+JSR303数字校验+统一异常处理

阿里云云存储OSS 分布式系统上传文件 分布式系统上传文件 单体应用上传&#xff1a;上传文件到服务器&#xff0c;想获取文件时再向服务器发请求获取文件。 分布式系统上传&#xff1a; 因为有多台服务器&#xff0c;为防止负载均衡导致获取文件时没找到对应的服务器&#xf…

stack,queue和prioriy_queue

MySTL stack和queue template <class T, class Container deque<T> > class queue;template <class T, class Container deque<T> > class stack;选择适配器的宗旨是要能达到预想的功能 queue——只能使用list和deque stack——可以使用vector和…

019、错误处理:不可恢复错误与panic!

鉴于上一篇文章过长&#xff0c;不方便大家阅读和理解&#xff0c;因此关于Rust中的错误处理&#xff0c; 我将分以下3篇来讲。 另外&#xff0c;随着我们学习的不断深入&#xff0c;难度也会越来越大&#xff0c;但不用担心。接下来只需要让自己的脚步慢一些&#xff0c;认真搞…