以下是基于您提供的安装包在CentOS Linux 7上搭建监控平台的详细步骤。所有组件将统一安装到 /opt/monitoring
目录下,确保路径一致性。
步骤1:环境准备
# 创建统一安装目录
sudo mkdir -p /opt/monitoring
cd /opt/monitoring
# 安装依赖工具
sudo yum install -y tar firewalld
sudo systemctl start firewalld
步骤2:整理安装包
将您列出的安装包移动到 /opt/monitoring
步骤3:安装Node Exporter(监控主机指标)
# 解压并安装
tar -xzf node_exporter-1.9.1.linux-amd64.tar.gz -C /opt/monitoring/
sudo mv /opt/monitoring/node_exporter-1.9.1.linux-amd64 /opt/monitoring/node_exporter
# 创建系统服务
cat <<EOF | sudo tee /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=root
ExecStart=/opt/monitoring/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# 启动服务
sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
# 开放防火墙端口
sudo firewall-cmd --permanent --add-port=9100/tcp
sudo firewall-cmd --reload
步骤4:安装Prometheus(监控核心)
# 解压并安装
tar -xzf prometheus-3.4.1.linux-amd64.tar.gz -C /opt/monitoring/
sudo mv /opt/monitoring/prometheus-3.4.1.linux-amd64 /opt/monitoring/prometheus
# 配置Prometheus(添加Node Exporter目标)
cat <<EOF | sudo tee /opt/monitoring/prometheus/prometheus.yml
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['localhost:9100'] # Node Exporter端口
EOF
# 创建系统服务
cat <<EOF | sudo tee /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
After=network.target
[Service]
User=root
ExecStart=/opt/monitoring/prometheus/prometheus \
--config.file=/opt/monitoring/prometheus/prometheus.yml \
--storage.tsdb.path=/opt/monitoring/prometheus/data
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# 启动服务
sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus
# 开放防火墙端口
sudo firewall-cmd --permanent --add-port=9090/tcp
sudo firewall-cmd --reload
步骤5:安装Alertmanager(告警管理)
# 解压并安装
tar -xzf alertmanager-0.28.0.linux-amd64.tar.gz -C /opt/monitoring/
sudo mv /opt/monitoring/alertmanager-0.28.0.linux-amd64 /opt/monitoring/alertmanager
# 创建系统服务
cat <<EOF | sudo tee /etc/systemd/system/alertmanager.service
[Unit]
Description=Alertmanager
After=network.target
[Service]
User=root
ExecStart=/opt/monitoring/alertmanager/alertmanager \
--config.file=/opt/monitoring/alertmanager/alertmanager.yml \
--storage.path=/opt/monitoring/alertmanager/data
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# 启动服务
sudo systemctl daemon-reload
sudo systemctl start alertmanager
sudo systemctl enable alertmanager
# 开放防火墙端口
sudo firewall-cmd --permanent --add-port=9093/tcp
sudo firewall-cmd --reload
步骤6:安装Prometheus Webhook Dingtalk(钉钉告警集成)
# 解压并安装
tar -xzf prometheus-webhook-dingtalk-2.1.0.linux-amd64.tar.gz -C /opt/monitoring/
sudo mv /opt/monitoring/prometheus-webhook-dingtalk-2.1.0.linux-amd64 /opt/monitoring/dingtalk
# 生成配置文件(替换YOUR_DINGTALK_WEBHOOK)
cat <<EOF | sudo tee /opt/monitoring/dingtalk/config.yml
targets:
webhook1:
url: https://oapi.dingtalk.com/robot/send?access_token=YOUR_DINGTALK_WEBHOOK
EOF
# 创建系统服务
cat <<EOF | sudo tee /etc/systemd/system/dingtalk.service
[Unit]
Description=Prometheus Webhook Dingtalk
After=network.target
[Service]
User=root
ExecStart=/opt/monitoring/dingtalk/prometheus-webhook-dingtalk \
--config.file=/opt/monitoring/dingtalk/config.yml
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# 启动服务
sudo systemctl daemon-reload
sudo systemctl start dingtalk
sudo systemctl enable dingtalk
# 开放防火墙端口
sudo firewall-cmd --permanent --add-port=8060/tcp
sudo firewall-cmd --reload
步骤7:安装Grafana(数据可视化)
# 解压并安装
tar -xzf grafana-12.0.1.linux-amd64.tar.gz -C /opt/monitoring/
sudo mv /opt/monitoring/grafana-12.0.1.linux-amd64 /opt/monitoring/grafana
# 创建系统服务
cat <<EOF | sudo tee /etc/systemd/system/grafana.service
[Unit]
Description=Grafana
After=network.target
[Service]
User=root
ExecStart=/opt/monitoring/grafana/bin/grafana-server \
--homepath /opt/monitoring/grafana
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# 启动服务
sudo systemctl daemon-reload
sudo systemctl start grafana
sudo systemctl enable grafana
# 开放防火墙端口
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
步骤8:配置整合
-
Grafana连接Prometheus
- 访问
http://服务器IP:3000
(默认账号/密码:admin/admin
) - 添加数据源 → 选择 Prometheus → URL填
http://localhost:9090
- 访问
-
导入Dashboard
- 下载Node Exporter仪表盘:https://grafana.com/grafana/dashboards/1860
- 在Grafana中导入JSON文件
-
告警链路配置
-
修改
prometheus.yml
添加Alertmanager:alerting: alertmanagers: - static_configs: - targets: ['localhost:9093']
-
重启Prometheus:
sudo systemctl restart prometheus
-
验证安装
# 检查服务状态
sudo systemctl status node_exporter prometheus alertmanager dingtalk grafana
# 检查端口监听
ss -tuln | grep -E '9100|9090|9093|8060|3000'
注意:替换钉钉配置中的
YOUR_DINGTALK_WEBHOOK
为实际Webhook URL。所有组件日志可在/var/log/messages
查看。