這篇文章給大家分享的是有關(guān)node_exporter的使用方法的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí)。如下資料是關(guān)于node_exporter的內(nèi)容。
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、網(wǎng)頁(yè)空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、洪湖網(wǎng)站維護(hù)、網(wǎng)站推廣。
下載軟件包:
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.注冊(cè)系統(tǒng)服務(wù)
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.設(shè)置開(kāi)機(jī)自啟,啟動(dòng)服務(wù)
systemctl daemon-reload && systemctl enable node-exporter.service && systemctl start node-exporter.service
node_exporter 他的本質(zhì)就是監(jiān)控主機(jī)系統(tǒng),所以我們不建議將其部署為 docker 容器,因?yàn)樗枰L(fǎng)問(wèn)主機(jī)系統(tǒng).
- job_name: node metrics_path: /metrics static_configs: - targets: ['192.168.111.65:9100']
重啟 prometheus,查看狀態(tài)
基于發(fā)現(xiàn)配置prometheus
在prometheus 主配置文件配置定義子配置文件路徑
- job_name: 'node' static_configs: file_sd_configs: - files: - metrics/node_exporter*.yaml refresh_interval: 2m
在prometheus安裝目錄下的targets目錄下(在主配置文件定義metrics目錄不存在則手動(dòng)創(chuàng)建)創(chuàng)建文件 node_exporter65.yaml
- targets: ['192.168.111.65:9100'] # 如果有多個(gè)node_exporter,配置到[]中,隔開(kāi)添加不需要重啟服務(wù),服務(wù)自動(dòng)發(fā)現(xiàn)node_exporter客戶(hù)端 labels: app: node-exporter job: node
圖表編號(hào)為8919
https://grafana.com/grafana/dashboards/8919
然后可以看到如下圖表
開(kāi)啟alertmanager配置告警規(guī)則
prometheus 主配置文件配置定義子配置文件路徑
rule_files: - "rules/*.yml"
prometheus 告警規(guī)則
在prometheus安裝目錄下的定義的rules目錄下(如果rules目錄不存在)創(chuàng)建文件 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 #定義一個(gè)等級(jí)標(biāo)簽,用于altermanager 發(fā)送消息 annotations: summary: "實(shí)例 {{ $labels.instance }} CPU使用率過(guò)高" description: "{{ $labels.instance }} CPU 使用率大于 85% (當(dāng)前值為: {{ $value }})" - alert: hostMemUsageAlert expr: (1 - (node_memory_MemAvailable_bytes / (node_memory_MemTotal_bytes)))* 100>85 for: 1m labels: level: disaster annotations: summary: "實(shí)例 {{ $labels.instance }} 內(nèi)存使用率過(guò)高" description: "{{ $labels.instance }} 內(nèi)存使用率大于 85% (當(dāng)前的值: {{ $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: "實(shí)例 {{ $labels.instance }} 15 分鐘負(fù)載過(guò)高" description: "{{ $labels.instance }} 15 分鐘負(fù)載大于其 cpu 核心數(shù) (當(dāng)前的值: {{ $value }})" - alert: hostUp expr: up{job="node"} == 0 for: 1m labels: level: disaster annotations: summary: "實(shí)例 {{ $labels.instance }} 不可達(dá)" description: "{{ $labels.instance }} 實(shí)例不可達(dá),請(qǐng)盡快解決"
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.注冊(cè)系統(tǒng)服務(wù)
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.設(shè)置開(kāi)機(jī)自啟,啟動(dòng)服務(wù)
systemctl daemon-reload && systemctl enable alertmanager.service && systemctl start alertmanager.service
alertmanager 基于郵件報(bào)警配置
alertmanager 主配置文件配置
global: smtp_smarthost: 'smtp.qq.com:465' smtp_from: '88888888@qq.com' # 告警發(fā)送到的郵箱 smtp_auth_username: '88888888@qq.com' smtp_auth_password: 'pqrbkxvnpogxbobw' # 郵箱開(kāi)啟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
看完這篇文章,你們學(xué)會(huì)node_exporter的使用方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!