Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
蜕变的菜鸟
glances
提交
e72960ce
G
glances
项目概览
蜕变的菜鸟
/
glances
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
glances
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e72960ce
编写于
5月 03, 2014
作者:
N
Nicolargo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SNMP input: Mem and MemSwap
上级
d68c991a
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
83 addition
and
26 deletion
+83
-26
glances/plugins/glances_cpu.py
glances/plugins/glances_cpu.py
+1
-6
glances/plugins/glances_load.py
glances/plugins/glances_load.py
+39
-14
glances/plugins/glances_mem.py
glances/plugins/glances_mem.py
+28
-4
glances/plugins/glances_memswap.py
glances/plugins/glances_memswap.py
+15
-2
未找到文件。
glances/plugins/glances_cpu.py
浏览文件 @
e72960ce
...
...
@@ -26,16 +26,11 @@ from glances.plugins.glances_plugin import GlancesPlugin
# SNMP OID
# percentage of user CPU time: .1.3.6.1.4.1.2021.11.9.0
# raw user cpu time: .1.3.6.1.4.1.2021.11.50.0
# percentages of system CPU time: .1.3.6.1.4.1.2021.11.10.0
# raw system cpu time: .1.3.6.1.4.1.2021.11.52.0
# percentages of idle CPU time: .1.3.6.1.4.1.2021.11.11.0
# raw idle cpu time: .1.3.6.1.4.1.2021.11.53.0
# raw nice cpu time: .1.3.6.1.4.1.2021.11.51.0
snmp_oid
=
{
'user'
:
'1.3.6.1.4.1.2021.11.9.0'
,
'system'
:
'1.3.6.1.4.1.2021.11.10.0'
,
'idle'
:
'1.3.6.1.4.1.2021.11.11.0'
,
'user_raw'
:
'1.3.6.1.4.1.2021.11.50.0'
}
'idle'
:
'1.3.6.1.4.1.2021.11.11.0'
}
class
Plugin
(
GlancesPlugin
):
"""
...
...
glances/plugins/glances_load.py
浏览文件 @
e72960ce
...
...
@@ -27,6 +27,14 @@ import os
from
glances.plugins.glances_core
import
Plugin
as
CorePlugin
from
glances.plugins.glances_plugin
import
GlancesPlugin
# SNMP OID
# 1 minute Load: .1.3.6.1.4.1.2021.10.1.3.1
# 5 minute Load: .1.3.6.1.4.1.2021.10.1.3.2
# 15 minute Load: .1.3.6.1.4.1.2021.10.1.3.3
snmp_oid
=
{
'min1'
:
'1.3.6.1.4.1.2021.10.1.3.1'
,
'min5'
:
'1.3.6.1.4.1.2021.10.1.3.2'
,
'min15'
:
'1.3.6.1.4.1.2021.10.1.3.3'
}
class
Plugin
(
GlancesPlugin
):
"""
...
...
@@ -51,25 +59,42 @@ class Plugin(GlancesPlugin):
self
.
line_curse
=
1
# Init stats
self
.
reset
()
def
reset
(
self
):
"""
Reset/init the stats
"""
self
.
stats
=
{}
def
update
(
self
):
def
update
(
self
,
input
=
'local'
):
"""
Update load stats
Update load stats using the input method
Input method could be: local (mandatory) or snmp (optionnal)
"""
# Get the load using the os standard lib
try
:
load
=
os
.
getloadavg
()
except
OSError
:
self
.
stats
=
{}
except
AttributeError
:
# For Windows OS...
self
.
stats
=
{}
else
:
self
.
stats
=
{
'min1'
:
load
[
0
],
'min5'
:
load
[
1
],
'min15'
:
load
[
2
]}
# Reset stats
self
.
reset
()
if
input
==
'local'
:
# Update stats using the standard system lib
# Get the load using the os standard lib
try
:
load
=
os
.
getloadavg
()
except
OSError
:
self
.
stats
=
{}
except
AttributeError
:
# For Windows OS...
self
.
stats
=
{}
else
:
self
.
stats
=
{
'min1'
:
load
[
0
],
'min5'
:
load
[
1
],
'min15'
:
load
[
2
]}
elif
input
==
'snmp'
:
# Update stats using SNMP
self
.
stats
=
self
.
set_stats_snmp
(
snmp_oid
=
snmp_oid
)
for
key
in
self
.
stats
.
iterkeys
():
self
.
stats
[
key
]
=
float
(
self
.
stats
[
key
])
return
self
.
stats
...
...
glances/plugins/glances_mem.py
浏览文件 @
e72960ce
...
...
@@ -24,6 +24,20 @@ import psutil
from
glances.plugins.glances_plugin
import
GlancesPlugin
# SNMP OID
# Total RAM in machine: .1.3.6.1.4.1.2021.4.5.0
# Total RAM used: .1.3.6.1.4.1.2021.4.6.0
# Total RAM Free: .1.3.6.1.4.1.2021.4.11.0
# Total RAM Shared: .1.3.6.1.4.1.2021.4.13.0
# Total RAM Buffered: .1.3.6.1.4.1.2021.4.14.0
# Total Cached Memory: .1.3.6.1.4.1.2021.4.15.0
snmp_oid
=
{
'total'
:
'1.3.6.1.4.1.2021.4.5.0'
,
# 'used': '1.3.6.1.4.1.2021.4.6.0',
'free'
:
'1.3.6.1.4.1.2021.4.11.0'
,
'shared'
:
'1.3.6.1.4.1.2021.4.13.0'
,
'buffers'
:
'1.3.6.1.4.1.2021.4.14.0'
,
'cached'
:
'1.3.6.1.4.1.2021.4.15.0'
}
class
Plugin
(
GlancesPlugin
):
"""
...
...
@@ -90,16 +104,26 @@ class Plugin(GlancesPlugin):
# Use the 'free'/htop calculation
# free=available+buffer+cached
self
.
stats
[
'free'
]
=
self
.
stats
[
'available'
]
if
hasattr
(
self
.
stats
,
'buffer'
):
self
.
stats
[
'free'
]
+=
self
.
stats
[
'buffer'
]
if
hasattr
(
self
.
stats
,
'buffer
s
'
):
self
.
stats
[
'free'
]
+=
self
.
stats
[
'buffer
s
'
]
if
hasattr
(
self
.
stats
,
'cached'
):
self
.
stats
[
'free'
]
+=
self
.
stats
[
'cached'
]
# used=total-free
self
.
stats
[
'used'
]
=
self
.
stats
[
'total'
]
-
self
.
stats
[
'free'
]
elif
input
==
'snmp'
:
# Update stats using SNMP
# !!! TODO
pass
self
.
stats
=
self
.
set_stats_snmp
(
snmp_oid
=
snmp_oid
)
for
key
in
self
.
stats
.
iterkeys
():
self
.
stats
[
key
]
=
float
(
self
.
stats
[
key
])
*
1024
# Use the 'free'/htop calculation
self
.
stats
[
'free'
]
=
self
.
stats
[
'free'
]
-
self
.
stats
[
'total'
]
+
(
self
.
stats
[
'buffers'
]
+
self
.
stats
[
'cached'
])
# used=total-free
self
.
stats
[
'used'
]
=
self
.
stats
[
'total'
]
-
self
.
stats
[
'free'
]
# percent: the percentage usage calculated as (total - available) / total * 100.
self
.
stats
[
'percent'
]
=
float
((
self
.
stats
[
'total'
]
-
self
.
stats
[
'free'
])
/
self
.
stats
[
'total'
]
*
100
)
return
self
.
stats
...
...
glances/plugins/glances_memswap.py
浏览文件 @
e72960ce
...
...
@@ -24,6 +24,12 @@ import psutil
from
glances.plugins.glances_plugin
import
GlancesPlugin
# SNMP OID
# Total Swap Size: .1.3.6.1.4.1.2021.4.3.0
# Available Swap Space: .1.3.6.1.4.1.2021.4.4.0
snmp_oid
=
{
'total'
:
'1.3.6.1.4.1.2021.4.3.0'
,
'free'
:
'1.3.6.1.4.1.2021.4.4.0'
}
class
Plugin
(
GlancesPlugin
):
"""
...
...
@@ -80,8 +86,15 @@ class Plugin(GlancesPlugin):
self
.
stats
[
swap
]
=
getattr
(
sm_stats
,
swap
)
elif
input
==
'snmp'
:
# Update stats using SNMP
# !!! TODO
pass
self
.
stats
=
self
.
set_stats_snmp
(
snmp_oid
=
snmp_oid
)
for
key
in
self
.
stats
.
iterkeys
():
self
.
stats
[
key
]
=
float
(
self
.
stats
[
key
])
*
1024
# used=total-free
self
.
stats
[
'used'
]
=
self
.
stats
[
'total'
]
-
self
.
stats
[
'free'
]
# percent: the percentage usage calculated as (total - available) / total * 100.
self
.
stats
[
'percent'
]
=
float
((
self
.
stats
[
'total'
]
-
self
.
stats
[
'free'
])
/
self
.
stats
[
'total'
]
*
100
)
return
self
.
stats
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录