2
2
3
3
_parseAndPrint () {
4
4
while read data; do
5
- echo -n " $data " | sed -r " s/\" /\\\\\" /g" | tr -d " \n" ;
5
+ echo -n " $data " | sed -r " s/' /\\\\ ' /g" | tr -d " \n" ;
6
6
done ;
7
7
}
8
8
9
9
arp_cache () {
10
10
arpCommand=$( command -v arp)
11
11
12
12
result=$( $arpCommand | awk ' BEGIN {print "["} NR>1 \
13
- {print "{ \" addr\": \"" $1 "\" , " \
14
- "\" hw_type\": \"" $2 "\" , " \
15
- "\" hw_addr.\": \"" $3 "\" , " \
16
- "\" mask\": \"" $5 "\" }, " \
13
+ {print "{ ' addr' : ' " $1 " ' , " \
14
+ "' hw_type' : ' " $2 " ' , " \
15
+ "' hw_addr.' : ' " $3 " ' , " \
16
+ "' mask' : ' " $5 " ' }, " \
17
17
} \
18
18
END {print "]"}' \
19
19
| /bin/sed ' N;$s/},/}/;P;D' )
@@ -26,9 +26,9 @@ arp_cache() {
26
26
bandwidth () {
27
27
28
28
/bin/cat /proc/net/dev \
29
- | awk ' BEGIN {print "["} NR>2 {print "{ \" interface\": \"" $1 "\" ," \
30
- " \"tx\" : " $2 "," \
31
- " \"rx\" : " $10 " }," } END {print "]"}' \
29
+ | awk ' BEGIN {print "["} NR>2 {print "{ ' interface' : ' " $1 " ' ," \
30
+ " ' tx ' : " $2 "," \
31
+ " ' rx ' : " $10 " }," } END {print "]"}' \
32
32
| /bin/sed ' N;$s/,\n/\n/;P;D' \
33
33
| _parseAndPrint
34
34
}
@@ -38,9 +38,9 @@ common_applications() {
38
38
| awk -F: ' {if(length($2)==0) { installed="false"; } else { installed="true"; } \
39
39
print \
40
40
"{ \
41
- \" binary\": \"" $1"\" , \
42
- \" location\": \"" $2"\" , \
43
- \" installed\" : "installed" \
41
+ ' binary' : ' " $1 " ' , \
42
+ ' location' : ' " $2 " ' , \
43
+ ' installed' : "installed" \
44
44
},"}' )
45
45
46
46
echo " [" ${result% ?} " ]" | _parseAndPrint
@@ -49,7 +49,7 @@ common_applications() {
49
49
cpu_info () {
50
50
51
51
result=$( /usr/bin/lscpu \
52
- | /usr/bin/awk -F: ' {print "\"" $1"\": \"" $2"\" ," } ' \
52
+ | /usr/bin/awk -F: ' {print "' " $1 " ' : ' " $2 " ' ," } ' \
53
53
)
54
54
55
55
echo " {" ${result% ?} " }" | _parseAndPrint
@@ -59,12 +59,12 @@ cpu_intensive_processes() {
59
59
60
60
result=$( /bin/ps axo pid,user,pcpu,rss,vsz,comm --sort -pcpu,-rss,-vsz \
61
61
| head -n 15 \
62
- | /usr/bin/awk ' BEGIN{OFS=":"} NR>1 {print "{ \" pid\" : " $1 \
63
- ", \" user\": \"" $2 "\" " \
64
- ", \" cpu%\" : " $3 \
65
- ", \" rss\" : " $4 \
66
- ", \" vsz\" : " $5 \
67
- ", \" cmd\": \"" $6 "\" " "},"\
62
+ | /usr/bin/awk ' BEGIN{OFS=":"} NR>1 {print "{ ' pid' : " $1 \
63
+ ", ' user' : ' " $2 " ' " \
64
+ ", ' cpu%' : " $3 \
65
+ ", ' rss' : " $4 \
66
+ ", ' vsz' : " $5 \
67
+ ", ' cmd' : ' " $6 " ' " "},"\
68
68
}' )
69
69
70
70
echo " [" ${result% ?} " ]" | _parseAndPrint
@@ -132,9 +132,9 @@ cron_history() {
132
132
133
133
result=$( $grepCmd -m$numberOfLines CRON $cronLog \
134
134
| awk ' { s = ""; for (i = 6; i <= NF; i++) s = s $i " "; \
135
- print "{\" time\" : \"" $1" "$2" "$3 "\" ," \
136
- "\" user\" : \"" $6 "\" ," \
137
- "\" message\" : \"" $5" "gensub("\"" , "\\\\\"" , "g", s) "\" " \
135
+ print "{' time' : ' " $1 " " $2 " " $3 " ' ," \
136
+ "' user' : ' " $6 " ' ," \
137
+ "' message' : ' " $5 " " gensub(" ' " , "\\\\' " , " g" , s) " ' " \
138
138
"},"
139
139
}'
140
140
)
@@ -155,12 +155,12 @@ current_ram() {
155
155
156
156
memInfo=` $catCmd $memInfoFile | $grepCmd ' MemTotal\|MemFree\|Buffers\|Cached' `
157
157
158
- echo $memInfo | $awkCmd ' {print "{ \" total\" : " ($2/1024) ", \" used\" : " ( ($2-($5+$8+$11))/1024 ) ", \" available\" : " (($5+$8+$11)/1024) " }" }' | _parseAndPrint
158
+ echo $memInfo | $awkCmd ' {print "{ ' total' : " ($2/1024) ", ' used' : " ( ($2-($5+$8+$11))/1024 ) ", ' available' : " (($5+$8+$11)/1024) " }" }' | _parseAndPrint
159
159
}
160
160
161
161
disk_partitions () {
162
162
163
- result=$( /bin/df -Ph | awk ' NR>1 {print "{\" file_system\": \"" $1 "\", \" size\": \"" $2 "\", \" used\": \"" $3 "\", \" avail\": \"" $4 "\", \" used%\": \"" $5 "\", \" mounted\": \"" $6 "\" },"}' )
163
+ result=$( /bin/df -Ph | awk ' NR>1 {print "{' file_system' : ' " $1 " ' , ' size' : ' " $2 " ' , ' used' : ' " $3 " ' , ' avail' : ' " $4 " ' , ' used%' : ' " $5 " ' , ' mounted' : ' " $6 " ' },"}' )
164
164
165
165
echo [ ${result% ?} ] | _parseAndPrint
166
166
}
@@ -172,12 +172,12 @@ docker_processes() {
172
172
for i in $containers ; do
173
173
result=" $result $( /usr/bin/docker top $i axo pid,user,pcpu,pmem,comm --sort -pcpu,-pmem \
174
174
| head -n 15 \
175
- | /usr/bin/awk -v cnt=" $i " ' BEGIN{OFS=":"} NR>1 {print "{ \" cname\": \" " cnt \
176
- "\", \" pid\" : " $1 \
177
- ", \" user\": \"" $2 "\" " \
178
- ", \" cpu%\" : " $3 \
179
- ", \" mem%\" : " $4 \
180
- ", \" cmd\": \"" $5 "\" " "},"\
175
+ | /usr/bin/awk -v cnt=" $i " ' BEGIN{OFS=":"} NR>1 {print "{ ' cname' : ' " cnt \
176
+ " ' , ' pid' : " $1 \
177
+ ", ' user' : ' " $2 " ' " \
178
+ ", ' cpu%' : " $3 \
179
+ ", ' mem%' : " $4 \
180
+ ", ' cmd' : ' " $5 " ' " "},"\
181
181
}' ) "
182
182
done
183
183
@@ -212,7 +212,7 @@ download_transfer_rate() {
212
212
in_kbytes=$(( in_bytes / 1024 ))
213
213
214
214
# convert transfer rate to KB
215
- json_output=" $json_output \" $basename \" : $in_kbytes "
215
+ json_output=" $json_output ' $basename ' : $in_kbytes "
216
216
217
217
# if it is not the last line
218
218
if [[ ! $interface == $last ]]
@@ -248,14 +248,14 @@ general_info() {
248
248
uptime_seconds=$( /bin/cat /proc/uptime | awk ' {print $1}' )
249
249
server_time=$( date)
250
250
251
- echo " { \" OS \" : \" $os \" , \" Hostname\" : \" $hostname \" , \" Uptime\" : \" $( displaytime ${uptime_seconds% .* } ) \" , \" Server Time\" : \" $server_time \" }" | _parseAndPrint
251
+ echo " { 'OS': ' $os ', ' Hostname': ' $hostname ', ' Uptime': ' $( displaytime ${uptime_seconds% .* } ) ', ' Server Time': ' $server_time ' }" | _parseAndPrint
252
252
}
253
253
254
254
io_stats () {
255
255
256
256
result=$( /bin/cat /proc/diskstats | /usr/bin/awk \
257
257
' { if($4==0 && $8==0 && $12==0 && $13==0) next } \
258
- {print "{ \" device\": \"" $3 "\", \" reads\": \"" $4"\", \" writes\": \"" $8 "\", \" in_prog.\": \"" $12 "\", \" time\": \"" $13 "\" },"}'
258
+ {print "{ ' device' : ' " $3 " ' , ' reads' : ' " $4 " ' , ' writes' : ' " $8 " ' , ' in_prog.' : ' " $1 2 " ' , ' time' : ' " $1 3 " ' },"}'
259
259
)
260
260
261
261
echo [ ${result% ?} ] | _parseAndPrint
@@ -276,10 +276,10 @@ ip_addresses() {
276
276
277
277
for item in $( $ifconfigCmd | $grepCmd -oP " ^[a-zA-Z0-9:]*(?=:)" )
278
278
do
279
- echo -n " {\" interface\" : \" " $item " \" , \" ip \" : \" $( $ifconfigCmd $item | $grepCmd " inet" | $awkCmd ' {match($0,"inet (addr:)?([0-9.]*)",a)}END{ if (NR != 0){print a[2]; exit}{print "none"}}' ) \" }, "
279
+ echo -n " {' interface' : ' " $item " ', 'ip' : ' $( $ifconfigCmd $item | $grepCmd " inet" | $awkCmd ' {match($0,"inet (addr:)?([0-9.]*)",a)}END{ if (NR != 0){print a[2]; exit}{print "none"}}' ) ' }, "
280
280
done
281
281
282
- echo " { \" interface\" : \" external\" , \" ip \" : \" $externalIp \" } ]" | _parseAndPrint
282
+ echo " { ' interface': ' external', 'ip': ' $externalIp ' } ]" | _parseAndPrint
283
283
}
284
284
285
285
load_avg () {
@@ -294,14 +294,14 @@ load_avg() {
294
294
numberOfCores=1
295
295
fi
296
296
297
- result=$( $catCmd /proc/loadavg | $awkCmd ' {print "{ \" 1_min_avg\" : " ($1*100)/' $numberOfCores ' ", \" 5_min_avg\" : " ($2*100)/' $numberOfCores ' ", \" 15_min_avg\" : " ($3*100)/' $numberOfCores ' "}," }' )
297
+ result=$( $catCmd /proc/loadavg | $awkCmd ' {print "{ ' 1_min_avg' : " ($1*100)/' $numberOfCores ' ", ' 5_min_avg' : " ($2*100)/' $numberOfCores ' ", ' 15_min_avg' : " ($3*100)/' $numberOfCores ' "}," }' )
298
298
299
299
echo ${result% ?} | _parseAndPrint
300
300
}
301
301
302
302
logged_in_users () {
303
303
304
- result=$( COLUMNS=300 /usr/bin/w -h | /usr/bin/awk ' {print "{\" user\": \"" $1 "\", \" from\": \"" $3 "\", \" when\": \"" $4 "\" },"}' )
304
+ result=$( COLUMNS=300 /usr/bin/w -h | /usr/bin/awk ' {print "{' user' : ' " $1 " ' , ' from' : ' " $3 " ' , ' when' : ' " $4 " ' },"}' )
305
305
306
306
echo [ ${result% ?} ] | _parseAndPrint
307
307
}
@@ -310,7 +310,7 @@ memcached() {
310
310
echo " stats" \
311
311
| /bin/nc -w 1 127.0.0.1 11211 \
312
312
| /bin/grep ' bytes' \
313
- | /usr/bin/awk ' BEGIN {print "{"} {print "\"" $2 "\" : " $3 } END {print "}"}' \
313
+ | /usr/bin/awk ' BEGIN {print "{"} {print "' " $2 " ' : " $3 } END {print "}"}' \
314
314
| /usr/bin/tr ' \r' ' ,' \
315
315
| /bin/sed ' N;$s/,\n/\n/;P;D' \
316
316
| _parseAndPrint
@@ -319,7 +319,7 @@ memcached() {
319
319
memory_info () {
320
320
321
321
/bin/cat /proc/meminfo \
322
- | /usr/bin/awk -F: ' BEGIN {print "{"} {print "\"" $1 "\": \"" $2 "\" ," } END {print "}"}' \
322
+ | /usr/bin/awk -F: ' BEGIN {print "{"} {print "' " $1 " ' : ' " $2 " ' ," } END {print "}"}' \
323
323
| /bin/sed ' N;$s/,\n/\n/;P;D' \
324
324
| _parseAndPrint
325
325
}
@@ -336,7 +336,7 @@ network_connections() {
336
336
| $awkCmd ' NR>2 {print $5}' \
337
337
| $sortCmd \
338
338
| $uniqCmd -c \
339
- | $awkCmd ' BEGIN {print "["} {print "{ \" connections\" : " $1 ", \" address\": \"" $2 "\" }," } END {print "]"}' \
339
+ | $awkCmd ' BEGIN {print "["} {print "{ ' connections' : " $1 ", ' address' : ' " $2 " ' }," } END {print "]"}' \
340
340
| $sedCmd ' N;$s/},/}/;P;D' \
341
341
| _parseAndPrint
342
342
}
@@ -368,7 +368,7 @@ ping() {
368
368
| while read output
369
369
do
370
370
singlePing=$( $pingCmd -qc 2 $output \
371
- | $awkCmd -F/ ' BEGIN { endLine="}," } /^rtt/ { if (' $numOfLinesInConfig ' ==1){endLine="}"} print "{" "\" host\": \" ' $output ' \", \" ping\" : " $5 " " endLine }' \
371
+ | $awkCmd -F/ ' BEGIN { endLine="}," } /^rtt/ { if (' $numOfLinesInConfig ' ==1){endLine="}"} print "{" "' host' : ' ' $output' ' , ' ping' : " $5 " " endLine }' \
372
372
)
373
373
numOfLinesInConfig=$(( $numOfLinesInConfig - 1 ))
374
374
result=$result$singlePing
@@ -395,15 +395,15 @@ pm2_stats() {
395
395
# don't process last 2 lines
396
396
json=$( echo " $data " | tail -n +4 | head -n +2 \
397
397
| awk ' {print "{"}\
398
- {print "\" appName\":\"" $2 "\" ,"} \
399
- {print "\"id\":\"" $4 "\" ,"} \
400
- {print "\" mode\":\"" $6 "\" ,"} \
401
- {print "\" pid\":\"" $8 "\" ,"}\
402
- {print "\" status\":\"" $10 "\" ,"}\
403
- {print "\" restart\":\"" $12 "\" ,"}\
404
- {print "\" uptime\":\"" $14 "\" ,"}\
405
- {print "\" memory\":\"" $16 $17 "\" ,"}\
406
- {print "\" watching\":\"" $19 "\" "}\
398
+ {print "' appName' : ' " $2 " ' ,"} \
399
+ {print "' id ' : ' " $4 " ' ,"} \
400
+ {print "' mode' : ' " $6 " ' ,"} \
401
+ {print "' pid' : ' " $8 " ' ,"}\
402
+ {print "' status' : ' " $1 0 " ' ,"}\
403
+ {print "' restart' : ' " $1 2 " ' ,"}\
404
+ {print "' uptime' : ' " $1 4 " ' ,"}\
405
+ {print "' memory' : ' " $1 6 $1 7 " ' ,"}\
406
+ {print "' watching' : ' " $1 9 " ' "}\
407
407
{print "},"}' )
408
408
# make sure to remove last comma and print in array
409
409
echo " [" ${json% ?} " ]" | _parseAndPrint
@@ -417,13 +417,13 @@ ram_intensive_processes() {
417
417
418
418
result=$( /bin/ps axo pid,user,pmem,rss,vsz,comm --sort -pmem,-rss,-vsz \
419
419
| head -n 15 \
420
- | /usr/bin/awk ' NR>1 {print "{ \" pid\" : " $1 \
421
- ", \" user\": \" " $2 \
422
- "\", \" mem%\" : " $3 \
423
- ", \" rss\" : " $4 \
424
- ", \" vsz\" : " $5 \
425
- ", \" cmd\": \" " $6 \
426
- "\" },"}' )
420
+ | /usr/bin/awk ' NR>1 {print "{ ' pid' : " $1 \
421
+ ", ' user' : ' " $2 \
422
+ " ' , ' mem%' : " $3 \
423
+ ", ' rss' : " $4 \
424
+ ", ' vsz' : " $5 \
425
+ ", ' cmd' : ' " $6 \
426
+ " ' },"}' )
427
427
428
428
echo [ ${result% ?} ] | _parseAndPrint
429
429
}
@@ -433,9 +433,9 @@ recent_account_logins() {
433
433
result=$( /usr/bin/lastlog -t 365 \
434
434
| /usr/bin/awk ' NR>1 {\
435
435
print "{ \
436
- \" user\": \"" $1 "\" , \
437
- \"ip\": \"" $3 "\" ,"" \
438
- \" date\": \"" $5" "$6" "$7" "$8" "$9 "\" },"
436
+ ' user' : ' " $1 " ' , \
437
+ ' ip ' : ' " $3 " ' ,"" \
438
+ ' date' : ' " $5 " " $6 " " $7 " " $8 " " $9 " ' },"
439
439
}'
440
440
)
441
441
echo [ ${result% ?} ] | _parseAndPrint
@@ -455,7 +455,7 @@ redis() {
455
455
456
456
result=$( $redisCommand INFO \
457
457
| grep ' redis_version\|connected_clients\|connected_slaves\|used_memory_human\|total_connections_received\|total_commands_processed' \
458
- | awk -F: ' {print "\"" $1 "\":" "\"" $2 }' \
458
+ | awk -F: ' {print "' " $1 " ' : ' " $2 " ' " }' \
459
459
| tr ' \r' ' "' | tr ' \n' ' ,'
460
460
)
461
461
echo { ${result% ?} } | _parseAndPrint
@@ -539,15 +539,15 @@ scheduled_crons() {
539
539
540
540
$catCmd " ${temp} " \
541
541
| awk ' BEGIN {print "["} \
542
- {print "{ \" min\": \" " $1 \
543
- "\", \" hrs\": \"" $2 "\" , " \
544
- " \" day\": \"" $3 "\" , " \
545
- " \" month\": \"" $4 "\" , " \
546
- " \" wkday\": \"" $5 "\" , " \
547
- " \" user\": \"" $6 "\" , " \
548
- " \" CMD\": \" "} \
549
- {for(i=7;i<=NF;++i) printf("%s ", gensub("\"" , "\\\\\" ", "g", $i) ) } \
550
- {print "\" " \
542
+ {print "{ ' min' : ' " $1 \
543
+ " ' , ' hrs' : ' " $2 " ' , " \
544
+ " ' day' : ' " $3 " ' , " \
545
+ " ' month' : ' " $4 " ' , " \
546
+ " ' wkday' : ' " $5 " ' , " \
547
+ " ' user' : ' " $6 " ' , " \
548
+ " ' CMD' : ' " } \
549
+ {for(i=7;i<=NF;++i) printf(" %s " , gensub(" ' " , "\\\\' " , " g" , $i ) ) } \
550
+ {print " ' " \
551
551
"}," } \
552
552
END {print "]"}' \
553
553
| $sedCmd ' N;$s/,\n//;P;D' \
@@ -567,7 +567,7 @@ swap() {
567
567
if [ " $swapLineCount " -gt 1 ]; then
568
568
569
569
result=$( $catCmd /proc/swaps \
570
- | $awkCmd ' NR>1 {print "{ \" filename\": \"" $1"\", \" type\": \"" $2"\", \" size\": \"" $3"\", \" used\": \"" $4"\", \" priority\": \"" $5"\" }," }'
570
+ | $awkCmd ' NR>1 {print "{ ' filename' : ' " $1 " ' , ' type' : ' " $2 " ' , ' size' : ' " $3 " ' , ' used' : ' " $4 " ' , ' priority' : ' " $5 " ' }," }'
571
571
)
572
572
573
573
echo [ ${result% ?} ] | _parseAndPrint
@@ -605,7 +605,7 @@ upload_transfer_rate() {
605
605
out_kbytes=$(( out_bytes / 1024 ))
606
606
607
607
# convert transfer rate to KB
608
- json_output=" $json_output \" $basename \" : $out_kbytes "
608
+ json_output=" $json_output ' $basename ' : $out_kbytes "
609
609
610
610
# if it is not the last line
611
611
if [[ ! $interface == $last ]]
@@ -624,13 +624,13 @@ user_accounts() {
624
624
result=$( /usr/bin/awk -F: ' { \
625
625
if ($3<=499){userType="system";} \
626
626
else {userType="user";} \
627
- print "{ \" type\": \"" userType "\"" ", \" user\": \"" $1 "\", \" home\": \"" $6 "\" }," }' < /etc/passwd
627
+ print "{ ' type' : ' " userType " ' " ", ' user' : ' " $1 " ' , ' home' : ' " $6 " ' }," }' < /etc/passwd
628
628
)
629
629
630
630
length=$( echo ${# result} )
631
631
632
632
if [ $length -eq 0 ]; then
633
- result=$( getent passwd | /usr/bin/awk -F: ' { if ($3<=499){userType="system";} else {userType="user";} print "{ \" type\": \"" userType "\"" ", \" user\": \"" $1 "\", \" home\": \"" $6 "\" }," }' )
633
+ result=$( getent passwd | /usr/bin/awk -F: ' { if ($3<=499){userType="system";} else {userType="user";} print "{ ' type' : ' " userType " ' " ", ' user' : ' " $1 " ' , ' home' : ' " $6 " ' }," }' )
634
634
fi
635
635
636
636
echo [ ${result% ?} ] | _parseAndPrint
0 commit comments