一.上传软件包
具体的软件包如下,其中kubernetes-mixin是下载的监控kubernetes的一些监控规则、dashbaordd等。
二.Prometheus配置
1.promethes软件安装
#解压上传后的软件包
[root@localhost ] cd /opt
[root@localhost opt]# tar xf prometheus-2.35.3.linux-amd64.tar.gz
#移动并命名
[root@localhost opt]# mv prometheus-2.35.3.linux-amd64 /usr/local/prometheus
[root@localhost opt]# cd /usr/local/prometheus
[root@localhost prometheus]# ls
console_libraries consoles LICENSE NOTICE prometheus prometheus.yml promtool
2.编辑peometheus的启动文件
cat > /usr/lib/systemd/system/prometheus.service <<'EOF'
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io
After=network.target[Service]
Type=simple
ExecStart=/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--web.listen-address=localhost:9090 \
--storage.tsdb.path=/usr/local/prometheus/data/ \
--storage.tsdb.retention=15d \
--web.enable-lifecycleExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure[Install]
WantedBy=multi-user.target
EOF#服务启动参数介绍
--config.file=/usr/local/prometheus/prometheus.yml #指定配置文件
--storage.tsdb.path=/usr/local/prometheus/data/ #数据存储目录
--storage.tsdb.retention.time=15d #数据保存时间,支持:y, w, d, h, m, s, ms
--web.enable-lifecycle #开启配置文件热加载
--log.level=info #日志级别,支持debug, info, warn, error
4.配置文件
cat /usr/local/prometheus/prometheus.yml | grep -v "^#"global: #用于prometheus的全局配置,比如采集间隔,抓取超时时间等scrape_interval: 15s #采集目标主机监控数据的时间间隔,默认为1mevaluation_interval: 15s #触发告警生成alert的时间间隔,默认是1m# scrape_timeout is set to the global default (10s).scrape_timeout: 10s #数据采集超时时间,默认10salerting: #用于alertmanager实例的配置,支持静态配置和动态服务发现的机制alertmanagers:- static_configs:- targets:# - alertmanager:9093rule_files: #用于加载告警规则相关的文件路径的配置,可以使用文件名通配机制# - "first_rules.yml"# - "second_rules.yml"scrape_configs: #用于采集时序数据源的配置# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus" #每个被监控实例的集合用job_name命名,支持静态配置(static_configs)和动态服务发现的机制(*_sd_configs)# metrics_path defaults to '/metrics'metrics_path: '/metrics' #指标数据采集路径,默认为 /metrics# scheme defaults to 'http'.static_configs: #静态目标配置,固定从某个target拉取数据- targets: ["localhost:9090"]
3.启动服务
systemctl start prometheus
systemctl enable prometheusnetstat -natp | grep :9090
三.部署Node Exporter
1.安装Node Exporter
上传 node_exporter-1.8.2.linux-amd64.tar.gz 到 /opt 目录中,并解压
cd /opt/
tar xf node_exporter-1.8.2.linux-amd64.tar.gz
mv node_exporter-1.8.2.linux-amd64/node_exporter /usr/local/node_exporter
2.启动文件
#配置启动文件
cat > /usr/lib/systemd/system/node_exporter.service <<'EOF'
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target[Service]
Type=simple
ExecStart=/usr/local/node_exporter/node_exporter \
--collector.ntp \
--collector.mountstats \
--collector.systemd \
--collector.tcpstatExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure[Install]
WantedBy=multi-user.target
EOF
3.启动服务
systemctl start node_exporter.servicesystemctl enable node_exporter.service
四.安装alertmanager
1.安装
tar xf alertmanager-0.27.0.linux-amd64.tar.gzmv alertmanager-0.27.0.linux-amd64 /usr/local/alertmanager
2.启动配置文件
#添加启动服务
vim /usr/lib/systemd/system/alertmanager.service
[Unit]
Description=Alertmanager
After=network.target[Service]
Type=simple
#User=prometheus
ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml --storage.path=/data/alertmanager
Restart=on-failure[Install]
WantedBy=multi-user.target
2.启动