Prometheus入门到放弃(2)之Node_export安装部署
1、下载安装
node_exporter服务需要在三台机器都安装,这里我们以一台机器为例:
地址:https://prometheus.io/download/
### 另外两个节点部署时,需要先创建脚本中运行用户prometheus
[root@prometheus-server ~]# wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
[root@prometheus-server ~]# tar -xf node_exporter-0.18.1.linux-amd64.tar.gz
[root@prometheus-server ~]# cp node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin/
## 编辑启动脚本
[root@prometheus-server ~]# vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_export
Documentation=https://github.com/prometheus/node_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/bin/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target ## 启动
[root@prometheus-server ~]# systemctl enable node_exporter
Created symlink from /etc/systemd/system/multi-user.target.wants/node_exporter.service to /usr/lib/systemd/system/node_exporter.service.
[root@prometheus-server ~]# systemctl start node_exporter
## 监题9100端口
[root@prometheus-server ~]# netstat -anlptu|grep 9100
tcp6 0 0 :::9100 :::* LISTEN 5216/node_exporter
Node_exporter安装非常简单,下载解压启动就可以,node_exporter只是收集操作系统的一些指标,如果想要进行其它服务的监控收集,需要额外安装对应的exporter服务。这里之所以没有采用docker方式部署,原因如下:
官方说明:https://github.com/prometheus/node_exporter

2、配置prometheus监控目标
Node_export 相当于一个客户端一样,运行在各个节点进行机器数据的收集。
[root@prometheus-server ~]# vim /etc/prometheus/prometheus.yml
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# scheme defaults to 'http'.
- targets: ['localhost:9090']
- job_name: 'node' ### 新增加job
static_configs:
- targets: ['10.10.0.11:9100','10.10.0.12:9100','10.10.0.13:9100'] ### 主机列表
3、访问prometheus
Status >> targets,可以看到新增加的节点已经成功连接prometheus服务

4、收集系统CPU监控信息
4.1 CPU使用率
公式:100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
4.2 CPU负载
公式:
node_load1 ## 1分钟负载
node_load5 ##5分钟负载
node_load15 ##15分钟负载
5、收集系统内存监控信息
5.1 内存使用率
公式:(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes ))* 100
5.2 可用内存(单位:M)
公式:node_memory_MemAvailable_bytes / 1024 / 1024
6、收集系统磁盘监控信息
6.1 磁盘总大小(单位: G)
公式:node_filesystem_size_bytes {fstype=~"ext4|xfs"} / 1024 / 1024 / 1024
6.2 磁盘剩余大小(单位: G)
公式:node_filesystem_avail_bytes {fstype=~"ext4|xfs"} / 1024 / 1024 / 1024
6.3 磁盘使用率
公式:(1-(node_filesystem_free_bytes{fstype=~"ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext4|xfs"})) * 100
7、收集系统网络监控信息
7.1 网卡入网流量 (指定某一个网卡)
公式:irate(node_network_receive_bytes_total{device='ens32'}[5m])
7.2 网卡出网流量(指定某一个网卡)
公式:irate(node_network_transmit_bytes_total{device='ens32'}[5m])
说明:以上收集系统各信息,都是通过node_exporter服务进行数据的收集,然后通过prometheus内置的PromQL语句进行组合查询,对于每一个公式,都可以在prometheus WEB界面测试查询。
比如,查看系统可用内存,第一张图是通过prometheus界面promsql语句查询,第二幅图是在机器上通过free -lm命令查出:


