【prometheus二进制安装版本】-程序员宅基地

技术标签: chrome  监控  前端  prometheus  

一、环境准备

Prometheus采集、存储数据
Grafana用于图表展示
alertmanager用于接收Prometheus发送的告警信息
node-exporter用于收集操作系统和硬件信息的metrics

安装官网:https://prometheus.io/download/

二、安装prometheus

二进制安装的链接地址:

#解压
tar -xvf prometheus-2.45.4.linux-amd64.tar.gz
#创建目录并移动文件位置
mkdir -p /opt/prometheus
mv prometheus-2.45.4.linux-amd64 /opt/prometheus/prometheus
#创建一个它自己的用户,-m是不创建家目录
useradd -M -s /usr/bin/nologin prometheus  
#更改上一步创建文件的目录的所属用户
chown prometheus:prometheus /opt/prometheus/ -R
#创建systemd服务
vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus server daemon
After=network.target

[Service]
Type=simple
User=prometheus
Group=prometheus
ExecStart=/opt/prometheus/prometheus/prometheus \
        --config.file=/opt/prometheus/prometheus/prometheus.yml \
        --storage.tsdb.path=/opt/prometheus/prometheus/data \
        --storage.tsdb.retention.time=60d \
        --web.enable-lifecycle
Restart=on-failure
[Install]
WantedBy=multi-user.target

# systemctl daemon-reload # 通知systemd重新加载配置文件
#如果启动出现错误:可以去查看系统日志:/var/log/message

测试访问是否成功:http://192.168.85.141:9090/
监控指标:http://192.168.85.141:9090/metrics

三、安装alertmanager

#解压
tar -xvf alertmanager-0.27.0.linux-amd64.tar.gz
#移动到指定位置
mv alertmanager-0.27.0.linux-amd64 /opt/prometheus/alertmanager
#更改alertmanager文件夹权限:
chown prometheus:prometheus /opt/prometheus/alertmanager/ -R
#创建systemd服务
vim /usr/lib/systemd/system/alertmanager.service
[Unit]
Description=alertmanager
Documentation=https://prometheus.io/
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
User=prometheus
ExecStart=/opt/prometheus/alertmanager/alertmanager \
        --config.file=/opt/prometheus/alertmanager/alertmanager.yml \
        --storage.path=/opt/prometheus/alertmanager/data \
WorkingDirectory=/opt/prometheus/alertmanager/
Restart=on-failure
[Install]
WantedBy=multi-user.target
#重新加载systemd重新加载配置文件
systemctl daemon-reload
systemctl start alertmanager.service

测试是否安装成功:http://192.168.85.141:9093/

修改prometheus配置

加入alertmanager

alerting:
  alertmanagers:
    - static_configs:
        - targets:
        #根据实际填写alertmanager的地址
        - localhost:9093
rule_files:
#根据实际名修改文件名
- "alert.yml" 

== 增加触发器配置文件==

groups:
  - name: Prometheus alert
    rules:
      # 对任何实例超过30s无法联系的情况发出警报
      - alert: 服务告警
        expr: up == 0
        for: 30s
        labels:
          severity: critical
        annotations:
          instance: "{
    { $labels.instance }}"
          description: "{
    { $labels.job }}服务已关闭"

检查配置:

cd /opt/prometheus/prometheus/
./promtool check config prometheus.yml

重启prometheus或重新加载配置文件(二选一)

#重启
systemctl restart prometheus或:
#重载,需要--web.enable-lifecycle配置
curl -x POST http://locaThost:9090/-/reload

四、安装grafana

