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的次数)
详细介绍一下基本实现的功能:
- 显示MemCache 基本信息
- 监控统计MemCache 信息
- 对MemCache 的区块进行统计
- MemCache 中的数据维护
- 计算各个服务器的命中率
- 对服务器列表的监控
- 服务器数据备份
- 服务器数据还原
- 添加服务器
- 邮件通知
基本信息
显示Memcache启动以来的基本数据信息,通过选择不同的服务器,切换显示不同的服务器当前的基本信息;
统计监控
1) 选择要监控的服务器;
2) 输入刷新频率(只能是数字),点击启动监控,即可对选中服务器的信息进行时时监控;
3) 监控是禁止切换服务器,可以切换选项卡,查询其他选项卡信息;
4) 点击停止监控后,一个监控周期结束,可以正常切换服务器进行重新监控;
区块查询
1) 选择要查询的服务器;
2) 选择区块后可以统计每个区块的数据总量;
3) 输入要查询数据量,可以对不同的区块的数据进行查询(注:尽量不要查询太多的数据,否则可能会影响性能);
4) 双击列表中查询的数据,可以查询每个Key对应的详细信息;
5) 详细信息页支持上一页下一页,支持查找替换,esc关闭窗体;
6) 程序自动识别如果是json数据,可以点击格式化,更清晰的查看数据结构;
7) 点击格式化以后,可以撤销格式;
8) 点击删除,从选中服务器删除当前数据;
9) 点击保存,保存该数据到当前选中服务器;
数据维护
1) 选择要查询的Memcache 服务器;
2) 输入要查询的key,多个key ,请使用半角逗号分割;
3) 双击列表中查询的数据,可以查询每个Key对应的详细信息;
4) 详细信息页支持上一页下一页,支持查找替换,esc关闭窗体;
5) 程序自动识别如果是json数据,可以点击格式化,更清晰的查看数据结构;
6) 点击格式化以后,可以撤销格式;
7) 点击删除,从选中服务器删除当前数据;
8) 点击保存,重新保存该数据;
9) 单击每一个cell 单元格,进入编辑状态,可以右键复制数据;
10) 新建数据,输入key 和value 点击提交,会把数据提交到当前选定的服务器;
命中率查询
1) 选择要查询的服务器(切换服务器以对不同服务器的数据进行统计);
2) 对服务器中的Get命令,Delete命令,INCR命令,DECR命令,以及CAS命令进行统计,并计算各种命令的命中率;
服务器监控列表
列出当前所有正在监控服务器的部分详细信息;
服务器数据备份
1) 点击工具,选择备份;
2) 选择要备份的服务器;
3) 选择备份路径;
4) 点击备份,即可多线程后台自动备份数据,在主窗体下方可以看到当前备份的详细信息;
服务器数据还原
1) 点击工具,选择还原;
2) 在弹出的窗体中选择还原的服务器;
3) 选择要还原的路径;
4) 点击还原,即可自动判断当前服务器是否需要还原,如果符合要求,就会自动还原,还原的详细信息主窗体下方可见;
添加服务器
1) 点击工具,选择添加服务器;
2) 在弹出的窗体中,输入服务器IP,端口保存;
3) 保存时将对要保存的服务器进行一次验证,如果不能正常连接,则无法保存;
4) 添加时,同一台服务器不可以多次添加,会进行验证;
5) 双击列表中的一行数据,可以对数据进行编辑,也可以删除当前服务器;
6) 点击重置回到添加状态;
邮件通知
1) 邮件通知的配置在App.Config中,可配置邮件服务器;
2) 收件人和抄送人请打开UserMailConfig.ini进行配置;
3) 不同的Memcache服务器可以定义不同的收件人和抄送人;多个收件人或抄送人用逗号分割;
留下邮箱的70多位支持用户以通过邮箱发送,后续不在发送,有需要的请前往以下地址下载,谢谢!