Prometheus 主机监控管理模板

systemd 管理node_exporter

https://prometheus.io/download/#node_exporter

wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz

~]# tar -xf node_exporter-1.7.0.linux-amd64.tar.gz 
node_exporter-1.7.0.linux-amd64  node_exporter-1.7.0.linux-amd64.tar.gz
~]# cd node_exporter-1.7.0.linux-amd64
node_exporter-1.7.0.linux-amd64]# mv node_exporter /usr/bin/

cat > /usr/lib/systemd/system/node_exporter.service <<EOF
[Unit]
Description=node_exporter
After=syslog.target
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/node_exporter
Restart=always
RestartSec=10
StartLimitInterval=100

[Install]
WantedBy=multi-user.target

EOF

systemctl daemon-reload
systemctl enable node_exporter
systemctl start node_exporter

ss -lntup | grep 9100
tcp    LISTEN     0      1024   [::]:9100               [::]:*                   users:(("node_exporter",pid=22493,fd=3))
tidb的监控启动参数,收集了oom的指标
node_exporter --web.listen-address=:9100 --collector.tcpstat --collector.mountstats --collector.meminfo_numa --collector.buddyinfo --collector.vmstat.fields=^.* --log.level=info

docker 启动systemd

docker run -d --name node_exporter --restart=always --net="host" --pid="host" -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter --path.procfs=/host/proc --path.rootfs=/rootfs --path.sysfs=/host/sys --collector.filesystem.ignored-mount-points='^/(sys|proc|dev|host|etc)($$|/)'

mysql 监控

docker run -d   --name mysqld_exporter   -p 9104:9104   --restart always   --network host    -e DATA_SOURCE_NAME='exporter:2Pn284jV@(127.0.0.1:3306)/'   prom/mysqld-exporter:v0.14.0 --collect.info_schema.processlist

systemd mysqld_expoter

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz

cat /etc/mysqld_exporter.conf 
[client]
user = exporter
password = 2Pn284jV

cat /usr/lib/systemd/system/mysqld_exporter.service 
[Unit]
Description=node_exporter
After=syslog.target
After=network.target

[Service]
Type=simple
Environment="DATA_SOURCE_NAME=exporter:2Pn284jV@(127.0.0.1:3306)/"
ExecStart=/usr/bin/mysqld_exporter --collect.info_schema.processlist --config.my-cnf=/etc/mysqld_exporter.conf
Restart=always
RestartSec=10
StartLimitInterval=100

[Install]
WantedBy=multi-user.target


systemctl daemon-reload
systemctl start mysqld_exporter
systemctl enable mysqld_exporter

自动安装的脚本

#!/bin/bash

wget "https://operator-file.obs.cn-south-1.myhuaweicloud.com/applications/node_exporter-1.8.2.linux-amd64.tar.gz" -O /opt/node_exporter-1.8.2.linux-amd64.tar.gz

tar -xf /opt/node_exporter-1.8.2.linux-amd64.tar.gz -C /opt/

mv /opt/node_exporter-1.8.2.linux-amd64/node_exporter /usr/bin/

cat > /usr/lib/systemd/system/node_exporter.service <<EOF
[Unit]
Description=node_exporter
After=syslog.target
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/node_exporter --web.listen-address=:9100 --collector.tcpstat --collector.mountstats --collector.meminfo_numa --collector.buddyinfo --collector.vmstat.fields=^.* --log.level=info
Restart=always
RestartSec=10
StartLimitInterval=100

[Install]
WantedBy=multi-user.target

EOF

systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter

bash -x install-node_exporter-with-systemd.sh
systemctl status node_exporter

posted @   Gshelldon  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示