Fluentd入门教程

2017-02-05 by muzi

最近发生了一些不可描述的故事,艰难之中换到了现在的组,主要的工作内容是数据挖掘。也终于有机会学习新的知识:Ruby和Fluentd。本文将总结开源软件Fluentd的入门知识,包括如何安装,配置文件语法,插件简介等内容。Fluentd的官网内容非常详尽,内容的组织也尤其清晰,所以网络上关于Fluentd的文档很少。本文主要用于学习记录,也希望能帮助到英语不好的读者。

Overview

Fluentd是一个完全开源免费的log信息收集软件,支持超过125个系统的log信息收集。其架构图如图1所示。

fluentd

图1. Fluentd架构图

本质上,Fluentd可以分为客户端和服务端两种模块。客户端为安装在被采集系统中的程序,用于读取log文件等信息,并发送到Fluentd的服务端。服务端则是一个收集器。在Fluentd服务端,我们可以进行相应的配置,使其可以对收集到的数据进行过滤和处理,并最终路由到下一跳。下一跳可以是用于存储的数据库,如MongoDB, Amazon S3, 也可以是其他的数据处理平台,比如Hadoop。

Install

由于Fluentd的安装较为麻烦,所以业界流行的稳定安装版本其实是有Treasure Data公司提供的td-agent。本文将介绍的也是td-agent的安装和使用。

官网安装文档介绍了针对不同系统的安装办法。本文介绍“Ubuntu 14.04 ...

read more

Solution: can not receive notification of OpenStack

2016-12-21 by muzi

If you set up a AMQP connection to listen to Rabbit message queue, and can not receive any notification when connection is correct. Stucking queue may be the reason of this problem. As I proposed in ask.openstack.org, you can purge the queue to clear all the message in ...

read more

Listen to OpenStack Notification

2016-09-30 by muzi

在许多应用场景下,需要监听OpenStack的消息来做一些操作,从而实现事件驱动/消息驱动的业务。本文将介绍如何使用kombu库来监听OpenStack的消息,包括neutron,nova等相关类型的notification。

Kombu, AMQP, RabbitMQ

Kombu是Python的消息库,封装来许多消息的报文,支持包括AMQP等多种消息协议。而在OpenStack端,Notification的发布系统由RabbitMQ实现。为了监听OpenStack发出的Notification, 我们需要在本地用Kombu库建立一个connection, 连接到OpenStack的消息发布系统。

Terminology

在学习过程中,会遇到Exchange, Queue等术语,此处将简要介绍这些概念:

  • Producers

    消息生产者,产生消息,并发送到交换器。

  • Exchanges

    消息交换器,接受生产者发送过来的消息,根据对应的routing_key,来将消息路由到对应的队列。

  • Queues

    队列接收来自交换器发来的消息,队列由消费者定义,自然也为消费者使用,用于存储消息。

  • Consumers

    消费者从队列中读取消息,并进行处理。消费者声明和定义队列,并将队列绑定到对应的exchange上。

  • Routing ...

read more

Getting Started of MongoDB

2016-08-30 by muzi

What is MongoDB

MongoDB is an open-source document database that provides high performance, high availability, and automatic scaling.[1]

MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。 MongoDB能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用MongoDB来创建新的应用,提高与客户之间的工作效率,加快产品上市时间,以及降低企业成本。

MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。 MongoDB的本地复制和自动故障转移功能使您的应用程序具有企业级的可靠性和操作灵活性。[2]

About MongoDB

MongoDB is ...

read more

我是怎么丢掉饭碗的

2016-07-26 by muzi

我出门名门,骨骼精奇,身怀绝迹,独步武林多年,凭着祖传的无影手和行走江湖多年练就的一套安检基本法,我房霍强当上了桃花镇的城门护卫队的队长,也算不负家族期望。

桃花镇自古以来就是兵家必争之地,又有许多桃花盛开,所以也是一个远近闻名的旅游胜地。为保证桃花镇的安全,又要保证桃花镇的游客流量,我房某人必须要快速地做好安检工作。多亏我祖传的无影手绝技和总结的安检基本法,我才能应对每天如此多的人流。

身居要位的我身价自然不会太低,多少也要个20W年薪吧。我要价高也是有道理的,自古以来,能做安检工作的都是像我这样骨骼精奇又身怀绝学的人,软硬实力俱佳啊。先说软实力,我行走江湖十余载,见过采花、毛贼、刺客少说上百,多了上千,早已掌握了一套基本法,练就了一副火眼金睛,一眼就能看出蹊跷。只要学会了这套安检基本法,就可以做到像我这样的火眼金睛。硬实力上,与普通骨架的人不同,我们家族的人骨骼精奇,手速极快,有无影手之称。无影手是我们家族的祖传技能,到我已经19代有余。即使软件方面其他人可以做到,但是别人做不到我的速度,所以我身价才这么高。

事业成功不算什么,我房霍强还是和镇长女儿慕容翠花定了亲的男人,那可是要迎娶白富美的节奏。

我的工作内容无非就是禁止一些黑名单上的人进城,限制人流等等,早已轻车熟路。我还可以防止DoS恶意攻击。比如有时会有同一拨人在不断假装去桃花庙上香 ...

read more