月度归档:2015年12月

使用Fluentd和MongoDB构建日志收集系统

本文主要介绍Fluentd在Python Application中的应用,将Python程序在运行时输出的log输入到Fluentd,并最终持久化到MongoDB中。

把Python程序的log输出到Fluentd中很简单,Fluentd已经为你写好了lib—— fluent-logger-python 。从Fluentd中把数据存到MongoDB也不是很困难,因为我们安装的是稳定版本的Fluentd——td-agent,其已经自带了把数据从Fluentd输出到MongoDB的输出插件—— out_mongo ,我们要做的就是简单做一些简单的配置。

在动手操作之前,我们还需要明白一些事情,就是通过Fluentd,把log保存到MongoDB中相比直接在程序中输出到MongoDB,有哪些好处?

继续阅读

Python 最流行三大IDE开发工具

PyCharm、Sublinme Text 2、Eclipse这三大神器中,我个人比较喜欢Eclipse,以下是相关使用介绍:

PyCharm

PyCharm是由JetBrains打造的一款Python IDE。

PyCharm具备一般 Python IDE 的功能,比如:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。

继续阅读

Python *与** 参数问题

问题:
    Python的函数定义中有两种特殊的情况,即出现*,**的形式。
    如:def fun1(username, *keys)或def fun2(username, **keys)等。

解释:
  * 用来传递任意个无名字参数,这些参数会一个Tuple的形式访问。

   ** 用来处理传递任意个有名字的参数,这些参数用dict来访问

继续阅读

PHP连接Redis

PhpRedis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系很有用;以下是redis官方提供的命令使用技巧:

Redis::__construct构造函数

1 $redis = new Redis();

connect, open 链接redis服务

参数:

  • host: string,服务地址
  • port: int,端口号
  • timeout: float,链接时长 (可选, 默认为 0 ,不限链接时间)

注: 在redis.conf中也有时间,默认为300

继续阅读

Python 2.7.x和3.x版本的区别

以下是这两个版本的区别,目录如下:

目录

__future__模块

[回到目录]

继续阅读

采用nohup实现linux下后台运行

&方式:
Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台:
        /usr/local/mysql/bin/mysqld_safe –user=mysql &
 
nohup方式:
 但是我们很多程序并不象mysqld一样可以做成守护进程,可能我们的程序只是普通程序而已,一般这种程序即使使用 & 结尾,如果终端关闭,那么程序也会被关闭。为了能够后台运行,我们需要使用nohup这个命令,比如我们有个start.sh需要在后台运行,并且希望在后台能够一直运行,那么就使用nohup:
            nohup /root/start.sh &
          在shell中回车后提示:
          [~]$ appending output to nohup.out
      原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用

继续阅读