说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Tsar开源:淘宝内部大量使用的系统监控工具

HTML文档下载 WORD文档下载 PDF文档下载
淘宝的数据库可以储存8亿条以上的销售记录,可见其服务器集群的庞大。而对如此庞大的系统进行监控必然不会轻松,近日淘宝开源了在内部大量使用的系统监控工具Tsar。

Tsar介绍

Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告工具,如收集服务器的系统信息(cpu,mem等),以及应用数据(nginx、swift等),收集到的数据存储在服务器磁盘上,可以随时查询历史信息,也可以将数据发送到nagios报警。

Tsar能够比较方便的增加模块,只需要按照tsar的要求编写数据的采集函数和展现函数,就可以把自定义的模块加入到tsar中。

Tsar安装

Tsar目前托管在github上,下载编译安装步骤:

$git clone git://github.com/kongjian/tsar.git$cd tsar$make$make install

安装后:

  1. 定时任务配置:/etc/cron.d/tsar,负责每分钟调用tsar执行采集任务;
  2. 日志文件轮转配置:/etc/logrotate.d/tsar,每个月会把tsar的本地存储进行轮转;
  3. Tsar配置文件路径:/etc/tsar/tsar.conf,tsar的采集模块和输出的具体配置;
  4. 模块路径:/usr/local/tsar/modules,各个模块的动态库so文件;

Tsar配置

Tsar刚安装完,还没有历史数据,想要check是否正常,执行tsar -l,查看是否有实时信息输出:

Tsar的配置主要都在/etc/tsar/tsar.conf中,常用的有:

  • 增加一个模块,添加 mod_<yourmodname> on 到配置文件中
  • 打开或者关闭一个模块,修改mod_<yourmodname> on/off
  • output_stdio_mod 能够配置执行tsar时的输出模块
  • output_file_path 采集到的数据默认保存到的文件(如果修改的话需要对应修改轮转的配置/etc/logrotate.d/tsar
  • output_interface 指定tsar的数据输出目的,默认file保存本地,nagios/db输出到监控中心/数据库中,这两个功能还需要结合其它配置,具体见后面

Tsar使用

  • 查看历史数据,tsar
  • -l/--list 查看可用的模块列表
  • -l/--live 查看实时数据,tsar -l --cpu
  • -i/--interval 指定间隔,历史,tsar -i 1 --cpu
  • --modname 指定模块,tsar --cpu
  • -s/--spec 指定字段,tsar --cpu -s sys,util
  • -d/--date 指定日期,YYYYMMDD或者n代表n天前
  • -C/--check 查看最后一次的采集数据
  • -d/--detail 能够指定查看主要字段还是模块的所有字段
  • -h/--help 帮助功能

高级功能

  • 输出到nagios

配置: 首先配置output_interface file,nagios,增加nagios输出

然后配置nagios服务器和端口,以及发送的间隔时间

####The IP address or the host running the NSCA daemonserver_addr nagios.server.com####The port on which the daemon is running - default is 5667server_port 8086####The cycle of send alert to nagioscycle_time 300

由于是nagios的被动监控模式,需要指定nsca的位置和配置文件位置

####nsca client programsend_nsca_cmd /usr/bin/send_nscasend_nsca_conf /home/a/conf/amon/send_nsca.conf

接下来指定哪些模块和字段需要进行监控,一共四个阀值对应nagios中的不同报警级别

####tsar mod alert config file####threshold [hostname.]servicename.key;w-min;w-max;c-min;cmax;threshold cpu.util;50;60;70;80;

  • 输出到Mysql

配置: 首先配置output_interface file,db,增加db输出

然后配置哪些模块数据需要输出

output_db_mod mod_cpu,mod_mem,mod_traffic,mod_load,mod_tcp,mod_udpmod_io

然后配置sql语句发送的目的地址和端口

output_db_addr console2:56677

目的地址在该端口监听tcp数据,并且把数据入库即可,可以参照 tsar2db。

模块开发

Tsar的一个比较好的功能是能够增加自己的采集,这时候需要编写模块代码,编译成so文件即可。

首先安装tsardevel,刚才安装时,如果执行make tsardevel,就会把模块开发的基本文件安装到系统 然后执行tsardevel ,就能在当前模块生成一个模块目录:

[kongjian@v132172.sqa.cm4 tsar]$ tsardevel testbuild:makeinstall:make installuninstall:make uninstall[kongjian@v132172.sqa.cm4 tsar]$ ls testMakefile &nbsp;mod_test.c &nbsp;mod_test.conf

按照要求修改mod_test.c中的read_test_stats,set_test_record 完成后make;make install就完成新模块的配置文件和so的设置,执行tsar --test就能查看效果。

另外也可以通过配置文件对自定义模块传递参数,方法是修改配置文件中的mod_test on myparameter 然后在mod_test.c中的read_test_stats函数中,通过parameter参数就可以获得刚才配置文件中的内容。

原文链接及代码: GitHub (责编/仲浩)

“ 第五届中国云计算大会 ”将于2013年6月5-7日在北京国家会议中心隆重举行。猛击报名! 

相关活动已经火热启动:

2013中国云计算大调查,每周大奖等你拿! “ 

Innovation Cloud 2013云创新产品与应用项目征集,欢迎研发者、团队和创业企业参加! 

定价99元首发1万台 360安全路由器启动预约 AMD新产品线曝光 首次实现X86与ARM针脚融合 IT界最难以替代的9个角色 《近匠》英特尔&#174; XDK:从开发、测试到部署,一站式HTML5开发工具 手游云测工具TestBird:测试走入垂直细分领域 阿里巴巴赴美IPO的种种及马云内部邮件全文 盘点EMC World 2014三大看点 2014年Q1:智能手机总销量下滑,WP同比反增119% 着眼无人驾驶技术 英特尔投资日本ZMP公司 移动云服务UCloud快速扩张 成立北京分公司 精准推送 个推推出2.0产品“Smart Push” 从张小龙的七大价值观说开去 2014高德LBS应用大赛正式启动 助力打造生态圈 专访永洪科技CEO何春涛:管理者的炼成及国内大数据公司的挑战 R语言如何发展?商业支持或许可行 专访InMobi CEO Naveen Tewari:Banner广告已经OUT 效力苹果18年的资深高管Katie Cotton将退休 主打“全、新、独、准”,华为推出游戏中心平台 阿里云计算出海挑战亚马逊 首站香港及东南亚 TIOBE 2014年5月编程语言排行榜:Adobe ActionScript挤进Top20 秒杀iPad Mini?微软或将下月发布Surface Mini 大道手游:详解应用内购买的定价趋势与技巧 与英特尔软硬合作,Cloudera将在中国建立业务机构 准备迎接第一个量子计算软件公司吧! 搜狗搜索发布新LOGO和移动App 正全面入驻腾讯各条产品线 做好扁平化设计-视觉篇 关于敏捷研发的跨界反思 《近匠》雨血,一个“独立游戏人”的反思 一周消息树: 阿里巴巴赴美IPO的种种及马云内部邮件全文 一周热点:准备迎接第一个量子计算软件公司吧! 【云先锋】多备份:云端数据物流平台为企业提供云备份服务 aspx页面滚动如何实现 第二届深圳Delphi爱好者聚会通知 我的InterBase7为何登录不了? 两个窗体问题,希望今晚能结贴。谢谢了!!! Microsoft.Web.UI.WebControls --- Treeview的应用(请大家帮帮忙) 请为一个界面问题 在9i中为什么提示这个表或视图不存在? 在线等…… 为何在邮箱定则中建了规则,还是收到满足该定则的垃圾邮件,急急! ASP如何调用进程外组件,在线等待,急!!! 帮个忙吧! html中 文本框失去焦点的事件 函数名是什么?? 谢谢 高分求助--关闭进程问题 关于在窗体上画线的问题。 大家讨论一下,做一个游戏修改器应该如何下手? 分不多,只是希望能解决问题!!!!还望各位帮助 一个简单的问题:无线网关是否要和无线网关配套? 问一个Swing做界面算是设计模式方面的问题,语言上应如何去实现 关于xslt的两个问题,各位高手帮忙。。。 怎样获得一个IP地址的整数值? 左连接(left join) 速度很慢,如何解决? “WGE”团队诚邀英才 访问这个页面试试看,能不能跟踪到文件的下载地址? 一个简单的问题 @Command([RefreshHideFormulas]) 有什么作用? 怎么找不到我的mapping 和formbean??? 菜鸟初学问题,两个表之间导入数据时候,一个表比另外一个表多一个字段的时候…… 我的软件在发布一周之后,终于有破解版了,悲喜交加中! 高分求教(大家看看下面的程序,尤其是编,解码部分,有什么问题) CSocket连接错误... 访问这个页面试试看,能不能跟踪到文件的下载地址? 在Javascript中嵌入Jsp问题 怎样在TcxGrid中实现类似TDBGrid的OnColExit的功能? 最近接私活累死了,哎,赚钱难呀,还是散分容易!! 求救高手,ie打印屏蔽ip 地址的问题 在sun Solaris下配置锅IBM MQ Client的高手请进... 怎样将%赋值给一个变量? 简单问题:如何获得一个文件的更新时间 特难问题!!求救。。。。 对于MyWebService.asmx中大家的用法 我想找thining in java第三版,中文版,且是CHM格式的,各位帮帮忙 请问往word文档写内容的API是什么? 螃蟹今天生日。再放分。来者有分 运行时提示"找不到文件msadomd.rll in c:\winnt\system32\resources\1033\"? 当前时间提交数据库问题 关于给水晶报表传递DataSet的问题 查找文件问题 急救:进制转换问题 怎么执行一个data.sql文件 我想开一个巨基础的问题,想邀请各路高手来讨论,是关于字符串的,不知道大家有没有兴趣! VB自带的datareport如何在程序中设置预览时的缩放比例? 急 兆瓦级风力发电机单位是什么?是每秒、每分钟、每小时、每天、还是每年?急兆瓦级风力发电机单位是什么?是每秒、每分钟、每小时、每天、还是每年? 康祝和康慈拔罐器哪个好用? 鲸大吗?图76 大鲸是鲸的一种吗 我公司老总占公司40%的股份共计12000元,现将20%的股份以120万的价格转让给甲10% 乙10%怎么做会计分录? 水积春塘晚,阴交夏木繁 至今有没有拍摄到黑洞的真实照片? 黑洞里面是什么,把摄像头扔进去去拍. Authentic & Innovative Japanese Cuisine at Attractive Prices兄弟们给点有价值的答案。不拿机器翻的出来忽悠人,俺就在国外,自己翻的就是太土了 怎样辨别红枣的好坏? 英语翻译Healthy living for beginnersWelcome to "The Feelgood Factor".We hope you will enjoy your stay here.As we want you to make the most of this beautiful place,we've prepared an information sheet for you.Our tips for healthy living!Smoking:A 澳洲林火因澳部队实弹演习引发 强风致奶粉进药店多问题待解 本周开始安装售宁波海曙区已有五个社区无主车“清零”美耶鲁大学19岁大二学生欲徒步闯南极墨西哥一家美国公司糖果厂爆炸20人失美国海军基地再发枪击案 2人受伤枪手美国义诊团感受中国医疗现状 吁加强健环球小姐决赛即将举行 佳丽泳装展示傲世界最高大的狗在美国去世 存活年龄为手机疑遭美监听 默克尔怒了哈士奇模仿婴儿爬行萌翻网友【组图】90后男子赌博输掉40多万 黑市购枪想去蹭课!高校体育老师撞脸彭于晏“商以求同,协以成事”,中国改革不停政协发布会上王国庆信心十足谈未来中国齐鲁晚报两会融媒报道中心启用 “融通如何让行人不再闯红绿灯2017-3-3新闻和报纸摘要简讯多地印发备案登记管理办法和网贷业务活十八届中央第十二轮巡视开始进驻参加十二届全国人大五次会议和全国政协国务院日前印发《“十三五”推进基本公一拳法师海贼之最恶新星虚空征服者神书纪元校园古武高手火影之最强天赋搅乱韩娱打爆星空玄门败类初创客全球暗黑拜都拉清真寺旅游秦腔博物馆旅游望乡台瀑布旅游土地岩瀑布旅游水口寺瀑布旅游南山森林公园旅游龙华古镇旅游沐川竹海旅游宋庆龄汉口旧居旅游东交民巷天主堂旅游无锡影视基地旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