C# 实现 MemCache 监控管理工具

网上一直想找一个C# 写的MemCache监控工具,无奈都是Php写的工具(memadmin 是一款不错的监控工具),于是自己花费一周时间实现了部分memadmin 的功能,然后加入了部分自己需要的部分功能,下面详细介绍一下,主要是通过

  常用的命令
  stats
  显示服务器信息、统计数据等

  stats reset
  清空统计数据

  stats 
  malloc
显示内存分配数据

stats cachedump slab_id 
limit_num
显示某个slab中的前limit_num个key列表,显示格式如下
ITEM key_name [ value_length 
b; expire_time|access_time s]
其中,memcached 1.2.2及以前版本显示的是  
访问时间(timestamp)
1.2.4以上版本,包括1.2.4显示 
过期时间(timestamp)
如果是永不过期的key,expire_time会显示为服务器启动的时间

stats cachedump 7 
2
ITEM copy_test1 [250 b; 1207795754 s]
ITEM copy_test [248 b; 1207793649 
s]

stats slabs
显示各个slab的信息,包括chunk的大小、数目、使用情况等

stats 
items
显示各个slab中item的数目和最老item的年龄(最后一次访问距离现在的秒数)

stats detail 
[on|off|dump]
设置或者显示详细操作记录

参数为on,打开详细操作记录
参数为off,关闭详细操作记录
参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数)

详细介绍一下基本实现的功能:

 

  1. 显示MemCache 基本信息
  2. 监控统计MemCache 信息
  3. 对MemCache 的区块进行统计
  4. MemCache 中的数据维护
  5. 计算各个服务器的命中率
  6. 对服务器列表的监控
  7. 服务器数据备份
  8. 服务器数据还原
  9. 添加服务器
  10. 邮件通知

 

基本信息

显示Memcache启动以来的基本数据信息,通过选择不同的服务器,切换显示不同的服务器当前的基本信息;

 C# 实现 MemCache 监控管理工具_第1张图片

统计监控

1)       选择要监控的服务器;

2)       输入刷新频率(只能是数字),点击启动监控,即可对选中服务器的信息进行时时监控;

3)       监控是禁止切换服务器,可以切换选项卡,查询其他选项卡信息;

4)           点击停止监控后,一个监控周期结束,可以正常切换服务器进行重新监控;

 C# 实现 MemCache 监控管理工具_第2张图片

区块查询

1)       选择要查询的服务器;

2)       选择区块后可以统计每个区块的数据总量;

3)       输入要查询数据量,可以对不同的区块的数据进行查询(注:尽量不要查询太多的数据,否则可能会影响性能);

4)       双击列表中查询的数据,可以查询每个Key对应的详细信息;

5)       详细信息页支持上一页下一页,支持查找替换,esc关闭窗体;

6)       程序自动识别如果是json数据,可以点击格式化,更清晰的查看数据结构;

7)       点击格式化以后,可以撤销格式;

8)       点击删除,从选中服务器删除当前数据;

9)       点击保存,保存该数据到当前选中服务器;

 C# 实现 MemCache 监控管理工具_第3张图片C# 实现 MemCache 监控管理工具_第4张图片

数据维护

1)       选择要查询的Memcache 服务器;

2)       输入要查询的key,多个key ,请使用半角逗号分割;

3)       双击列表中查询的数据,可以查询每个Key对应的详细信息;

4)       详细信息页支持上一页下一页,支持查找替换,esc关闭窗体;

5)       程序自动识别如果是json数据,可以点击格式化,更清晰的查看数据结构;

6)       点击格式化以后,可以撤销格式;

7)       点击删除,从选中服务器删除当前数据;

8)       点击保存,重新保存该数据;

 

9)       单击每一个cell 单元格,进入编辑状态,可以右键复制数据;

10)   新建数据,输入key 和value 点击提交,会把数据提交到当前选定的服务器;

 C# 实现 MemCache 监控管理工具_第5张图片

C# 实现 MemCache 监控管理工具_第6张图片

命中率查询

1)       选择要查询的服务器(切换服务器以对不同服务器的数据进行统计);

2)       对服务器中的Get命令,Delete命令,INCR命令,DECR命令,以及CAS命令进行统计,并计算各种命令的命中率;

 C# 实现 MemCache 监控管理工具_第7张图片

服务器监控列表

列出当前所有正在监控服务器的部分详细信息;

 C# 实现 MemCache 监控管理工具_第8张图片

服务器数据备份

1)       点击工具,选择备份;

2)       选择要备份的服务器;

3)       选择备份路径;

4)       点击备份,即可多线程后台自动备份数据,在主窗体下方可以看到当前备份的详细信息;

 C# 实现 MemCache 监控管理工具_第9张图片

C# 实现 MemCache 监控管理工具_第10张图片

服务器数据还原

1)       点击工具,选择还原;

2)       在弹出的窗体中选择还原的服务器;

3)       选择要还原的路径;

4)       点击还原,即可自动判断当前服务器是否需要还原,如果符合要求,就会自动还原,还原的详细信息主窗体下方可见;

 

C# 实现 MemCache 监控管理工具_第11张图片

C# 实现 MemCache 监控管理工具_第12张图片

添加服务器

1)       点击工具,选择添加服务器;

2)       在弹出的窗体中,输入服务器IP,端口保存;

3)       保存时将对要保存的服务器进行一次验证,如果不能正常连接,则无法保存;

4)       添加时,同一台服务器不可以多次添加,会进行验证;

5)       双击列表中的一行数据,可以对数据进行编辑,也可以删除当前服务器;

6)       点击重置回到添加状态;

 C# 实现 MemCache 监控管理工具_第13张图片

邮件通知

1)       邮件通知的配置在App.Config中,可配置邮件服务器;

2)       收件人和抄送人请打开UserMailConfig.ini进行配置;

3)       不同的Memcache服务器可以定义不同的收件人和抄送人;多个收件人或抄送人用逗号分割;

  C# 实现 MemCache 监控管理工具_第14张图片

http://www.cnblogs.com/xffy1028/archive/2013/02/01/2861706.html

你可能感兴趣的:(memcache)