官网下载地址:https://grafana.com/grafana/download
二进制安装:

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.4.1.linux-amd64.tar.gz
tar -zxvf grafana-enterprise-10.4.1.linux-amd64.tar.gz
#移动到某个位置
mv grafana-v10.4.1/ /opt/prometheus/grafana
#修改权限
chown prometheus:prometheus /opt/prometheus/grafana -R
------创建systemd服务-------------
vi /usr/lib/systemd/system/grafana.service
[Unit]
Description=grafana
[Service]
ExecStart=/opt/prometheus/grafana/bin/grafana-server -homepath=/opt/prometheus/grafana
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
--------------------------
#配置重载和启动服务、设为开机启动
systemctl daemon-reload
systemctl start grafana.service
systemctl enable grafana.service

测试grafana安装成功:http://192.168.85.141:3000/
账户密码都是:admin

五、安装node_exporter

下载地址:https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz

#解压
tar -xvf node_exporter-1.7.0.linux-amd64.tar.gz 
mv node_exporter-1.7.0.linux-amd64 /opt/prometheus/node_exporter
#修改权限
chown prometheus:prometheus /opt/prometheus/ -R
创建systemd的node_exporter服务
vim /usr/lib/systemd/system/node_exporter.service
--------------------
[Unit]
Description=https://prometheus.io
[Service]
Restart=on-failure
ExecStart=/opt/prometheus/node_exporter/node_exporter --web.listen-address=:9190
[Install]
WantedBy=multi-user.target
-------------------------
systemctl daemon-reload
systemctl start node_exporter.service
systemctl enable node_exporter.service

测试是否成功:http://192.168.85.141:9190/metrics

修改prometheus配置

prometheus服务器操作

vim /opt/prometheus/prometheus/prometheus.yml
#再scrape_configs这行下面添加如下配置:
#node-exporter配置
  - job_name: 'node-exporter'
    scrape_interval: 15s
    static_configs:
    - targets: ['1ocalhost:9190']
      labels:
      	instance: Prometheus服务器
------------------------------
#重启服务加载配置
systemctl restart prometheus

grafana的使用

1、创建数据源
2、创建仪表盘
3、从Grafana.com导入仪表板

指标(Metric)的4种类型

Prometheus 底层存储上其实并没有对指标做类型的区分,都是以时间序列的形式存储,但是为了方便用户的使用和理解不同监控指标之间的差异,Prometheus定义了counter(计数器) 、gauge(仪表盘) 、 histogram(直方图)以及summary(摘要)这四种Metrics类型。

counter(计数器):

  • 计数器是一个累积指标,单调表示单个指标 增加计数器,其 值只能在重新启动时增加或重置为零。例如,您可以 使用计数器表示服务的请求数、完成的任务数或 错误。

gauge(仪表盘) :

  • 仪表是表示单个数值的指标,该数值可以 任意上下。仪表通常用于温度或电流等测量值 内存使用量,还有可以上下波动的“计数”,比如 并发请求

histogram(直方图):

  • 直方图对观测值进行采样(通常是请求持续时间或 响应大小),并将它们计入可配置的存储桶中。它还提供了一个总和 所有观测值。

summary(摘要):

  • 与直方图类似,摘要对观测值进行采样(通常类似于 请求持续时间和响应大小)。虽然它还提供了 观测值和所有观测值的总和,它计算可配置的 滑动时间窗口上的分位数

Exporter概述

所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter。而Exporter的一个实例称为target。

Exporter的来源

两大类:
社区提供的https://prometheus.io/docs/instrumenting/exporters/
Prometheus社区提供了丰富的Exporter实现,涵盖了从基础设施,中间件以及网络等各个方面的监控功能。

常用Exporter:

数据库
MySQL Exporter, Redis Exporter,MongoDB Exporter, MsspL Exporter等
硬件
Apcupsd Exporter,loT Edison Exporter,IPMl Exporter, Node Exporter等
消息队列
Beanstalkd Exporter, Kafka Exporter,NSQ Exporter,RabbitMQ Exporter等
存储
Ceph Exporter,Gluster Exporter, HDFS Exporter, ScalelO Exporter等
HTTP服务
Apache Exporter,HAProxy Exporter, Nginx Exporter等
API服务
AWS ECS Exporter,Docker Cloud Exporter, Docker Hub Exporter, GitHub Exporter等
日志
Fluentd Exporter, Grok Exporter等
监控系统
Collectd Exporter, Graphite Exporter, InfluxDB Exporter, Nagios Exporter,SNMP Exporter等

