Beta Huoju 090823

4,885 views

Published on

Published in: Technology, Business
0 Comments
17 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,885
On SlideShare
0
From Embeds
0
Number of Embeds
2,717
Actions
Shares
0
Downloads
97
Comments
0
Likes
17
Embeds 0
No embeds

No notes for slide

Beta Huoju 090823

  1. 1. 大规模软件服务监控和管理方法 霍炬 http://blog.devep.net/virushuo 2009.08.23 Beta 技术沙龙 官方 twitter : @betasalon 官方网站: http://club.blogbeta.com 邮件组: http://groups.google.com/group/betasalon?hl=zh-CN
  2. 2. 大规模软件服务监控和管理方法 霍炬 http://blog.devep.net/virushuo 09/08/23 www.ginkgotek.com
  3. 3. 背景资料 <ul><li>近百个独立搜索服务,分布于不同端口 </li></ul><ul><li>十余台服务器,分布于不同 IDC </li></ul><ul><li>每天处理 500 万以上搜索请求 </li></ul><ul><li>总共索引文档规模数千万 </li></ul><ul><li>每个搜索服务独立维护自己的状态 </li></ul>
  4. 4. 问题 <ul><li>搜索服务中断时间尽量短 </li></ul><ul><li>我们要随时了解搜索服务的状态 </li></ul><ul><li>服务器状态和搜索服务状态未必相关 </li></ul><ul><li>搜索服务数量很多,需要免配置 </li></ul>
  5. 5. 发展和演化 (1) <ul><li>用 http 页面报告 </li></ul><ul><li>用脚本收集 </li></ul>方法 <ul><li>性能和带宽消耗很大 </li></ul><ul><li>需要花费的时间比较长,甚至在规定时间内不能完成一次收集 </li></ul>缺点
  6. 6. 发展和演化 (2) <ul><li>使用 net-snmp+cacti 获得服务器情况 </li></ul><ul><li>用脚本获取搜索服务数据 </li></ul><ul><li>带宽问题解决了 </li></ul>方法 <ul><li>性能 </li></ul><ul><li>配置繁琐 </li></ul>缺点
  7. 7. 理想的方案 <ul><li>可返回各种信息 (int,string...) </li></ul><ul><li>数据小,占资源小 </li></ul><ul><li>不对搜索服务造成压力 </li></ul><ul><li>免配置 </li></ul>
  8. 8. SNMP 的优势 <ul><li>丰富的数据类型 (int,string,bit,counter...) </li></ul><ul><li>UDP 协议 </li></ul><ul><li>MIB 树形结构 </li></ul><ul><li>snmpget 和 snmpwalk </li></ul><ul><li>AgentX 协议 </li></ul>
  9. 9. SNMP 简介 <ul><li>RFC1067 , 1988 年 </li></ul><ul><li>NMS, Managed Device, Agent, MIB, OID... </li></ul><ul><li>SNMPv1 v2 v3 </li></ul>
  10. 10. MIB from: http://rabbit.com 例子 :1.3.6.1.4.1.33364.11.39931.1.2.0
  11. 11. AgentX from: http://eden.dei.uc.pt/agentx / <ul><li>RFC2741 , 2000 年 </li></ul><ul><li>为了动态扩展 Agent </li></ul>google 搜索最多的结果 from:http:// marvel.com
  12. 12. 开发自己的 SNMP 方案 <ul><li>MIB 和 AgentX :优秀的自配置 </li></ul><ul><li>可用资源: Net-Snmp,OpenSnmp,Snmp4J... </li></ul><ul><li>成品:使用了 JAgentx 只支持 snmp v1 </li></ul><ul><li>到 pen.iana.org 申请企业 ID </li></ul>
  13. 13. 优势和特点 <ul><li>性能非常好,采集时间 <1 秒 </li></ul><ul><li>占用带宽极低 <10K </li></ul><ul><li>对服务器几乎无压力 </li></ul><ul><li>自动扩展,不需人工干预 </li></ul>
  14. 14. 最简单的应用 使用 snmpwalk 命令
  15. 15. 更多应用 <ul><li>RRDTool/Cacti 绘图 </li></ul><ul><li>通过 IM 发送状态 (pysnmp+xmpppy=gtalk) </li></ul>
  16. 16. 资源 <ul><li>http:// en.wikipedia.org/wiki/simple_Network_Management_Protocol </li></ul><ul><li>http:// pen.iana.org/pen/PenApplication.page </li></ul><ul><li>http:// eden.dei.uc.pt/agentx / </li></ul><ul><li>http://www.faqs.org/rfcs/rfc2741.html </li></ul>
  17. 17. Thanks for listening Q&A

×