nmon2influxdb+grafana服务监控可视化部署

nmon2influxdb+grafana服务金控可视化部署

nmon2influxdb的安装

nmon的安装

grafana的安装

相关操作

导入数据验证

  1. 首先输入nmon命令进行采集 ./nmon -ft -s 10 -c 20
  2. 输入nmon2influxdb命令将采集数据导入inluxdb中 ./nmon2influxdb import \(server.nmon(\)server为采样文件的名称)
  3. 查看数据库
#进入数据库操作
influx
# 查看目前已有的数据库
show databases
# 查看数据库数据保存策略
show retention policies on nmon_reports
# 使用nmon_reports库
use nmon_reports
# 显示nmon_reports库所有的表
show measurements
# 查询数据
select * from CPU_ALL

结合grafana实现监控数据可视化

  1. 配置grafana数据源:通过配置文件知道grafana的数据源名称是nmon2influxdb,数据库名称是nmon_reports
  2. 一般我们会使用nmon数据自动推送,需要每次都用使用./nmon2influxdb import *.nmon解析nmon文件并推送至Influxdb,而且在解析时并不是增量解析,导致在nmon文件比较大的时候有点小号主机的CPU.可通过减少单个nmon文件大小来避免此问题的出现:shell脚本和设置crontab定时任务.

crontab定时任务设置

#crontab 定时任务设置
#每隔1分钟执行shell脚本
*/1 * * * * sh ~/nmon.sh

shell脚本

总共五条命令

  1. cd ~
  2. ~/nmon -fT -s 10 -c 6
  3. sleep 10
  4. ~/nmon2influxdb import ~/*.nmon
  5. ls -t ~/*.nmon |awk '/.nmon/ {if (NR >1){system ("rm " $1)}}'
#nmon.sh
#! /bin/bash
#进入到自己的nmon文件所在目录
cd ~
#每隔一分钟推送nmon数据到influxdb,Grafana呈现:
~/nmon2influxdb import ~/*.nmon
#控制每个nmon监控文件在1分钟:
~/nmon -fT -s 10 -c 6
#按照时间排序nmon文件,删除一个距离当前时间较远的文件,始终只保留一个nmon文件:
ls -t ~/*.nmon |awk '/\.nmon/ {if (NR >1){system ("rm " $1)}}'

模板json文件下载地址

https://grafana.com/grafana/dashboards?search=nmon

posted @ 2020-11-10 16:35  SunFree  阅读(249)  评论(0编辑  收藏  举报