性能测试--搭建node_exporter+prometheus
前戏
我的操作系统是为 centOS 7.2。
参考文档:https://yunlzheng.gitbook.io/prometheus-book/introduction
安装Java
yum install -y java
查看版本
安装docker
查看docker文章
配置node_exporter
在Prometheus的架构设计中,Prometheus Server 并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到 Exporter。Prometheus 周期性的从 Exporter 暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。
下载 node_exporter
wget -c https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
温馨小提示:如果阿里云服务器下载特别慢的话,可以考虑迅雷下载到本地电脑(https://github.com/prometheus/node_exporter/tags),在使用 rz 命令上传到云服务器
解压
tar zxvf node_exporter-1.3.1.linux-amd64.tar.gz
下载完之后我们启动node_exporter
进入到node-exporter目录里面
[root@BB package]# cd node_exporter-1.3.1.linux-amd64/
启动
[root@BB node_exporter-1.3.1.linux-amd64]# ./node_exporter &
启动成功后默认的端口是 9100
浏览器访问,出现如下页面表示成功
部署prometheus
Prometheus是一个开源的完整监控解决方案,其对传统监控系统的测试和告警模型进行了彻底的颠覆,形成了基于中央化的规则计算、统一分析和告警的新模型。 相比于传统监控系统Prometheus具有以下优点:
易于管理
Prometheus核心部分只有一个单独的二进制文件,不存在任何的第三方依赖(数据库,缓存等等)。唯一需要的就是本地磁盘,因此不会有潜在级联故障的风险。
Prometheus基于Pull模型的架构方式,可以在任何地方(本地电脑,开发环境,测试环境)搭建我们的监控系统。对于一些复杂的情况,还可以使用Prometheus服务发现(Service Discovery)的能力动态管理监控目标。
监控服务的内部运行状态
Pometheus鼓励用户监控服务的内部状态,基于Prometheus丰富的Client库,用户可以轻松的在应用程序中添加对Prometheus的支持,从而让用户可以获取服务和应用内部真正的运行状态。
强大的数据模型
所有采集的监控数据均以指标(metric)的形式保存在内置的时间序列数据库当中(TSDB)。所有的样本除了基本的指标名称以外,还包含一组用于描述该样本特征的标签。
下载
wget -c https://github.com/prometheus/prometheus/releases/download/v2.15.1/prometheus-2.15.1.linux-amd64.tar.gz
解压
tar zxvf prometheus-2.15.1.linux-amd64.tar.gz
进入到解压的目录里面,在prometheus.yml里最下面加入如下配置
- job_name: 'zz' static_configs: - targets: ['49.xx.xx.161:9100']
注意格式,打码的那部分是你 node_exporter 主机地址和端口号
如果要监控多个主机,中间使用英文逗号隔开,如下
配置好了启动prometheus,执行下面命令
nohup ./prometheus --config.file=prometheus.yml &
执行完如果出现下面的提示就表示成功了,因为加了 nohup,会在当前目录下生成一个 nohup.out 文件,所以需要在 nohup.out 里面查看
prometheus的默认端口是9090,浏览器访问,出现如下页面表示配置成功
查看Targets,看我们配置文件是不是正确
安装grafana
granafa可以通过docker安装,也可以使用rpm包安装,这里推荐docker安装
docker安装方式:https://www.cnblogs.com/zouzou-busy/p/12813746.html
RPM包安装步骤
# yum localinstall grafana-6.5.2-1.x86_64.rpm # /sbin/chkconfig --add grafana-server #配置开机启动 # systemctl daemon-reload #重载所有修改过的配置文件 # systemctl start grafana-server #启动grafana-server # systemctl status grafana-server #查看状态 # sudo systemctl enable grafana-server.service #设置开机启动