您的位置:奥门新浦京网址 > 奥门新浦新京官方网站 > BSM的釜底之薪,如何安装和使用Beanstalkd工作队列

BSM的釜底之薪,如何安装和使用Beanstalkd工作队列

发布时间:2019-11-06 11:15编辑:奥门新浦新京官方网站浏览(130)

    如何安装和使用Beanstalkd工作队列(1)

    介绍

    小心翼翼地宣布每一元素的职责部署应用程序栈带来很多好处,包括简单的诊断问题时发生,规模迅速的能力,以及更清晰的管理范围涉及的组件。

    在当今世界web服务的工程,一个关键的组件实现上述场景涉及利用消息队列和工作(或任务)。这些通常是弹性和灵活的应用程序很容易实现和设置。他们是完美的分裂的不同部分之间的业务逻辑应用程序包时生产。

    在这篇文章中,我们的应用程序级别系列通信解决方案,我们将看看Beanstalkd创建这个片段的分离。

    什么是Beanstalkd

    Beanstalkd首先是解决了一个流行的web应用程序的需求(Facebook上的原因)。目前,这是一个绝对可靠,易于安装的消息传递服务,是完美的开始和使用。

    如前所述,Beanstalkd的主要用例是管理不同部分和工人之间的工作流应用程序的部署通过工作队列和消息堆栈,类似于其他受欢迎的解决方案,比如RabbitMQ。然而,创建Beanstalkd使它有别于其他工作。

    自成立以来,与其他解决方案,Beanstalkd旨在成为一个工作队列,而不是一把雨伞工具来满足许多需求。为了实现这一目的,它作为一种轻量级的、快速有效的应用程序基于C编程语言。精益建筑还允许它是安装和使用非常简单,使它适合大多数用例。

    Features(特性)

    能够监控工作返回ID,在创建返回,只有一个的特性使它有别于其他的Beanstalkd。提供一些其他有趣的功能是:

    1.持久性—>Beanstalkd运行使用内存,但也提供了持久性支持。

    2.优先级—>与大多数选择一样,Beanstalkd提供了不同的任务的优先级来处理紧急事情时需要。

    3.分布 —->不同的服务器实例可以分布类似于Memcached是如何工作的。

    4.掩盖 —-> 有可能通过掩盖它无限期延期的作业(即任务)。

    5.第三方工具—>Beanstalkd附带各种第三方工具包括综合领先指标和基于web的管理控制台。

    6.过期 —->工作可以设置为过期,auto-queue之后(TTR – Time To Run).

    Beanstalkd使用案例

    一些模范的Banstalkd用例:

    允许web服务器快速响应请求,而不是被迫当场曾推高程序执行

    在指定的时间间隔执行某些工作(即爬行web)

    分发到多个工作人员进行处理

    让离线客户端(例如一个断开连接的用户)获取数据在稍后的时间,而不是让它永久失去了通过一个工人

    引入完全异步功能的后端系统

    订购和优先任务

    应用程序负载不同员工之间保持平衡

    极大地提高应用程序的可靠性和正常运行时间

    处理CPU密集型工作(视频、图片等)

    发送电子邮件到您的列表和更多。

    Beanstalkd元素

    就像大多数应用程序,Beanstalkd附带自己的术语来解释它的部分。

    Tubes / Queues

    Beanstalkd管翻译从其他消息传递应用程序队列。他们是通过工作(或消息)转移到消费者(即工人)。

    Jobs / Messages

    由于Beanstalkd是一个工作队列,通过管称为转移工作是什么——类似于所发送的消息。

    Producers / Senders

    生产商,类似于高级消息队列协议的定义,是应用程序创建和发送工作(或消息)。他们正在使用的消费者。

    Consumers / Receivers

    接收器是不同的应用程序的堆栈从管找份工作,由生产者进行处理。

    在Ubuntu 13安装Beanstalkd

    可以很简单获得Beanstalkd通过包管理器才能和开始。然而,在几个命令,您还可以从源下载并安装它。

    注意:我们将执行安装和执行行动列在这里的新鲜和新创建的液滴由于各种原因。如果你是积极服务客户,可能会修改您的系统,不要打破任何工作和不运行在问题,强烈建议您试着在一个新系统下面的说明。

    使用aptitude安装:

    下载并安装Beanstalkd运行以下命令:

    aptitude install -y beanstalkd 
    

    编辑默认配置文件让随着系统启动

    vim /etc/default/beanstalkd 
    

    打开文件后,向下滚动并找到底部线#开始= yes。将其更改为:

    START=yes 
    

    下面介绍源码安装

    我们需要从源代码安装过程的一个关键工具- Git。

    运行以下获取Git在你系统上:

    aptitude install -y git 
    

    下载必要的开发工具软件包:

    aptitude install -y build-essential 
    

    使用Git克隆(下载)官方库:

    git clone https://github.com/kr/beanstalkd 
    

    进入到下载目录:

    cd beanstalkd 
    

    从源代码构建应用程序:

    make 
    

    安装:

    make install 
    

    再介绍一下centos下源码安装:

    下载地址:   wget   http://cloud.github.com/downloads/kr/beanstalkd/beanstalkd-1.4.6.tar.gz   解压:   tar xzf beanstalkd-1.4.6.tar.gz   cd beanstalkd-1.4.6   /configure  make   make install   默认安装路径 :/usr/local/bin/   查看版本:   /usr/local/bin/beanstalkd -v   1.4.6 
    

    图片 1


    ) 介绍 小心翼翼地宣布每一元素的职责部署应用程序栈带来很多好处,包括简单的诊断问题时发生,规模迅...

    在云计算高度集成的虚拟机密度和IT基础设施管理的灵活性之间,实现平衡至关重要,如果缺少有效的管理力量和紧密的业务协作,云计算将演变成为部署和维护成本极高,并且流程极为复杂的“碎片化”解决方案。为了避免这种状况,以北塔软件为首的一些IT运维厂商与客户及云计算产品的上游厂商展开了紧密合作,旨在通过夯实IT基础设施管理,迈向实现BSM的最终目标,帮助企业逐步把数据中心运行环境从一个静态、被动和人工的环境转变为一个灵活、主动且高度自动化的云环境。

    小米运维—互联网企业级监控系统实践(1)

    Introduction

    监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题。监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择。当公司刚刚起步,业务规模较小,运维团队也刚刚建立的初期,选择一款开源的监控系统,是一个省时省力,效率最高的方案。之后,随着业务规模的持续快速增长,监控的对象也越来越多,越来越复杂,监控系统的使用对象也从最初少数的几个SRE,扩大为更多的DEVS,SRE。这时候,监控系统的容量和用户的“使用效率”成了最为突出的问题。

    监控系统业界有很多杰出的开源监控系统。我们在早期,一直在用zabbix,不过随着业务的快速发展,以及互联网公司特有的一些需求,现有的开源的监控系统在性能、扩展性、和用户的使用效率方面,已经无法支撑了。

    因此,我们在过去的一年里,从互联网公司的一些需求出发,从各位SRE、SA、DEVS的使用经验和反馈出发,结合业界的一些大的互联网公司做监控,用监控的一些思考出发,设计开发了小米的监控系统:open-falcon。

    open-falcon的目标是做最开放、最好用的互联网企业级监控产品。

    Highlights and features

    强大灵活的数据采集:自动发现,支持falcon-agent、snmp、支持用户主动push、用户自定义插件支持、opentsdb data model like(timestamp、endpoint、metric、key-value tags)

    水平扩展能力:支持每个周期上亿次的数据采集、告警判定、历史数据存储和查询

    高效率的告警策略管理:高效的portal、支持策略模板、模板继承和覆盖、多种告警方式、支持callback调用

    人性化的告警设置:最大告警次数、告警级别、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期

    高效率的graph组件:单机支撑200万metric的上报、归档、存储(周期为1分钟)

    高效的历史数据query组件:采用rrdtool的数据归档策略,秒级返回上百个metric一年的历史数据

    dashboard:多维度的数据展示,用户自定义Screen

    高可用:整个系统无核心单点,易运维,易部署,可水平扩展

    开发语言: 整个系统的后端,全部golang编写,portal和dashboard使用python编写。

    Architecture

    图片 2

    open-falcon architecture

    备注:虚线所在的aggregator组件还在设计开发阶段。

    每台服务器,都有安装falcon-agent,falcon-agent是一个golang开发的daemon程序,用于自发现的采集单机的各种数据和指标,这些指标包括不限于以下几个方面,共计400多项指标。

    ● CPU相关

    ● 磁盘相关

    ● IO

    ● Load

    ● 内存相关

    ● 网络相关

    ● 端口存活、进程存活

    ● ntp offset(插件)

    ● 某个进程资源消耗(插件)

    ● netstat、ss 等相关统计项采集

    ● 机器内核配置参数

    只要安装了falcon-agent的机器,就会自动开始采集各项指标,主动上报,不需要用户在server做任何配置(这和zabbix有很大的不同),这样做的好处,就是用户维护方便,覆盖率高。当然这样做也会server端造成较大的压力,不过open-falcon的服务端组件单机性能足够高,同时都可以水平扩展,所以自动多采集足够多的数据,反而是一件好事情,对于SRE和DEV来讲,事后追查问题,不再是难题。

    另外,falcon-agent提供了一个proxy-gateway,用户可以方便的通过http接口,push数据到本机的gateway,gateway会帮忙高效率的转发到server端。

    falcon-agent,可以在我们的github上找到 :

    Data model

    Data Model是否强大,是否灵活,对于监控系统用户的“使用效率”至关重要。比如以zabbix为例,上报的数据为hostname(或者ip)、metric,那么用户添加告警策略、管理告警策略的时候,就只能以这两个维度进行。举一个最常见的场景:

    hostA的磁盘空间,小于5%,就告警。一般的服务器上,都会有两个主要的分区,根分区和home分区,在zabbix里面,就得加两条规则;如果是hadoop的机器,一般还会有十几块的数据盘,还得再加10多条规则,这样就会痛苦,不幸福,不利于自动化(当然zabbix可以通过配置一些自动发现策略来搞定这个,不过比较麻烦)。

    open-falcon,采用和opentsdb相同的数据格式:metric、endpoint加多组key value tags,举两个例子:

    {     metric: load.1min,     endpoint: open-falcon-host,     tags: srv=falcon,idc=aws-sgp,group=az1,     value: 1.5,     timestamp: `date +%s`,     counterType: GAUGE,     step: 60 } {     metric: net.port.listen,     endpoint: open-falcon-host,     tags: port=3306,     value: 1,     timestamp: `date +%s`,     counterType: GAUGE,     step: 60 } 
    

    通过这样的数据结构,我们就可以从多个维度来配置告警,配置dashboard等等。

    备注:endpoint是一个特殊的tag。


    图片 3


    ) Introduction 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现...

    从ITIL到ITSMIT服务管理)再到BSM业务服务管理),诸多的管理工具成为IT管理乃至业务管理的利器,在云计算时代,这些管理工具以及供应商同样需要焕发新的光彩。事实上,当前的云计算中存在着普遍的管理混乱问题,只是程度不同而已,敦本务实才能逆转局面。所以如果你的企业正在制定云计划,请记住未来云计算管理与BSM的解决方案同等重要,而BSM的落地又要先把IT基础管理搞定,这才是一位IT智者的应该做的。

    张萌是一家世界500强企业在大连生产和物流中的CTO,近15年的从业经验让他对IT管理的“艺术”有了非常深入的理解,他表示:“从刚刚接触ITIL和BSM,到现在能够从业务的角度考虑,有效利用现有的IT资源整合所有事情,花去了我5年的时间。但现在对于公司已经建立的私有云数据中心,管理的难度要比之前复杂了许多。从边缘服务器开始,到核心业务虚拟机的增加,整个IT基础架构中交叉了很多业务线,让整个部门的IT服务管理面临了新的挑战。比如过去很容易发现的IT问题,现在由于大量虚拟化的应用,问题的判定变得更加复杂。如果不能及时解决这个难题,就让我为云计算的未来担忧更重了一层。”与张萌类似,很多技术主管都面临着相同的问题,有些人甚至担忧,如果配套的管理跟不上,云计算很有可能会成为当初Internet泡沫时代的翻版。

    敦本务实才能逆转局面

    著名的市场分析公司Forrester Research在《云在企业内部实现的效益》一文中明确指出:“许多企业中的架构专家和运营专家都开始采用这种‘云计算’概念并建立自己的内部云……尽管云计算很炫,但如果绕开IT运营而采取行动,则可能是危险的。 ”。与此类似的, Gartner公司也多次表示,“在BSM与云计算充分结合后,可以帮助他们及时为不同云客户提供分层次的服务等级并有效进行管理,实现云计算的协调、供应、服务变更、监测和管理自动化,同时伴随着内部云和外部云的普及,BSM可以为内部和外部的IT服务、服务级联合协议及费用建立一个统一的、可操作的服务目录。因此对于任何一个提供云计算服务的企业来说,BSM将成为必不可少的利器。”

    本文由奥门新浦京网址发布于奥门新浦新京官方网站,转载请注明出处:BSM的釜底之薪,如何安装和使用Beanstalkd工作队列

    关键词: