服务器监控-grafana,influxdb,prometheus

1. serveragent:需要装在服务器上,它本身消耗的资源很小,支持window,linux

  • 先将下载的serveragent.zip上传到服务器上(opt文件夹里面)
  • 这里给大家提供链接:https://pan.baidu.com/s/1v0euJjon9zEBFWQZOj_GRQ
    提取码:05u9
  • 解压:unzip ServerAgent-2.2.3.zip(如果提示找不到unzip命令,是没有安装unzip,centos通过:yum install unzip -y进行安装)
  • 安装后可以查看到解压的文件夹ServerAgent-2.2.3中存在startAgent.sh(在linux运行的启动文件),和startAgent.bat(在window下运行的启动文件),
  • ./startAgent.sh 这个默认的启动命令的端口是4444,而在一些云服务器上如阿里云服务器4444端口是不开放的,所以在启动时需要手动指定端口
```
./startAgent.sh --tcp-port 8489 --udp-port 0 
```

这里–udp-port 0:表示不使用udp传输数据。
运行起来后会看到日志信息的打印,这时我们crtl C会结束运行,如果要在后台运行,并将日志信息输出到文件中需要在开头加上文件名称,结尾加上‘&’符号

nohup ./startAgent.sh --tcp-port 8489 --udp-port 0 &

然后我们就可以在文件夹ServerAgent-2.2.3中找到nohup.out文件,可以通过tail -f nohup.out查看具体的日志信息

  • 检查网络:通过你刚刚设置的端口telnet你的服务器ip:telnet server_ip 8489,在telnet之前请确定该端口已开放,以阿里云服务器为例,需要在服务器的安全组中新增端口8489的规则,telnet成功就表示serveragent已经运行成功了。
    在这里插入图片描述

  • 在jmeter的图形界面中添加监听器:perfmon metrics conllector
    这个监听器中我们首先需要添加hostip:就是我们的server_ip ;然后可以添加cpu,memory,network,磁盘的监控
    在这里插入图片描述

    注意:最好不要把不同的监控类型放在同一个监听器中,因为不同的类型单位可能不一样。比如cpu和network都使用MB为单位时,纵坐标CPU可能达到1800m,而network为4m,那么为了显示出network的曲线,jmeter会自动将network的数值x100达到400m,那么我们实际去看的时候就需要将图中的数据除以100才能得到真正的数据。

2. nmon:

  • 使用和下载nmon之前,检查你的被测服务器是什么系统
    cat /etc/redhat-release , 这里我的是centsos7,所以来到官网中,找到centsos7的版本下载后上传到服务器上,然后使用:tar -xzvf nmon16m_helpsystems.tar.gz 解压
    在这里插入图片描述
    解压后会看到很多版本的,选择centos7版本的运行
    在这里插入图片描述

  • nmon有三种运行模式

  1. 实时屏幕交互模式:这种模式只能实时观察数据,不能保存监控数据
    直接执行:./nmon_x86_64_centos7
    执行后进入实时的交互模式:即你输什么命令,显示对应的内容,可以多个指令一起输入,这里我们可以看到各种指令的缩写及代表的意思:
    在这里插入图片描述
    在这里插入图片描述
    常用的指令:cmdU就是查看CPU,内存,磁盘,在这里插入图片描述

  2. 数据收集模式

    •      ./nmon_x86_64_centos7 -f [-s <seconds>] [-c <count>]
      
    •     -f 代表以数据收集模式运行,会将收集到的数据csv数据表格的形式保存在一个.nmon文件中,存放在当前目录
      

      可选参数:
      -s:时间间隔,默认300,单位秒,每隔多少秒收集一次数据
      -c:统计次数,默认288,
      -m:设置自己想要保存的文件路径
      当-f 后面不跟-s,-c时使用默认值,即代表会在24小时内,每隔300s收集一次数据,共收集288次,最后生成一个.nmon文件。

    • 文件的分析:
      官网下载nmon_analyser_v66.zip然后解压,注意这里有66,69版本,选择66版本,解压后会有两个文件nmon analyser v66.xlsm和NA_UserGuide v66.pdf
      在这里插入图片描述
      在这里插入图片描述

      注意:打开nmon analyser v66.xlsm需要使用office,不能使用wps,因为里面使用了宏,然后将服务器生成的.nmon文件下载下来放到xlsm的文件夹里,然后打开nmon analyser v66.xlsm,点击按钮后就可以看到里面统计的各种信息的图表。
      在这里插入图片描述

  3. 定时执行模式:这个与数据收集模式差别不大,不做详细介绍
    
    • 不是定时任务

    • 固定执行时长,我限定时间,你使用我这个参数,就按照我固定的时间运行
      -x: Sensible spreadsheet output for one day
      Every 15 mins for 1 day ( i.e. -ft -s 900 -c 96)
      就是执行一天,每15分钟收集1次
      -X:Sensible spreadsheet output for busy hour
      Every 30 secs for 1 hour ( i.e. -ft -s 30 -c 120)
      就是执行一小时,每30秒收集1次
      -z: Like -x but the output saved in /var/perf/tmp assuming root user
      就是需要root账户运行,与-x一样,但结果保存在/var/perf/tmp下面

    • linux查看性能命令mapstat,sar

3.性能监控平台:

