【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等。

  • 20
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值