Linux搭建Prometheus+GrafanaLabs+alertmanager+node_exporter+prometheus-webhook-ding
提前下载准备好安装文件https://i-blog.csdnimg.cn/direct/ee60bf91a05f498bad7b77a99adde876.png
一、Prometheus
1.1 下载地点
Prometheus下载地点:https://prometheus.io/download/
https://i-blog.csdnimg.cn/direct/0405f233fe834db9b7cb39ad4b056d26.png
1.2 安装教程
1)复制下面 代码,定名为prometheus_install.sh。
2)添加执行权限:chmod +x prometheus_install.sh
3)将脚本放在:提前下载准备好安装文件同目录
#!/bin/bash
# 设置安装目录
PROMETHEUS_VERSION="3.3.0-rc.1"
INSTALL_DIR="/usr/local"
# 解压 Prometheus
echo "解压 Prometheus..."
tar -xzf prometheus-$PROMETHEUS_VERSION.linux-amd64.tar.gz -C $INSTALL_DIR
# 创建软链接
ln -s $INSTALL_DIR/prometheus-$PROMETHEUS_VERSION.linux-amd64 $INSTALL_DIR/prometheus
# 创建 Prometheus 用户
useradd --no-create-home --shell /bin/false prometheus
# 设置权限
chown -R prometheus:prometheus $INSTALL_DIR/prometheus-$PROMETHEUS_VERSION.linux-amd64
# 配置 Prometheus 服务
cat <<EOF | tee /etc/systemd/system/prometheus.service
Description=Prometheus
Wants=network-online.target
After=network-online.target
User=prometheus
Group=prometheus
Type=simple
ExecStart=$INSTALL_DIR/prometheus/prometheus \
--config.file=$INSTALL_DIR/prometheus/prometheus.yml \
--storage.tsdb.path=$INSTALL_DIR/prometheus/data \
--web.config.file=$INSTALL_DIR/prometheus/config.yml
WantedBy=multi-user.target
EOF
# 重新加载 systemd 配置
echo "重新加载 systemd 配置..."
systemctl daemon-reload
# 启动并启用 Prometheus 和 Grafana
echo "启动 Prometheus..."
systemctl start prometheus
systemctl enable prometheus
1.3 设置文件
修改prometheus.yml设置文件:
global:
scrape_interval: 30s
evaluation_interval: 60s
alerting:
alertmanagers:
- static_configs:
- targets: ['localhost:9093']
rule_files:
- "rules/*.yml"
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
labels:
app: "prometheus"
- job_name: "公共网络区-Web节点"
static_configs:
- targets: ["172.20.23.39:9001","172.20.23.40:9001"]
创建rules文件夹,在rules文件夹下创建node_exporter_rules.yml文件:
groups:
- name: 服务器资源监控
rules:
- alert: 内存使用率过高
expr: 100 - (node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100 > 90
for: 5m# 告警持续时间,超过这个时间才会发送给alertmanager
labels:
severity: 严重告警
annotations:
summary: "{
{ $ }} 内存使用率过高,请尽快处理!"
description: "{
{ $ }}内存使用率超过90%,当前使用率{
{ $value }}%."
- alert: 服务器宕机
expr: up == 0
for: 3m
labels:
severity: 严重告警
annotations:
summary: "{
{$}} 服务器宕机,请尽快处理!"
description: "{
{$}} 服务
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]