linux – nmon日志记录,轮换和存储到数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – nmon日志记录,轮换和存储到数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1824字,纯文字阅读大概需要3分钟。
内容图文
![linux – nmon日志记录,轮换和存储到数据库](/upload/InfoBanner/zyjiaocheng/895/44ac12788e35441db8a078f23c069d7d.jpg)
这篇文章有两个部分.
捕获&记录
我想每隔5分钟自动捕获nmon数据24小时,然后旋转文件.我假设我需要运行下面的命令并让cron在凌晨12:00开始.
nmon -s 300 -c 288
问题1:如何在第二天开始并开始新流程之前确保此流程不会继续运行?
Q2:我可以指定文件名以防止有人手动运行它并覆盖我的日志文件吗? (即hostname_YYYYMMDD.nmon)
数据库导入
一旦文件被写入,我想将其导入到mysql数据库中.
我不确定这是否可以用shell脚本完成,或者我是否需要使用像Python这样的其他语言.
我开始编写下面的脚本,但我似乎陷入了几个方面.请随意修改到目前为止我所写的任何错误.
脚本
#!/bin/bash
# nmon_log_rot_db.sh
# Variables
# nmon
NMON = '/usr/local/bin/nmon/nmon'
# Log Directory
LOGDIR = '/var/log/nmon/'
# Hostname
HOST = '/etc/hostname'
# Date
DATE = '/usr/bin/date +%y%m%d'
# File Name
FILE = ${LOGDIR}/${HOST}-${DATE}.nmon
# Kill current nmon process
command to kill nmon_log_rot_db.sh
???
# Log to Database
# connect to database
HOSTNAME = mysqlhost;
DBUSER = dbuser;
DBPASS = dbpass;
DBNAME = dbname;
# network table
ROW_ID|datetime|hostname|iface|rx KB/s|tx KB/s
# cpu table
ROW_ID|datetime|hostname|USER%|SYS%|WAIT%|IDLE
# mem table
ROW_ID|datetime|hostname|type (system or swap)|Total|Free|Used
# disk table
ROW_ID|datetime|hostname|disk_dev|busy|read|write
# Delete old log file
rm ${OLD_FILE}
# Start nmon
${NMON} -F ${FILE} -s 300 -c 288
解决方法:
s和c标志的组合允许您控制nmon在批处理模式下运行的总时间.以下是运行nmon 24小时的示例,每60秒记录一次统计信息.
0 0 * * * /opt/nmon/nmon -f -s 60 -c 1440 -T -m /opt/nmon/nmon_logs/
在您的情况下,cron表达式将记录如下:
0 0 * * * /opt/nmon/nmon -f -s 300 -c 288 -T -m /opt/nmon/nmon_logs/
nmon二进制文件会自动将日期附加到导出的文件中,因此您不必担心文件名冲突,但是您可能希望确保在一段时间后删除旧文件.
默认命名约定是hostname_yyMMdd_HHmm.log,生成如下文件:NURSWGHBS001_151113_2300.log
然后,您可以将文件导入任何工具,而不是支持nmon格式,这是非常特殊的.
内容总结
以上是互联网集市为您收集整理的linux – nmon日志记录,轮换和存储到数据库全部内容,希望文章能够帮你解决linux – nmon日志记录,轮换和存储到数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。