用户自定义的
除了直接使用社区提供的Exporter程序以外,用户还可以基于Prometheus提供的Client Library创建自己的Exporter程序,目前Promthues社区官方提供了对以下编程语言的支持: Go、Java/Scala、Python、Ruby。同时还有第三方实现的如: Bash、C++.Common Lisp、Erlang,、Haskeel、Lua、Node.js、PHP、Rust等。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_62331653/article/details/137276721

智能推荐

开源项目,毕业设计_本科毕业设计拿别人的开源代码修改-程序员宅基地

文章浏览阅读1.5w次,点赞35次,收藏385次。自己在网上找的开源项目,比较好分享给大家热门开源项目(包含小四轴、智能手环、光立方、智能车、防丢器等项目)号外!号外!(搞四轴,有这套就足够了!)科研级别的小四轴STM32F4芯片支持WIFI且android手机控制自适应控制就是牛掰!该飞机面向有科研和强烈学习意向的小伙伴们使用,如果只是想玩的话你肯定不会喜欢这套四轴的,主要设计思想是提供一个高性能的控制和姿态算法验证平台,因此..._本科毕业设计拿别人的开源代码修改

Java快速开发框架_若依——Ruoyi添加自己的业务模块_ruoyi java17-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏26次。QQ 1274510382Wechat JNZ_aming商业联盟 QQ群538250800技术搞事 QQ群599020441解决方案 QQ群152889761加入我们 QQ群649347320共享学习 QQ群674240731纪年科技aming网络安全 ,深度学习,嵌入式,机器强化,生物智能,生命科学。叮叮叮:产品已上线 —>关注 官方-微信公众号——济南纪年信息科技有限公司民生项目:商城加盟/娱乐交友/创业商圈/外包兼职开发-项目发布/安全项目:态势感.._ruoyi java17

CISCO 交换机配置 Web浏览器的方式-程序员宅基地

文章浏览阅读9k次,点赞2次,收藏3次。 当利用Console口为交换机设置好IP地址信息并启用HTTP服务后,即可通过支持JAVA的Web浏览器访问交换机,并可通过Web通过浏览器修 改交换机的各种参数并对交换机进行管理。事实上,通过Web界面,可以对交换机的许多重要参数进行修改和设置,并可实时查看交换机的运行状态。不过在利用 Web浏览器访问交换机之前,应当确认已经做好以下准备工作:·在用于管理的计算机中安装T..._思科交换机2960s有web配置吗

ERROR - file: tracker_proto.c, line: 48, server: 127.0.0.1:22122, response status 2 != 0-程序员宅基地

文章浏览阅读2.5w次,点赞2次,收藏6次。报错信息: [2018-09-09 20:33:12] ERROR - file: tracker_proto.c, line: 48, server: 127.0.0.1:22122, response status 2 != 0 [2018-09-09 20:33:12] ERROR - file: tracker_proto.c, line: 48, server: 127.0.0.1:..._error - file: tracker_proto.c, line: 48, server: 172.17.0.1:22122, response

使用matplotlib显示图片(《深度学习入门:基于Python的理论与实现》实践笔记)_matplotlib展示图片-程序员宅基地

文章浏览阅读3.9k次。使用matplotlib显示图片(《深度学习入门:基于Python的理论与实现》实践笔记)一、安装matplotlib库二、导入matplotlib.pyplot库和matplotlib.image库里的imread函数三、实例:显示图片一、安装matplotlib库在命令行使用下面的命令即可:pip install matplotlib二、导入matplotlib.pyplot库和matplotlib.image库里的imread函数在程序开头使用:import matplotlib.pyp_matplotlib展示图片

