监控部署-1-Prometheus部署+node_exporter部署
此次部署用到两台机器,都采用新版本进行部署
monitor
node-91.2
prometheus部署
1、直接去官方下载页面复制下载链接
https://prometheus.io/download/
cd /data
wget https://github.com/prometheus/prometheus/releases/download/v2.33.1/prometheus-2.33.1.linux-amd64.tar.gz
解压后配置软连接
ln -s prometheus-2.33.1.linux-amd64 prometheus
2、查看prometheus帮助
[root@monitor /data/prometheus]# ./prometheus --help
列出一些常用的配置参数
--config.file="prometheus.yml" 默认prometheus的配置文件
--web.listen-address="0.0.0.0:9090" 默认监听9090端口
--web.enable-lifecycle 开启热重启,可以reload prometheus
--web.enable-admin-api 打开以后可以打快照、删除数据
--storage.tsdb.retention.time 默认tsdb数据存放15天,我将配置为30天
3、配置systemd启动脚本
Restart=always或者on-failure
这里引出一些细节,always表示服务只要是关闭状态的,systemd就会将它启动,on-failure是服务异常退出后systed才会将它启动,kill、kill-9 stop服务这些操作服务exit都是0状态码,不会被视为异常退出
cat /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus Server
After=network.target
[Service]
ExecStart=/data/prometheus/prometheus --storage.tsdb.retention=30d --web.enable-lifecycle --web.enable-admin-api --config.file=/data/prometheus/prometheus.yml
User=root
Restart=always
RestartSec=20s
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable prometheus
systemctl start prometheus
当修改了prometheus.yml需要让其生效时,直接reload热重启
curl -XPOST http://127.0.0.1:9090/-/reload
prometheus服务启动后可以访问web界面
node_exporter 部署
1、download包
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
2、node_exporter有用的只有程序包,移动到/data/目录
mv node_exporter-1.3.1.linux-amd64/node_exporter /data
chmod +x node_exporter
3、配置软连接
ln -s /data/node_exporter /usr/local/bin/
4、创建node_exporter启动参数存放路径
mkdir -p /opt/ops/node/
5、配置启动脚本(ubuntu启动脚本可以使用相同的路径)
cat >>/lib/systemd/system/node_exporter.service<>/opt/ops/node/node_start_args <
prometheus监控主机
1、scrape_configs下添加job,确保可以和被监控主机9100端口通信
- job_name: "api-server-exporter"
static_configs:
- targets: ["192.168.91.2:9100"]
2、curl -XPOST http://127.0.0.1:9090/-/reload热重启让配置生效
可以看到prometheus已经抓取到了监控信息