node_exporter监控部署

韵味老鸟 2024-07-02 19:52:42

node_exporter 监控部署

nerdctl compose -f docker-compose.yaml up -d

nerdctl compose -f docker-compose.yaml down

version: '3.8'services: node_exporter: container_name: node_exporter # hostname: "{{.Node.Hostname}}" image: quay.io/prometheus/node-exporter:v1.5.0 command: - '--path.rootfs=/host' # ports: # - 9100:9100 volumes: - '/:/host:ro,rslave' network_mode: host pid: host #restart: unless-stopped restart: always

#告警规则 参考:https://awesome-prometheus-alerts.grep.to/rules#host-and-hardware

service/kube-prometheus-stack-prometheus-node-exporter 已经有采集

采集主机层数据

1.导入镜像

docker load < node-exporter.v1.5.0.tgz

2.docker-compose.yaml文件

cd /data/docker-swarm

node-exporter-docker-compose.yaml

version: '3.8'services: node_exporter: container_name: node_exporter hostname: "{{.Node.Hostname}}" image: quay.io/prometheus/node-exporter:v1.5.0 command: - '--path.rootfs=/host' ports: - 9200:9100 volumes: - '/:/host:ro,rslave' networks: - monitor deploy: mode: global# resources:# limits:# cpus: '0.50'# memory: 300Mnetworks: monitor: external: true

#如果是docker-compose方式,需要直接写好hostname

hostname: "{{.Node.Hostname}}"

3.启停服务

docker stack rm node-exporter

docker stack deploy -c node-exporter-docker-compose.yaml node-exporter

4.prometheus配置

# 进入prometheus配置目录cd /data/prometheus/conf# 配置需要监控的node-exporter实例连接地址(此处以staging环境为例)cat > targets/node-exporter/staging.yaml <<\EOF- labels: env: sz-prom-staging targets: - '192.168.102.213:9100' - '192.168.102.214:9100' - '192.168.102.235:9100' - '192.168.102.219:9100' - '192.168.102.236:9100' - '192.168.102.215:9100' - '192.168.102.220:9100' - '192.168.102.221:9100'EOF# 添加prometheus job配置cat >> prometheus.yml <<\EOF - job_name: node-exporter file_sd_configs: - files: - /etc/prometheus/targets/node-exporter/*.yamlEOF# 重载prometheus配置curl -vv --basic -u 'admin:meng@2022' -X POST http://192.168.10.19:9090/-/reload

参考:

/data/prometheus/conf/targets/node-exporter/

dev.yaml

- labels: cluster: sz-system-dev targets: - '192.168.10.19:9200' #9200 端口区别于k8s已经部署Node-exporter,占用了9100

#案例1

---version: '3.8'services: node_exporter: image: quay.io/prometheus/node-exporter:latest container_name: node_exporter command: - '--path.rootfs=/host' network_mode: host pid: host restart: unless-stopped volumes: - '/:/host:ro,rslave'

#案例2

version: '3.8'services: node_exporter: container_name: node_exporter # hostname: "{{.Node.Hostname}}" image: quay.io/prometheus/node-exporter:v1.5.0 command: - '--path.rootfs=/host'# ports:# - 9100:9100 volumes: - '/:/host:ro,rslave' network_mode: host pid: host restart: unless-stopped

0 阅读:0