Subversion实践案例——客户现场模式的分布式开发_开发去客户现场的案例-程序员宅基地

文章浏览阅读1.2k次。基本信息 用户单位:某应用软件研发企业 用户规模:100人以上 组织过程水平:中等 CMMI评审等级:无 Subversion使用时间:1年 客户需求 由于公司每次向新客户提交软件的时候都需要派出一个小规模的团队到客户现场进行一段时间的软件定制和维护。此外,老客户系统的重大升级和功能扩展也需要一个小团队在客户现场进行一段时间的开发。因此,异地开发的配置管理就是一_开发去客户现场的案例

随便推点

(基于matlab自写代码)语音信号的短时分析,计算平均能量,短时过零数_matlab求语音信号短时过零率的函数-程序员宅基地

文章浏览阅读3.2k次。一定时宽的语音信号,其能量的大小随时间有明显的变化。清音段能量比浊音段小得多。短时过零数也可用于语音信号分析中,发浊音时,其语音能量约集中于3kHz以下,而发清音时,多数能量出现在较高频率上。可认为浊音时具有较低的平均过零数,而清音时具有较高的平均过零数,故对一短时语音段计算其短时平均能量及短时平均过零数,就可以区分其中的清音段和浊音段,从而可判别句中清、浊音转变时刻,声母韵母的分界以及无声与有声的分界。这在语音识别中有重要意义。自己编写的matlab代码,对一段语音,取帧长为240个点,计算其平均能_matlab求语音信号短时过零率的函数

Ubuntu服务器创建新用户及解决新用户登录Access denied问题

默认情况下,在Ubuntu上,sudo组的成员被授予sudo访问权限。如果您希望新创建的用户具有管理权限,需要将将用户添加到sudo组。命令将向你询问一系列的问题。密码是必需的,其他字段都是可选的。最后,输入Y确认信息是否正确。执行完上述步骤后需要重启ssh服务,否则新创建的用户连接服务器时会出现。

项目组织战略管理及组织结构_项目组织的具体形态的是战略管理层-程序员宅基地

文章浏览阅读1.7k次。组织战略是组织实施各级项目管理,包括项目组合管理、项目集管理和项目管理的基础。只有从组织战略的高度来思考,思考各个层次项目管理在组织中的位置,才能够理解各级项目管理在组织战略实施中的作用。同时战略管理也为项目管理提供了具体的目标和依据,各级项目管理都需要与组织的战略保持一致。..._项目组织的具体形态的是战略管理层

图像质量评价及色彩处理_图像颜色质量评价-程序员宅基地

文章浏览阅读1k次。目录基本统计量色彩空间变换亮度变换函数白平衡图像过曝的评价指标多视影像因曝光条件不一而导致色彩差异,人眼可以快速区分影像质量,如何利用图像信息辅助算法判断影像优劣。基本统计量灰度均值方差梯度均值方差梯度幅值直方图图像熵p·log(p)色彩空间变换RGB转单通道灰度图像 mean = 225.7 stddev = 47.5mean = 158.5 stddev = 33.2转灰度梯度域gradMean = -0.0008297 / -0.000157461gr_图像颜色质量评价

MATLAB运用规则,利用辛普森规则进行数值积分-程序员宅基地

文章浏览阅读1.4k次。Simpson's rule for numerical integrationZ = SIMPS(Y) computes an approximation of the integral of Y via the Simpson's method (with unit spacing). To compute the integral for spacing different from one..._matlab利用幸普生计算积分

【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题-程序员宅基地

文章浏览阅读1.2w次,点赞28次,收藏61次。Hugging face 资源很不错,可是国内下载速度很慢,动则GB的大模型,下载很容易超时,经常下载不成功。很是影响玩AI的信心。经过多次测试,终于搞定了下载,即使超时也可以继续下载。真正实现下载无忧!究竟如何实现?且看本文分解。_huggingface_hub