Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
op
plugin
Commits
da005429
Commit
da005429
authored
Apr 25, 2020
by
feilong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
init
parent
f47262b2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
88 additions
and
84 deletions
+88
-84
30_redis.sh
30_redis.sh
+84
-83
60_linux_cpu.py
60_linux_cpu.py
+4
-1
No files found.
30_redis.sh
View file @
da005429
...
@@ -17,118 +17,119 @@ Json_join(){
...
@@ -17,118 +17,119 @@ Json_join(){
jstr
=
$jstr
"{
\"
endpoint
\"
:
\"
${
endpoint
}
\"
,
\"
metric
\"
:
\"
${
metric
}
\"
,
\"
value
\"
:
$value
,
\"
step
\"
:
${
step
}
,
\"
tags
\"
:
\"
${
tags
}
\"
,
\"
counterType
\"
:
\"
${
countertype
}
\"
,
\"
timestamp
\"
:
$(
date +%s
)
},"
jstr
=
$jstr
"{
\"
endpoint
\"
:
\"
${
endpoint
}
\"
,
\"
metric
\"
:
\"
${
metric
}
\"
,
\"
value
\"
:
$value
,
\"
step
\"
:
${
step
}
,
\"
tags
\"
:
\"
${
tags
}
\"
,
\"
counterType
\"
:
\"
${
countertype
}
\"
,
\"
timestamp
\"
:
$(
date +%s
)
},"
}
}
Get_current_value
(){
Get_current_value
(){
cluster_enabled
=
0
cluster_enabled
=
0
eval
$(
$redis_cli_cmd
-h
$ip
-p
$port
info 2>/dev/null|tr
-d
"
\r
"
|egrep
':'
|awk
-F
:
'{printf("%s=\"%s\"\n",$1,$2)}'
)
eval
$(
$redis_cli_cmd
-h
$ip
-p
$port
info 2>/dev/null|tr
-d
"
\r
"
|egrep
':'
|awk
-F
:
'{printf("%s=\"%s\"\n",$1,$2)}'
)
[
$cluster_enabled
-eq
1
]
&&
eval
$(
$redis_cli_cmd
-h
$ip
-p
$port
cluster info 2>/dev/null|tr
-d
"
\r
"
|sed
's/-/_/g'
|egrep
':'
|awk
-F
:
'{printf("%s=\"%s\"\n",$1,$2)}'
)
[
$cluster_enabled
-eq
1
]
&&
eval
$(
$redis_cli_cmd
-h
$ip
-p
$port
cluster info 2>/dev/null|tr
-d
"
\r
"
|sed
's/-/_/g'
|egrep
':'
|awk
-F
:
'{printf("%s=\"%s\"\n",$1,$2)}'
)
eval
$(
$redis_cli_cmd
-h
$ip
-p
$port
info commandstats 2>/dev/null|tr
-d
"
\r
"
|egrep
':'
|sed
's/-/_/g'
|awk
-F
[
:
=
,]
'{printf("%s_%s=%s\n%s_%s=%s\n%s_%s=%s\n",$1,$2,$3,$1,$4,$5,$1,$6,$7)}'
)
eval
$(
$redis_cli_cmd
-h
$ip
-p
$port
info commandstats 2>/dev/null|tr
-d
"
\r
"
|egrep
':'
|sed
's/-/_/g'
|awk
-F
[
:
=
,]
'{printf("%s_%s=%s\n%s_%s=%s\n%s_%s=%s\n",$1,$2,$3,$1,$4,$5,$1,$6,$7)}'
)
maxmemory
=
$(
$redis_cli_cmd
-h
$ip
-p
$port
config get maxmemory 2>/dev/null|sed
-n
'2p'
)
maxmemory
=
$(
$redis_cli_cmd
-h
$ip
-p
$port
config get maxmemory 2>/dev/null|sed
-n
'2p'
)
test
-z
$maxmemory
&&
maxmemory
=
$(
$redis_cli_cmd
-h
$ip
-p
$port
sc_config get maxmemory 2>/dev/null|sed
-n
'2p'
)
test
-z
$maxmemory
&&
maxmemory
=
$(
$redis_cli_cmd
-h
$ip
-p
$port
sc_config get maxmemory 2>/dev/null|sed
-n
'2p'
)
maxclients
=
$(
$redis_cli_cmd
-h
$ip
-p
$port
config get maxclients 2>/dev/null|sed
-n
'2p'
)
maxclients
=
$(
$redis_cli_cmd
-h
$ip
-p
$port
config get maxclients 2>/dev/null|sed
-n
'2p'
)
test
-z
$maxclients
&&
maxclients
=
$(
$redis_cli_cmd
-h
$ip
-p
$port
sc_config get maxclients 2>/dev/null|sed
-n
'2p'
)
test
-z
$maxclients
&&
maxclients
=
$(
$redis_cli_cmd
-h
$ip
-p
$port
sc_config get maxclients 2>/dev/null|sed
-n
'2p'
)
}
}
Push_n9e
(){
Push_n9e
(){
for
metric
in
$(
cat
redis_metrics
)
;
do
for
metric
in
$(
cat
redis_metrics
)
;
do
countertype
=
GAUGE
countertype
=
GAUGE
[[
"
${
metrics_counter
[@]
}
"
=
~
"
$metric
"
]]
&&
countertype
=
COUNTER
[[
"
${
metrics_counter
[@]
}
"
=
~
"
$metric
"
]]
&&
countertype
=
COUNTER
[[
"
$metric
"
=
~
"cmdstat_"
]]
&&
countertype
=
COUNTER
[[
"
$metric
"
=
~
"cmdstat_"
]]
&&
countertype
=
COUNTER
[[
"
$metric
"
=
~
"cluster_"
]]
&&
[
$cluster_enabled
-eq
0
]
&&
continue
[[
"
$metric
"
=
~
"cluster_"
]]
&&
[
$cluster_enabled
-eq
0
]
&&
continue
value
=
$(
eval echo
\$
$metric
)
value
=
$(
eval echo
\$
$metric
)
if
[
"X"
$metric
==
'Xrole'
]
;
then
if
[
"X"
$metric
==
'Xrole'
]
;
then
if
[
"X"
$value
==
'Xmaster'
]
;
then
if
[
"X"
$value
==
'Xmaster'
]
;
then
value
=
1
value
=
1
else
else
value
=
0
value
=
0
master_link_status_value
=
$(
eval echo
\$
master_link_status
)
master_link_status_value
=
$(
eval echo
\$
master_link_status
)
[
"X"
$master_link_status_value
==
'Xup'
]
&&
master_link_status_value
=
1
||
master_link_status_value
=
0
[
"X"
$master_link_status_value
==
'Xup'
]
&&
master_link_status_value
=
1
||
master_link_status_value
=
0
Json_join redis.master_link_status
${
master_link_status_value
}
"port=
$port
"
$countertype
Json_join redis.master_link_status
${
master_link_status_value
}
"port=
$port
"
$countertype
fi
fi
fi
fi
if
[
"X"
$metric
==
'Xrdb_last_bgsave_status'
]
;
then
if
[
"X"
$metric
==
'Xrdb_last_bgsave_status'
]
;
then
[
"X"
$value
==
'Xok'
]
&&
value
=
1
||
value
=
0
[
"X"
$value
==
'Xok'
]
&&
value
=
1
||
value
=
0
fi
fi
if
[
"X"
$metric
==
'Xaof_last_bgrewrite_status'
]
;
then
if
[
"X"
$metric
==
'Xaof_last_bgrewrite_status'
]
;
then
[
"X"
$value
==
'Xok'
]
&&
value
=
1
||
value
=
0
[
"X"
$value
==
'Xok'
]
&&
value
=
1
||
value
=
0
fi
fi
if
[
"X"
$metric
==
'Xaof_last_write_status'
]
;
then
if
[
"X"
$metric
==
'Xaof_last_write_status'
]
;
then
[
"X"
$value
==
'Xok'
]
&&
value
=
1
||
value
=
0
[
"X"
$value
==
'Xok'
]
&&
value
=
1
||
value
=
0
fi
fi
if
[
"X"
$metric
==
'Xcluster_state'
]
;
then
if
[
"X"
$metric
==
'Xcluster_state'
]
;
then
[
"X"
$value
==
'Xok'
]
&&
value
=
1
||
value
=
0
[
"X"
$value
==
'Xok'
]
&&
value
=
1
||
value
=
0
fi
fi
[
"X"
$value
==
"X"
]
&&
continue
[
"X"
$value
==
"X"
]
&&
continue
Json_join redis.
$metric
$value
"port=
$port
"
$countertype
Json_join redis.
$metric
$value
"port=
$port
"
$countertype
done
done
}
}
Test_alive
(){
Test_alive
(){
r
=
$(
$redis_cli_cmd
-h
$ip
-p
$port
ping 2>/dev/null
)
&&
value
=
0
||
value
=
1
r
=
$(
$redis_cli_cmd
-h
$ip
-p
$port
ping 2>/dev/null
)
&&
value
=
0
||
value
=
1
Json_join redis.alive
$value
"port=
$port
"
$countertype
Json_join redis.alive
$value
"port=
$port
"
$countertype
[
"X
$r
"
==
'XPONG'
]
&&
value
=
0
||
value
=
1
[
$value
-eq
1
]
&&
return
$value
Json_join redis.auth_passwd
$value
"port=
$port
"
$countertype
[
"X
$r
"
==
'XPONG'
]
&&
value
=
0
||
value
=
1
return
$value
Json_join redis.auth_passwd
$value
"port=
$port
"
$countertype
return
$value
}
}
Test_slowlog
(){
Test_slowlog
(){
$redis_cli_cmd
-h
$ip
-p
$port
slowlog get 1024
>
/tmp/redis_slowlog_
$port
2>/dev/null||
return
1
$redis_cli_cmd
-h
$ip
-p
$port
slowlog get 1024
>
/tmp/redis_slowlog_
$port
2>/dev/null||
return
1
grep
-v
^
$
/tmp/redis_slowlog_
$port
>>
/opt/redis_slowlog_
$port
grep
-v
^
$
/tmp/redis_slowlog_
$port
>>
/opt/redis_slowlog_
$port
value
=
$(
$redis_cli_cmd
-h
$ip
-p
$port
slowlog len 2>/dev/null
)
value
=
$(
$redis_cli_cmd
-h
$ip
-p
$port
slowlog len 2>/dev/null
)
$redis_cli_cmd
-h
$ip
-p
$port
slowlog reset &>/dev/null
$redis_cli_cmd
-h
$ip
-p
$port
slowlog reset &>/dev/null
Json_join redis.slowlog_len
$value
"port=
$port
"
$countertype
Json_join redis.slowlog_len
$value
"port=
$port
"
$countertype
if
[
$value
-gt
0
]
;
then
if
[
$value
-gt
0
]
;
then
timestamp
=
$(
date
'+%s'
)
timestamp
=
$(
date
'+%s'
)
time_str
=
${
timestamp
:0:8
}
time_str
=
${
timestamp
:0:8
}
max_time
=
$(
sed
-n
"/^
$time_str
/ {n;p}"
/tmp/redis_slowlog_
$port
|sort
-n
|sed
-n
'$p'
)
max_time
=
$(
sed
-n
"/^
$time_str
/ {n;p}"
/tmp/redis_slowlog_
$port
|sort
-n
|sed
-n
'$p'
)
fi
fi
test
-z
$max_time
&&
max_time
=
0
test
-z
$max_time
&&
max_time
=
0
Json_join redis.slowlog_max_time
$max_time
"port=
$port
"
$countertype
Json_join redis.slowlog_max_time
$max_time
"port=
$port
"
$countertype
return
0
return
0
}
}
Tast_keyspace_hit_ratio
(){
Tast_keyspace_hit_ratio
(){
value
=
0
value
=
0
keyspace_total
=
$((
keyspace_hits
+
keyspace_misses
))
keyspace_total
=
$((
keyspace_hits
+
keyspace_misses
))
[
$keyspace_total
-ne
0
]
&&
value
=
$((
100
*
keyspace_hits
/
keyspace_total
))
[
$keyspace_total
-ne
0
]
&&
value
=
$((
100
*
keyspace_hits
/
keyspace_total
))
Json_join redis.keyspace_hit_ratio
$value
"port=
$port
"
$countertype
Json_join redis.keyspace_hit_ratio
$value
"port=
$port
"
$countertype
return
$value
return
$value
}
}
Tast_use_memory
(){
Tast_use_memory
(){
value
=
0
value
=
0
[
$maxmemory
-ne
0
]
&&
value
=
$((
100
*
used_memory
/
maxmemory
))
[
$maxmemory
-ne
0
]
&&
value
=
$((
100
*
used_memory
/
maxmemory
))
Json_join redis.used_memory_percent
$value
"port=
$port
"
$countertype
Json_join redis.used_memory_percent
$value
"port=
$port
"
$countertype
return
$value
return
$value
}
}
Tast_use_connected_clients
(){
Tast_use_connected_clients
(){
value
=
0
value
=
0
[
$maxclients
-ne
0
]
&&
value
=
$((
100
*
connected_clients
/
maxclients
))
[
$maxclients
-ne
0
]
&&
value
=
$((
100
*
connected_clients
/
maxclients
))
Json_join redis.used_connected_clients_percent
$value
"port=
$port
"
$countertype
Json_join redis.used_connected_clients_percent
$value
"port=
$port
"
$countertype
return
$value
return
$value
}
}
Test_use_cpu
(){
Test_use_cpu
(){
pid
=
$(
ps aux|grep redis-server|grep :
${
port
}
|awk
'{print $2}'
)
pid
=
$(
ps aux|grep redis-server|grep :
${
port
}
|awk
'{print $2}'
)
value
=
$(
top
-b
-n1
|
grep
redis-server|
grep
${
pid
}
|awk
'{print $9}'
)
value
=
$(
top
-b
-n1
|
grep
redis-server|
grep
${
pid
}
|awk
'{print $9}'
)
Json_join redis.used_cpu_percent
$value
"port=
$port
"
$countertype
Json_join redis.used_cpu_percent
$value
"port=
$port
"
$countertype
}
}
Main
(){
Main
(){
for
port
in
$(
grep
$service
../service_port 2>/dev/null|
grep
-v
redis-shake 2>/dev/null|awk
'$0=$2'
)
;
do
for
port
in
$(
grep
$service
../service_port 2>/dev/null|
grep
-v
redis-shake 2>/dev/null|awk
'$0=$2'
)
;
do
#which redis-cli &>/dev/null || exit 1
#which redis-cli &>/dev/null || exit 1
[
$port
-gt
10000
]
&&
continue
[
$port
-gt
10000
]
&&
continue
test
-f
redis_auth.conf
&&
passwd
=
$(
awk
-F
:
'/^'
$port
':/{print $2}'
redis_auth.conf
)
test
-f
redis_auth.conf
&&
passwd
=
$(
awk
-F
:
'/^'
$port
':/{print $2}'
redis_auth.conf
)
test
-z
$passwd
&&
redis_cli_cmd
=
'redis-cli'
||
redis_cli_cmd
=
"redis-cli -a
$passwd
"
test
-z
$passwd
&&
redis_cli_cmd
=
'redis-cli'
||
redis_cli_cmd
=
"redis-cli -a
$passwd
"
Test_alive
||
continue
Test_alive
||
continue
Test_slowlog
||
continue
Test_slowlog
||
continue
Get_current_value
Get_current_value
Tast_keyspace_hit_ratio
Tast_keyspace_hit_ratio
Tast_use_connected_clients
Tast_use_connected_clients
Tast_use_memory
Tast_use_memory
#Test_use_cpu
#Test_use_cpu
Push_n9e
Push_n9e
done
done
jstr
=
$(
echo
$jstr
|sed
's/^/[/;s/,$/]/;s/\[$/[]/'
)
jstr
=
$(
echo
$jstr
|sed
's/^/[/;s/,$/]/;s/\[$/[]/'
)
echo
$jstr
echo
$jstr
...
...
60_linux_cpu.py
View file @
da005429
...
@@ -45,4 +45,7 @@ if __name__ == "__main__":
...
@@ -45,4 +45,7 @@ if __name__ == "__main__":
sys
.
stderr
.
write
(
'cannot get local ip'
)
sys
.
stderr
.
write
(
'cannot get local ip'
)
sys
.
exit
(
0
)
sys
.
exit
(
0
)
core_total
=
int
(
os
.
popen
(
"cat /proc/cpuinfo | grep processor | tail -1 | cut -d' ' -f2"
)
.
read
()
.
strip
())
+
1
core_total
=
int
(
os
.
popen
(
"cat /proc/cpuinfo | grep processor | tail -1 | cut -d' ' -f2"
)
.
read
()
.
strip
())
+
1
print
(
json
.
dumps
(
get_cpu_core_stat
(
core_total
)))
if
core_total
<=
8
:
print
(
json
.
dumps
(
get_cpu_core_stat
(
core_total
)))
else
:
print
(
'[]'
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment