一、介绍
Prometheus是一个开源的系统监控和警报工具。它最初由SoundCloud开发并在2012年开源。Prometheus能够收集和存储来自各种服务和系统的指标数据,例如CPU使用率、内存使用量、网络流量等。它使用一种名为PromQL的查询语言,可以对收集到的指标数据进行查询和分析。此外,Prometheus还支持灵活的警报规则定义,可以根据指标的阈值和模式来生成警报。Prometheus还提供了一个直观的Web界面,用于可视化和监控指标数据。它还可以与其他工具进行集成,如Grafana用于数据可视化和Alertmanager用于警报通知。Prometheus的设计理念是面向多个维度的时间序列数据,它不仅可以收集和存储历史数据,还可以实时监控和警报。这使得Prometheus成为了一个强大的系统监控和警报工具,被广泛应用于云原生和容器化环境中。
二、安装Prometheus
1、安装ntpdate工具,进行时间同步,关闭防火墙
apt -y install ntpdate
/sur/ntpdate ntp1.aliyun.com #找到下载到所在文件夹,进行时间同步
systemctl stop ufw.service
2、下载wget进行网络资源获取
apt -y install wget
3、下载Prometheus-2.37.2
wget https://github.com/prometheus/prometheus/releases/download/v2.37.2/prometheus-2.37.2.linux-amd64.tar.gz
tar zxf prometheus-2.37.2.linux-amd64.tar.gz -C /usr
cd /usr
mkdir ./prometheus
mv prometheus-2.37.2.linux-amd64 ./prometheus
4、Prometheus配置文件详解
vi /usr/prometheus/prometheus.yml
# my global config
global:
# 设置Prometheus对目标进行抓取的时间间隔
scrape_interval: 15s
# 设置规则的评估时间间隔
evaluation_interval: 15s
# Alertmanager 配置
alerting:
# Alertmanager实例列表,此处被注释掉表示禁用Alertmanager
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# 一次性加载规则并根据全局的 'evaluation_interval' 定期评估规则
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# 监控配置,包含抓取的作业和目标
scrape_configs:
- job_name: "prometheus"
static_configs:
# Prometheus自身的监控指标
- targets: ["192.168.118.136:9090"]
- job_name: "prometheus-001"
# 抓取间隔为10秒
scrape_interval: 10s
static_configs:
# 目标为'192.168.118.135:9100',并带有标签 'instance: prometheus-001'
- targets: ['192.168.118.135:9100']
labels:
instance: prometheus001
5、添加prometheus账户启动服务
groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus
目录授权
chown -R prometheus:prometheus /usr/prometheus/
创建prometheus 本地TSDB数据存储目录
mkdir -p /var/lib/prometheus
chown -R prometheus:prometheus /var/lib/prometheus/
6、将prometheus添加为服务启动
vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
# Type设置为notify时,服务会不断重启
Type=simple
User=prometheus
# --storage.tsdb.path是可选项,默认数据目录在运行目录的./dada目录中
ExecStart=/usr/prometheus/prometheus --config.file=/usr/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --web.enable-lifecycle
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
chown prometheus:prometheus /usr/lib/system/prometheus.service
7、设置Prometheus自启动
systemctl daemon-reload
systemctl star prometheus
systemctl status prometheus #查看状态
8、启动服务
http://localhost:9090
三、快速安装Grafana
1、在Snap上可快速部署
2、启动服务
cd
ls #查看目录,发现snap这个文件夹
cd snap #打开查看
ls #查看目录,找到Grafana
systemctl enzble grafana #启动开机自启动服务
在浏览器上打开localhost:3000即可
初始账号密码都为admin