注意:新版本node_exporter中一些PromQL查询指标值与旧版本不一致,使用时注意区分。
关于具体的PromQL语句以及公式中函数的使用参考:https://prometheus.io/docs/prometheus/latest/querying/functions/
Prometheus入门到放弃(2)之Node_export安装部署的更多相关文章
- 《区块链:从入门到放弃》之obc安装步骤
obc安装步骤 朋友们可能会好奇,厨师不研究菜谱怎么改研究兵法了,哈哈,我原本是app出身,最近被安排去预研区块链和比特币技术,2个月下来,颇有斩获.期间得到IBM的CC同学指导我一步一步安装obc的 ...
- Kubernetes入门(一)——Kubernetes v1.18.5 安装部署
Kubernetes的安装有两种方式:一是使用各个厂商封装的Kubernetes发行版,优点是可以一键安装部署,操作简单,缺点也很明显,若安装过程中某一步骤出现问题,很难定位处理:二是使用官方提供的k ...
- Hadoop入门进阶课程13--Chukwa介绍与安装部署
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan ...
- Apache入门篇(一)之安装部署apache
一.HTTPD特性 (1)高度模块化:core(核心) + modules(模块) = apache(2)动态模块加载DSO机制: Dynamic Shared Object(动态共享对象)(3)MP ...
- Prometheus入门到放弃(1)之Prometheus安装部署
规划: IP 角色 版本 10.10.0.13 prometheus-server 2.10 10.10.0.11 node_exporter 0.18.1 10.10.0.12 node_expor ...
- Docker 从入门到放弃(一)安装
前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任 ...
- Prometheus入门到放弃(7)之redis_exporter部署
redis监控,prometheus需要使用redis_exporter客户端. 这里我们采用docker方式部署,既可以部署在redis所在服务器,也可以部署在其他机器: docker镜像地址:ht ...
- Prometheus入门到放弃(6)之AlertManager进阶
前面几个篇幅,我们介绍了alertmanger报警配置,在实际运维过程中,我们都会遇到,报警的重复发送,以及报警信息关联性报警.接下来我们就介绍下通过alertmanger对告警信息的收敛.一.告警分 ...
- Prometheus入门到放弃(5)之AlertManager部署
alertmanager与exporters.cadvisor一样,都是独立于prometheus项目,这里我们也使用docker方式部署alertmanager. 1.下载镜像 镜像地址:https ...
随机推荐
- SpringBoot配置虚拟化路径用于图片的展示
前言:springboot默认可以访问resources下的static文件夹下的静态资源,我们一般将图片指定上传到static下的某个文件夹,例如images,开发阶段可以使用,但是当项目打成jar ...
- html常用标签详解
html常用标签详解 一.总结 一句话总结: 这些资料没必要自己总结,可以直接网上找,简单方便,再根据需求改一下 二.HTML常用标签详解 转自或参考:HTML常用标签详解https://blog.c ...
- Debian9安装QT5.12.3
打开虚拟机,打开火狐浏览器,输入网址下载QT5.12(linux版本,约13.G) download.qt.io/archive/qt/5.12/5.12.0/ 文件默认下载在Downloads文件夹 ...
- 静态导入(static import)
1.传统静态方法的调用方式 定义一个Common类,里面有静态方法和静态常量 package com.example.common; public class Common { public stat ...
- Android访问WCF服务
原文链接:http://www.cnblogs.com/VinC/archive/2011/02/24/1964049.html 本章目的: 用Wcf建立可以上Android可以访问的数据服务, 数据 ...
- Tomcat 8.5.x RedisSessionManager show:Caused by: java.lang.NoSuchMethodError: com.crimsonhexagon.rsm.
Caused by: java.lang.NoSuchMethodError: com.crimsonhexagon.rsm.RedisSessionManager.getMaxInactiveInt ...
- flutter Sliver滑动视图组件
import 'package:flutter/material.dart'; import './model/post.dart'; class SliverDemo extends Statele ...
- python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图
python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...
- 如何设置pycharm中使用的环境为本地的环境,而不用重新安装包
Pycharm的两种环境配置 1.新建一个虚拟环境 一开始使用pycharm创建project的时候,点击创建 create new project: 然后就会弹出下面的窗口,如果我们选择的是上面的选 ...
- properties配置文件参数获取
package com.opslab.util; import org.apache.log4j.Logger; import java.io.File;import java.io.IOExcept ...