编辑: 645135144 | 2014-09-23 |
1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 目录 前言 简介 快速开始 表达式语言 配置 用法 案例 API 附1:tsdbrelay 附2:stack overflow的bosun架构 附3:译者bosun使用心得
1 前言 前言
2 Bosun中文指南 Bosun是由Stack Exchange团队打造的一套基于时间序列的监控预警系统,本系统开源并遵 守MIT协议.Bosun拥有非常强大的表达式语言,能够灵活地定义预警规则以及展示预警通 知.同时Bosun能够让你利用历史数据来测试预警规则,这样能大大加快开发效率. 简介
3 快速开始 本文档的目标是帮助用户在自己的开发环境中快速开始使用bosun,跟随本文档,用户将会获 得一个完整操作性的bosun系统,本系统不仅能够从制定的机器上聚合采集的指标,还能够根 据相关指标进行报警.我们将会使用OpenTSDB,针对一些Graphite的指标,请参看graphite 章节. Bosun 本指南基于使用我们提供的的docker镜像.在Stack Exchange我们并没有在生产环境中使用 Docker.对于那些并不希望使用docker的用户,我们在bosun.org上提供bosun的二进制包. 用户需要自行安装OpenTSDB和HBase(如果用户需要自行安装OpenTSDB,我们推荐使用 较新的版本,这样才能通过scollector来支持GZIP连接),对于Hbase我们推荐使用CDH来构 建集群. Docker 安装Docker 如果用户在自己的环境中并未安装docker,你可以根据docker官网的操作指南来安装. 注意: 在进行下面的步骤前必须确保docker的守护进程运行. 安装bosun 当用户安装完Docker之后,需要从docker仓库中下载最新版本的bosun,操作指令如下: $ docker run -d -p 4242:4242 -p 8070:8070 stackexchange/bosun 上面这条指令告诉docker的主进程要启动一个新的bosun守护进程实例,同时转发服务器 8070端口到docker容器中.大约15秒以后,就拥有了一个工作在8070端口的bosun实例.此 时能够通过浏览器访问 http://docker-server-ip:8070 操控这个bosun实例,docker-server-ip 是你运行docker守护进程的宿主机IP. Bosun获取数据 Bosun的docker镜像提供了一定数量的数据,如果想知道更多关于获取数据的信息,请参看后 续关于scollector的章节,但是现在可以跳过这些. 快速开始
4 Bosun检查数据 一旦scollector开始运行,假设scollector与bosun服务能够不受防火墙影响的通过8070端口建 立连接,bosun服务就能够获得运行scollector的系统的监控数据.我们能够通过网 页 http://docker-server-ip:8070/items 来检查收集到的数据,如果看到一系列的metrics,那 么整个系统的收集数据功能已经正常.在网站的底部(如果浏览器足够宽就会在网站并行的 列上)可以看到发送数据的服务器列表信息.如果点击服务器名,然后再点击Available Metrics按钮,能够看到不同类型的监控数据,这里有一系列的变量,在我们的指南中我们将 使用其中的一小部分. 创建预警 只有系统的监控数据并不足以构建一个有用的监控系统,必须在异常状况发生的时候及时的 预警,这才是bosun的核心功能. bosun提供一套特别的工作流来设计、测试、部署预警项目,bosun网页的顶部从左到右包含 了Items、Graph、Expression、Rule、Test等标签,这些标签的顺序代表了创建一个预警的 步骤.一般来说,一个预警的基础在于选取一个item,然后用Graph来展示item的行为特征, 再将Graph转换成一条Expression,接着将Expression转成一条Rule,在将这条Rule合并到 Bosun系统中之前需要进行测试. 让我们来完成一个案例,以此理解bosun的工作机理.在我们的案例中,我们将设置一个在 cpu过高情况下进行通知的预警,在我们的例子中我们使用的metric只有 os.cpu ,我们创建预 警的触发条件是指定的服务器cpu过高达到一个小时. 打开网站 http://docker-server-ip:8070 来开始我们的案例.