性能资源监控graphana+Prometheus/nmon


 

服务器监控

服务器监控: ServerAgent、nmon、influxdb、zabbix、prometheus+grafana+
重点监控: prometheus+grafana+ xxx_exporter

serverAgent+PrfMon Metrics Collector监控

  • serverAgent 要部署到被测服务器

  • 把ServerAgent.zip包上传到被测服务器上
    yum install unzip -y
    unzip ServerAgent-2.2.3.zip # 解压
    这个软件,可以用于windows\linux服务器都可以
    ./startAgent.sh --help # 获取帮助
    ./startAgent.sh # 运行
    我们看到,绑定了4444端口,可以通过tcp、udp两种数据传输方式
    也就是说,这个服务端口,默认就是4444

    通过命令,带端口参数,来修改默认端口
    ./startAgent.sh --tcp-port 9898 --udp-port 0
  • jmeter添加PrfMon Metrics Collector监控器配置cpu、memory、io等监控

    • 当我们要监控不同的项时,请使用多个监听器,不要合并在一个监听器中(下图是合并展示)

nmon监控

nmon本身监控服务器,不依赖测试工具,也就是说,它可以独立监控;但无法监控window

三种运行模式

屏幕交互模式 ------实时看到数据,但是,数据没有保存
数据收集模式------看不到数据,但是,数据保存在文件中
定时任务模式----看不到数据,但是,数据保存在文件中,数据采集是固定时间间隔
使用nmon之前,你必须找到你的被监控机器的linux系统信息
系统的类型、发型版本。
centos系统: cat /etc/redhat-release ---centos 7/使用nmon_x86_64_centos7
不是centos: cat /etc/os-release
下载对系统的nmon版本
http://nmon.sourceforge.net/pmwiki.php
下载对应执行你的系统的nmon的文件,上传到被监控的服务上

屏幕交互模式

命令:./nmon_x86_64_centos7
交互模式的快捷键:cmdn cpu\memory\disk\network

数据收集模式

命令: nmon_x86_64_centos7 -f [-s <seconds>] [-c <count>] [-t|-T]

nmon_x86_64_centos7 -f -s3 -c44 每间隔3秒钟收集一次数据,总共收集44次,收集之后,自动停止,生成一个hostname_yyMMdd_hhmm.nmon的文件

用nmon_anasyser工具的分析
xlsm的文件,是一个带有宏的文件,这个文件,需要使用微软的office来打开后--添加刚生成的nmon文件。
wps默认不支持宏

定时执行模式

Capacity Planning mode - use cron to run each day
-x           Sensible spreadsheet output for one day
                    Every 15 mins for 1 day ( i.e. -ft -s 900 -c 96)
       -X           Sensible spreadsheet output for busy hour
                    Every 30 secs for 1 hour ( i.e. -ft -s 30 -c 120)
       -z           Like -x but the output saved in /var/perf/tmp assuming root user

命令详解

grafana+jmeter+influxdb监控

grafana: 前端展示平台,通过 不同的模板,来改变展示效果
influxdb: 时序数据库; 每一行的数据,都有一个时间。时间戳; 线性展示
jmeter的后端监听器,实现数据的收集已经发送给数据的功能

注意

请单独使用一台linux机器,不要使用被测服务器机器;减少被测服务器的资源消耗
1、准备一个空的linux机器
2、把云盘中性能监控 grafana + influxdb 文件上到到新的机器上
•   注意: influxdb,请使用1.x版本,不要去使用最新的2.x

安装启动

rpm包安装:
rpm -ivh grafana-7.4.3-1.x86_64.rpm
rpm -ivh influxdb-1.7.0.x86_64.rpm
或者 yum install xxx.rpm

启动grafana: `systemctl restart grafana-server`
grafana的服务端口: 3000
访问地址:http://grafana_ip:3000   admin/admin
启动:`influxd`
  influxdb数据库有一个http协议的访问端口:8086
  再打开一个终端:`influx` 进入数据库的命名模式
  看有哪些数据库: `show databases`
  创建一个叫jmeter的数据库:`create database jmeter`
  时序数据库与关系数据库对应的表,不叫table,叫measurement
  进入库:`use jmeter`
  有哪些表:`show measurements`
  不需要手动建表
   
jmeter中监听器中选择后端监听器,监听器的实现中,选择 influxdb
  influxdbUrl: 修改host_to_change为 influxdb的ip地址,看到db=jmeter,说明,我们的数据是要写入一个叫jmeter的库中。
  jmeter执行性能测试,数据就入表了

grafana配置数据源

在grafana中显示数据

1、添加数据源
2、type选择:influxdb
3、URL: http://grafana_ip:8086
4、database: jmeter
5、引入模板:
•   菜单 > import     模板id 5496
•   模板资源 https://grafana.com/grafana/dashboards
目标名称, db选择你添加数据源的时候的名称,measurement确认是jemter
data_source 修改为你的添加的数据源
右上角的时间,可以自己去调整

grafana操作截图:添加数据源

grafana操作截图:导入模板

jmeter操作截图:配置监听器

执行性能脚本,打开gragana面板:监控成功

grafana+prometheus+export监控

prometheus是一个时序数据库,存数据
exprter 是收集器,来收集被监控的数据,想要监控不同的内容,就使用不同的exporter,这个exporter应该放在被测服务器上

然后,再把 exporter与 prometheus进行关联(数据联通)
这个解决方案,可以用于运维人员来监控服务器

exporter安装

node_exporter包上传到**被测服务器**

解压: `tar -xzvf xxxx.tar.gz`
进入解压后的文件夹
可执行文件不知道用 命令后面跟 --help
`nohup ./node_exporter &` 这个命令后台执行,同时,把运行日志,写到nohup.out文件中
node_expoter端口: 9100   --------**被测服务器**需要开放 9100 端口
http://YouExporter_IP:9100/metrics 这个能访问,说明node_exporter是正常、网络也是可以被访问的

prometheus安装

把prometheus的包,放到 非被测服务器解压
进入解压后的文件夹   启动 `./prometheus`

通过日志,我们发现 prometheus.yml 是它的配置文件
`msg="Start listening for connections" address=0.0.0.0:9090` 说明prometheus的端口: 9090
http://prometheus_IP:9090

## prometheus与exporter集成
修改prometheus.yml      
•   yml文件的语法:   缩进(对齐)、 key的冒号后面,有一个空格

配置node节点的ip
# job_name 可以自定义
 - job_name: 'node_exporter'
  static_configs:
   - targets: ['nodeexporter_IP:9100','nodeexporter_IP:9100'] #可配置多个ip

启动prometheus: `nohup ./prometheus &`
1.检查启动日志无报错
2.登录http://prometheus_IP:9090/targets,检查节点状态

------------------
各个应用的端口
influxdb   8086
grafana   3000
prometheus 9090
node_exporter 9100

grafana的界面中配置

添加prometheus数据源:  type选择 prometheus、 URL: http://prometheus_ip:9090

引入模板:12884, 选择数据源

jmeter做性能测试

Prometheus界面展示node节点状态up

grafana配置

执行脚本,打开gragana面板:监控成功

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM