196 lines
4.6 KiB
Plaintext
196 lines
4.6 KiB
Plaintext
tar -zxvf node_exporter-1.8.2.linux-amd64.tar.gz
|
||
|
||
vim /etc/systemd/system/node_exporter.service
|
||
|
||
[Unit]
|
||
Description=node_exporter Monitoring System
|
||
Documentation=node_exporter Monitoring System
|
||
[Service]
|
||
ExecStart=/opt/exporter/node_exporter/node_exporter --web.listen-address=:9100
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
|
||
systemctl daemon-reexec
|
||
systemctl daemon-reload
|
||
|
||
|
||
systemctl start node_exporter
|
||
systemctl status node_exporter
|
||
|
||
systemctl enable node_exporter
|
||
|
||
ss -ntl | grep 9100
|
||
|
||
curl http://localhost:9100/metrics
|
||
|
||
|
||
--------------------------------------------------------------------------------------------------------
|
||
|
||
# 下载 node_exporter
|
||
cd /opt/
|
||
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.0/node_exporter-1.8.0.linux-amd64.tar.gz
|
||
tar -xzf node_exporter-1.8.0.linux-amd64.tar.gz
|
||
mv node_exporter-1.8.2.linux-amd64 node_exporter
|
||
|
||
|
||
# systemd 管理----------
|
||
sudo tee /etc/systemd/system/node_exporter.service > /dev/null <<EOF
|
||
[Unit]
|
||
Description=Prometheus Node Exporter
|
||
After=network.target
|
||
|
||
[Service]
|
||
User=root
|
||
ExecStart=/opt/exporter/node_exporter/node_exporter
|
||
Restart=on-failure
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
EOF
|
||
# systemd 管理----------
|
||
sudo systemctl daemon-reexec
|
||
sudo systemctl daemon-reload
|
||
sudo systemctl start node_exporter
|
||
sudo systemctl status node_exporter
|
||
sudo systemctl enable node_exporter
|
||
|
||
|
||
# 启动服务
|
||
nohup /opt/node_exporter/node_exporter > /opt/node_exporter/node_exporter.log 2>&1 &
|
||
|
||
默认监听 9100,确认防火墙放行或仅 Prometheus 网络能访问。
|
||
|
||
调试技巧
|
||
cat /proc/1784152/cmdline | tr '\0' '\n'
|
||
|
||
安装 process_exporter(二进制)
|
||
cd /opt/
|
||
wget https://github.com/ncabatoff/process-exporter/releases/download/v0.7.10/process-exporter-0.7.10.linux-amd64.tar.gz
|
||
tar -xzf process-exporter-0.7.10.linux-amd64.tar.gz
|
||
mv process-exporter-0.8.5.linux-amd64 process-exporter
|
||
|
||
|
||
sudo tee /etc/systemd/system/process_exporter.service > /dev/null <<EOF
|
||
[Unit]
|
||
Description=Prometheus Process Exporter
|
||
After=network.target
|
||
|
||
[Service]
|
||
ExecStart=/opt/exporter/process-exporter/process-exporter --config.path=/opt/exporter/process-exporter/process-exporter.yml
|
||
Restart=always
|
||
User=root
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
EOF
|
||
|
||
sudo systemctl daemon-reload
|
||
sudo systemctl start process_exporter
|
||
sudo systemctl status process_exporter
|
||
sudo systemctl enable process_exporter
|
||
|
||
|
||
|
||
|
||
|
||
安装 mongodb_exporter
|
||
cd /opt
|
||
wget https://github.com/percona/mongodb_exporter/releases/download/v0.40.0/mongodb_exporter-0.40.0.linux-amd64.tar.gz
|
||
tar -xzf mongodb_exporter-0.40.0.linux-amd64.tar.gz
|
||
mv mongodb_exporter-0.40.0.linux-amd64 /opt/mongodb_exporter
|
||
|
||
|
||
use admin
|
||
db.createUser({
|
||
user: "prometheus",
|
||
pwd: "StrongPassword",
|
||
roles: [ { role: "clusterMonitor", db: "admin" } ]
|
||
})
|
||
|
||
|
||
[Unit]
|
||
Description=Prometheus MongoDB Exporter
|
||
After=network.target
|
||
|
||
[Service]
|
||
ExecStart=/opt/exporter/mongodb_exporter/mongodb_exporter \
|
||
--mongodb.uri=mongodb://prometheus:StrongPassword@localhost:27017/admin
|
||
Restart=on-failure
|
||
User=root
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
|
||
|
||
|
||
sudo tee /etc/systemd/system/mongodb_exporter.service > /dev/null <<EOF
|
||
[Unit]
|
||
Description=Prometheus MongoDB Exporter
|
||
After=network.target
|
||
|
||
[Service]
|
||
ExecStart=/opt/exporter/mongodb_exporter/mongodb_exporter \
|
||
--mongodb.uri=mongodb://admin:Ud4G8sty6BK@localhost:27017/admin \
|
||
Restart=on-failure
|
||
User=root
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
EOF
|
||
|
||
|
||
# 请将 mongodb://myuser:mypassword@localhost:27017/admin 替换为你的实际账号密码和数据库地址。
|
||
|
||
sudo systemctl daemon-reload
|
||
sudo systemctl restart mongodb_exporter
|
||
sudo systemctl start mongodb_exporter
|
||
sudo systemctl status mongodb_exporter
|
||
sudo systemctl enable mongodb_exporter
|
||
|
||
|
||
[Unit]
|
||
Description=Prometheus MongoDB Exporter
|
||
After=network.target
|
||
|
||
[Service]
|
||
ExecStart=/opt/exporter/mongodb_exporter/mongodb_exporter --mongodb.uri=mongodb://admin:Ud4G8sty6BK@localhost:27017/admin --compatible-mode
|
||
Restart=on-failure
|
||
User=root
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
|
||
|
||
|
||
# 启动
|
||
/opt/mongodb_exporter/mongodb_exporter \
|
||
--mongodb.uri="mongodb://<user>:<password>@localhost:27017/admin" &
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
use admin
|
||
|
||
// 获取总连接数信息
|
||
var connStatus = db.serverStatus().connections;
|
||
print("总连接数 current:", connStatus.current, "可用 available:", connStatus.available);
|
||
|
||
// 统计每个客户端 IP 当前连接数
|
||
|
||
db.adminCommand({
|
||
aggregate: 1,
|
||
pipeline: [
|
||
{ $currentOp: { allUsers: true, localOps: true } },
|
||
{ $match: { client: { $exists: true } } },
|
||
{ $project: { ip: { $arrayElemAt: [ { $split: ["$client", ":"] }, 0 ] } } },
|
||
{ $group: { _id: "$ip", count: { $sum: 1 } } },
|
||
{ $sort: { count: -1 } }
|
||
],
|
||
cursor: {}
|
||
}).cursor.firstBatch.forEach(doc => printjson(doc)); |