njmon参数说明
nmon and njmon | Site / NjmonLinuxV83OnlineHelp (sourceforge.io)
njmon在线帮助指令为用于Linux版本83的njmon
通过常规UNIX/Linux命令访问:njmon -h | less
在这种情况下,从在VirtualBox下运行的Ubuntu 23上的笔记本电脑上。
./njmon_Ubuntu23_x86_64_v83: 帮助信息。 版本:njmon4Linux-v83-Ubuntu-23-x86_64-njmon_linux_v83.c (2024年1月28日)
- 性能统计信息收集器,输出JSON格式或Influx Line Protocol格式。
- 如果命令以njmon开头,则以NJMON模式运行
- 如果命令以nimon开头,则以NIJMON模式运行
- -J 强制使用NJMON模式,无论命令名称如何
- -I 强制使用NIMON模式,无论命令名称如何
- 请注意:njmon和nimon数据完全相同,因此请使用一个数据库。
- 默认为stdout
- 主要语法: ./njmon_Ubuntu23_x86_64_v83 -s 秒数 -c 次数
- 文件输出: -m 目录 -f
- 检查并重新启动: -k 和 -K 文件名
- 数据选项: -A 别名 -H -P -t % -b -d -D -F -n -r -R -W
- 参数文件: -a 文件(不包括命令名称)
- NJMON网络连接: -i njmond_host -p 端口
- NIMON网络连接: -i InfluxDB_host -p 端口
NIMON InfluxDB 详情 : -x 数据库 [-y 用户名 [-x 密码]]
NIMON InfluxDB2 : -x bucket -O Org -T <token>
Prometheus/telegraf模式: -w
在输出流中跳过HTTP REST API数据(POST、内容、长度)。
在使用telegraf和/或Prometheus时非常有用
-! : 版本检查并立即退出
-? : 此帮助信息
-s 秒数 : 数据快照之间的秒数(默认60秒)
-c 次数 : 快照数量(默认永远)
-D : 添加包括/proc/diskstats中所有设备的磁盘统计数据
-m 目录 : 输出前将程序切换到目录
-M : 按挂载点列出的文件系统(类似于AIX njmon),而不是文件系统名称
-f : 输出到文件(不是stdout),分别输出到以下两个文件
: NIMON模式 - 数据: hostname_<年><月><日>_<小时><分钟>.influxlp
: NJMON模式 - 数据: hostname_<年><月><日>_<小时><分钟>.json
: 错误: hostname_<年><月><日>_<小时><分钟>.err
-ff : NIMON模式 - 注意:第二个 -f 添加了一个时间戳,以便稍后将这些数据添加到InfluxDB中
-A 别名 : 用户定义的别名主机名称,用于避免疯狂的重复主机名称
-a 文件 : 命令行参数保存在文件中(隐藏密码)
: 使用相同的参数,都在第一行,以空格分隔
: 只在实际命令行中使用 -a 选项
-H : NIMON模式 - 强制主机标签为完全合格域名
-k : NIMON模式 - 读取用于正在运行的nimon PID的/tmp/nimon.pid,如果找到
-k : NJMON模式 - 读取用于正在运行的njmon PID的/tmp/njmon.pid,如果找到
如果仍在运行,则此进程将安静退出
-K 文件名 : 用户定义的pid文件名(暗示 -k)。允许不使用/tmp或
多个并发数据捕获
-I : 强制使用NIMON模式。保存InfluxDB Line Protocol数据或njmond.py或其他时间序列表
-J : 强制使用NJMON模式。为njmond.py或其他时间序列表设置njmon模式的JSON格式
-P : 添加进程统计信息(获取CPU周期和大量统计信息)
-t 百分比 : 设置忽略进程CPU使用百分比阈值(默认0.01%)
-b : 关闭将pid添加到进程名称中:“ksh_76927” -> “ksh”
-?或 -h : 此输出并停止
-d : 打开调试跟踪(输出不再是JSON/线协议格式)
-W : 关闭错误输出流中的警告消息
-r : 随机开始暂停。停止cron使每个程序同步发送数据
-n : 启动时不显示PID。
-R : 减少的统计数据 - 跳过逻辑CPU统计信息的SMT线程。
-F : 关闭文件系统统计数据(autofs和tmpfs可能会导致问题)
--- NIMON模式选项 ---
- 将数据发送到InfluxDB(所有这些对于InfluxDB很重要):
-i 主机名 : influxDB服务器的主机名或IP地址
-p 端口 : InfluxDB端口(默认为8086)
-x njmon : 用influx > create database njmon创建的InfluxDB数据库名称(默认为njmon)
-y 用户名 : 强制要求的InfluxDB用户名 - 如果为API设置了用户名(否则将被忽略)
-z 密码 : 强制要求的InfluxDB密码 - 如果为API设置了密码(否则将被忽略)
-w : 用于输出到Telegraf。不发送POST、消息类型或数据包大小
-v : 将数据和对InfluxDB的响应显示在stderr上
目前,InfluxDB安全证书尚未实现
--- 具有InfluxDB 2.0的NIMON选项 ---
-O org : InfluxDB 2.0使用组织来存储数据、用户、仪表板等。默认为“default”。
-T token : 来自InfluxDB 2.0 GUI的安全令牌,并切换到2.0模式
-q 附加标签 : 附加给nimon的其他标签“-q dept=foobar,area=51”
NIMON示例:
1 查看Line Protocol数据
/usr/local/bin/nimon -s 2 -c 3 -f 然后编辑<hostname>_<date>_<time>.influxlp
2 每1分钟一次,全天使用默认端口8086
/usr/local/bin/nimon -s 30 -c 2880 -i influxbox -x njmon -y Nigel -z passwd
3 添加进程统计信息并使用IP地址
/usr/local/bin/nimon -s 60 -c 1440 -P -i 9.137.62.12 -p 8086 -x njmon
4 Crontab运行1天 - 在午夜后1分钟开始,每30秒保存本地数据
1 0 * * * /usr/local/bin/nimon -s 30 -c 2880 -i influxbox -p 8086 -x njmon -y Nigel -z passwd
5 Crontab - 每小时检查/重启nimon(如果nimon未运行)
0 * * * * /usr/lbin/nimon -k -s 60 -i influxbox -p 8086 -x njmon
6 Crontab - 与5一样,但输出供telegraf使用
0 * * * * /usr/lbin/nimon -w -k -s 60 -i influxbox -p 8086 -x njmon
7 使用默认端口8086和默认桶njmon的InfluxDB 2+
/usr/lbin/nimon -k -s 60 -i influx2box -O IBM -T Ptf$g4...==
--- NJMON模式选项或其他时间序列数据库 ---
将数据推送到中央njmond守护程序:
-i ip/主机 : njmond中央守护程序的IP地址或主机名
-p 端口 : njmond.py主机上的端口号
NJMON示例:
1 每5分钟一次,全天
/usr/local/bin/njmon -s 300 -c 288 -f -m /home/perf
2 在整天中每30秒间隔将数据管道到数据处理程序
/usr/local/bin/njmon -s 30 -c 1440 | myprog
3 使用默认值(-s 60无限制)并保存到文件
./njmon > my_server_today.json
4 将数据发送到无密码的中央守护程序
./njmon -s 30 -c 2880 -i admin.acme.com -p 8181
5 发送数据到有进程统计信息和密码的中央守护程序
./njmon -s 60 -c 1440 -P -i admin.acme.com -p 8181 -X password
Crontab选项:
6 Crontab仅保存到文件(午夜后两分钟)
2 0 * * * /usr/local/bin/njmon -s 60 -c 1440 -f -m /home/perf
7 Crontab每天在午夜开始向中央服务器发送数据
0 0 * * * /usr/local/bin/njmon -s 30 -c 2880 -i admin.acme.com -p 8181
8 Crontab每小时向中央服务器发送数据并检查(如果njmon未运行)
0 * * * * /usr/local/bin/njmon -k -s 30 -i admin.acme.com -p 8181
9 Crontab在Influx服务器上使用ssh启动njmon,通过套接字将数据发送回本地InfluxDB“注入器”程序
0 0 * * * ssh root@endpoint /usr/local/bin/njmon -s 30 -c 2880 -i admin.acme.com -p 8181