您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關node_exporter的使用方法的內容。小編覺得挺實用的,因此分享給大家學習。如下資料是關于node_exporter的內容。
下載軟件包:
1.下載安裝node_export
mkdir -p /usr/local/prometheus/exporter/node cd /usr/local/prometheus/exporter/node curl -s -OL https://github.com/prometheus/node_exporter/releases/download/v0.18.0/node_exporter-$Version.linux-amd64.tar.gz tar xf node_exporter-0.18.0.linux-amd64.tar.gz cp -a node_exporter-0.18.0.linux-amd64/node_exporter /usr/local/bin/
2.注冊系統服務
cat > /usr/lib/systemd/system/node-exporter.service <<-'EOF' [Unit] Description=This is prometheus node exporter After=docker.service [Service] Type=simple ExecStart=/usr/local/bin/node_exporter ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure [Install] WantedBy=multi-user.target EOF
3.設置開機自啟,啟動服務
systemctl daemon-reload && systemctl enable node-exporter.service && systemctl start node-exporter.service
node_exporter 他的本質就是監控主機系統,所以我們不建議將其部署為 docker 容器,因為他需要訪問主機系統.
- job_name: node metrics_path: /metrics static_configs: - targets: ['192.168.111.65:9100']
重啟 prometheus,查看狀態
基于發現配置prometheus
在prometheus 主配置文件配置定義子配置文件路徑
- job_name: 'node' static_configs: file_sd_configs: - files: - metrics/node_exporter*.yaml refresh_interval: 2m
在prometheus安裝目錄下的targets目錄下(在主配置文件定義metrics目錄不存在則手動創建)創建文件 node_exporter65.yaml
- targets: ['192.168.111.65:9100'] # 如果有多個node_exporter,配置到[]中,隔開添加不需要重啟服務,服務自動發現node_exporter客戶端 labels: app: node-exporter job: node
圖表編號為8919
https://grafana.com/grafana/dashboards/8919
然后可以看到如下圖表
開啟alertmanager配置告警規則
prometheus 主配置文件配置定義子配置文件路徑
rule_files: - "rules/*.yml"
prometheus 告警規則
在prometheus安裝目錄下的定義的rules目錄下(如果rules目錄不存在)創建文件 alarm_rule.yml
groups: - name: hostStatsAlert rules: - alert: hostCpuUsageAlert expr: (1- avg(irate(node_cpu_seconds_total{instance=~"$node",mode="idle"}[30m])))*100>85 for: 1m labels: level: disaster #定義一個等級標簽,用于altermanager 發送消息 annotations: summary: "實例 {{ $labels.instance }} CPU使用率過高" description: "{{ $labels.instance }} CPU 使用率大于 85% (當前值為: {{ $value }})" - alert: hostMemUsageAlert expr: (1 - (node_memory_MemAvailable_bytes / (node_memory_MemTotal_bytes)))* 100>85 for: 1m labels: level: disaster annotations: summary: "實例 {{ $labels.instance }} 內存使用率過高" description: "{{ $labels.instance }} 內存使用率大于 85% (當前的值: {{ $value }})" - alert: hostLoad expr: sum(node_load15) >= sum(count(node_cpu_seconds_total{mode='system'}) by (cpu)) and node_load1 > node_load5 and node_load5 > node_load15 for: 1m labels: level: disaster annotations: summary: "實例 {{ $labels.instance }} 15 分鐘負載過高" description: "{{ $labels.instance }} 15 分鐘負載大于其 cpu 核心數 (當前的值: {{ $value }})" - alert: hostUp expr: up{job="node"} == 0 for: 1m labels: level: disaster annotations: summary: "實例 {{ $labels.instance }} 不可達" description: "{{ $labels.instance }} 實例不可達,請盡快解決"
1.下載安裝alertmanager
wget https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz tar -xf alertmanager-0.21.0.linux-amd64.tar.gz mv alertmanager-0.21.0.linux-amd64 /usr/local/alertmanager
2.注冊系統服務
cat > /usr/lib/systemd/system/alertmanager.service <<-'EOF' [Unit] Description=This is alertmanager After=network.target [Service] Type=simple ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml --cluster.advertise-address=0.0.0.0:9093 Restart=on-failure [Install] WantedBy=multi-user.target EOF
3.設置開機自啟,啟動服務
systemctl daemon-reload && systemctl enable alertmanager.service && systemctl start alertmanager.service
alertmanager 基于郵件報警配置
alertmanager 主配置文件配置
global: smtp_smarthost: 'smtp.qq.com:465' smtp_from: '88888888@qq.com' # 告警發送到的郵箱 smtp_auth_username: '88888888@qq.com' smtp_auth_password: 'pqrbkxvnpogxbobw' # 郵箱開啟SMTP/pop3后的密碼 smtp_require_tls: falseroute: group_by: ["instance"] group_wait: 30s group_interval: 5m repeat_interval: 2h receiver: mail receivers: - name: 'mail' email_configs: - to: '88888888@qq.com' send_resolved: False
看完這篇文章,你們學會node_exporter的使用方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。