平台:集中多种数据,有统一展示的地方,注意这些平台有些可以不用安装在被测服务器上,自己在window创建一个虚拟机上安装即可使用,因为这些就是起数据收集和展示的作用,数据来源于jmeter或者监听器。

  • 展示:grafana —就是一个前端展示平台,没有数据收集的功能
  • 数据收集:influxdb,graphite,Prometheus,zabbix收集存储数据
  • influxdb,Prometheus:时序数据库,根据时间存储数据,每一个数据都有一个时间,那么我们就可以根据时间绘制数据随时间变化的折线图。
1. grafana+influxdb
  • 安装grafana:

    • rpm -ivh grafana-7.0.3-1.x86_64.rpm(这个需要已经下载好了包)
    • sudo yum -y install grafana-7.0.3-1.x86_64.rpm(在线下载安装) 注意:这里直接安装可能报错找不到包,需要跟上网址:
    sudo yum -y install https://dl.grafana.com/oss/release/grafana-7.0.3-1.x86_64.rpm
    
    • 启动grafana:systemctl start grafana-server
    • 查看启动进程:ps -ef |grep grafana
    • grafana默认的端口是3000,如果安装的linux主机是云服务器,需要在云服务器安全组中添加3000端口(不知道怎么添加的看上面截图,或者自行百度哈哈),然后在浏览器通过grafana_ip:3000可以直接访问grafana,账号密码都是amdin,登录后会提示修改密码。
  • 安装infludb:切记安装1.x版本,不要安装2.x版本(2.x版本资料较少,鉴权方式不一样)

    • sudo yum install https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm
    • 启动influxdb:influxd 注意:这是直接启动,这样启动后,使用的过程中不能ctrl c退出使用,可以使用后台启动的方式:influxd &,默认端口8086,注意8086端口是否开放
    • 使用influxdb:
      • 进入命令行模式:influx 类似于mysql进入命令行的方式
      • database 数据库;measurement 表;
      • 显示所有的数据库:show databases;注意这里是命令包含了分号的哈
      • 创建名称为jmeter的数据库:create database "jmeter"; 注意:这里的名称必须使用小写的’jmeter’,不然监控的时候会取不到数据,因为后续配置的都是默认使用的jmeter,当然是大佬的话,可以自行配置哈
      • 进入数据库:use jmeter;
      • 显示所有的表:show measurements;
      • 查看表中的数据:select * from jmeter; 注意:这里没有主动来创建表,在使用的时候,如果表不存在,influxDB会主动去创建
  • grafana配合influxdb使用:

    • 在grafana中登录后添加数据源,add data source
      在这里插入图片描述

    • 选择influxdb,进入setting配置:

      • name:可以自己定义,也可以使用默认的influxDB
      • url:http://influxdb_ip:8086,填写你安装influxdb的主机ip:8086
      • influxDB Details:Database填写jmeter
        在这里插入图片描述
        在这里插入图片描述
    • 数据来源:与jmeter集成使用

      • jmeter做性能测试,产生数据,写入influxdb数据库中
      • 打开jmeter,添加“后端监听器”
      • 后端监听器的实现:选择带有“influxdb”的
      • influxdbUrl:influxdb的数据的Ip地址,默认数据库名称为:jmeter
        在这里插入图片描述
    • 配置前端:

      • grafana左侧的菜单栏中选择“+”号>import
      • 模板id:输入5496,这个是模板id,可以在官网grafana>Dashboards中自己查看选择
      • 跳转到加载的页面中:DBname选择我们上一步配置的influxdb的name,这里我们设置的默认的就是“influxDB”
      • 表名称:也是直接使用jmeter
        在这里插入图片描述 在这里插入图片描述
2. grafana+Prometheus
  • 安装Prometheus:
    • 将安装包上传到监控平台机器(不是被测服务器)
    • 解压包:tar -xzvf prometheus-2.20.1.linux-amd64.tar.gz 进入解压后的文件夹
    • 启动:直接启动:./prometheus 后台启动: nohup ./prometheus & 默认端口9090
    • 访问:http://peometheus_ip:9090
  • Prometheus收集数据:不与jmeter集成,需要自己安装收集器收集数据
    • 安装收集器:收集被测服务器硬件资源的使用情况:在被测服务器上安装node_exporter收集器,需要收集什么信息,就在对应的服务器上安装收集器
    • 将收集器node_exporter的包上传到被测服务器
    • 解压包:tar -xzvf node_exporter-1.1.1.linux-amd64.tar.gz
    • 启动:直接启动:./node_exporter 后台启动:nohup ./node_exporter & 默认端口9100
    • 访问:http://server_ip:9100
  • Prometheus和node_exporter集成
    • 在prometheus文件夹中去配置prometheus.yml文件
- job_name: 'node_exporter'
    static_configs:
    - targets: ['120.26.106.103:9100','']
多个服务器以逗号分割

重启prometheus

  • Prometheus和grafana配合使用:
    • 在setting中设置添加数据源,选择prometheus
      在这里插入图片描述
      在这里插入图片描述

      • name:可以自己定义,也可以使用默认的Prometheus
      • url:http://prometheus_ip:9090,填写你安装influxdb的主机ip:9090
    • 配置前端:

在这里插入图片描述
好了,到这里基本使用就介绍完了,欢迎大家在评论区指正!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值