源代码里所给的example很简单,但大体上了模拟了其运行的过程,分三个部分。可参考里面的README文件:Configurarion(配置)、Running Scribe Server(运行服务器)、Logging messages(记录日志),先运行Scribe example来看看效果。
1.Example1:向已经启动的Server发送消息,验证是否被记录下来。
a.创建日志信息存放目录:
b.用example1.conf配置文件启动Scribe服务:mkdir /tmp/scribetest
c.开启另一个终端,使用scribe_cat 向scribe服务发送信息:scribed examples/example1.conf
echo "hello world" | ./scribe_cat test
Traceback (most recent call last):
File "./scribe_cat", line 24,in <module>
from scribe import scribe
ImportError:no module named scribe
export PYTHONPATH= ”/usr/lib/python2.6/site-packages” source /etc/profile
cat /tmp/scribetest/test/test_current #检查scribe状态(requires root): ./scribe_ctrl status #检查scribe连接数 (you should see 1 message 'received good'): ./scribe_ctrl counters #关闭scribe服务: ./scribe_ctrl stop
2. Example2:启动中心服务器和客户端服务器,然后开启一个终端并输入三条命令,并查看结果:
示意图如下:

执行如下命令:
#启动中央服务器
scribed example2central.conf &
#启动客户端服务器
scribed example2client.conf &
mkdir /tmp/scribetest2
scribed examples/example2central.conf
scribed examples/example2client.conf
echo "test message" | ./scribe_cat -h localhost:1464 test2
echo "this message will be ignored" | ./scribe_cat -h localhost:1464 ignore_me
echo "123:this message will be bucketed" | ./scribe_cat -h localhost:1464 bucket_mecat /tmp/scribetest/test2/test2_current cat /tmp/scribetest/bucket*/bucket_me_current ./scribe_ctrl status 1463 ./scribe_ctrl status 1464 ./scribe_ctrl counters 1463 #查看中心服务器的统计数据 ./scribe_ctrl counters 1464 #查看客户端服务器的统计数据
当客户端服务器讲收到的信息发送给中心服务器后,会删除本地的存储。结果显示:客户端收到三条消息,发送了三条消息;服务器端收到三条消息,忽略了一条消息。
3) Example3:如同Example2启动中心服务器和客户端服务器,但本例测试的是在中心服务器突然down掉的情况下,客户端服务器的缓冲存储功能。
echo "test message 1" | ./scribe_cat -h localhost:1464 test3 #发送消息1 cat /tmp/scribetest/test3/test3_current #结果:test message 1 ./scribe_ctrl stop 1463 #down掉中心服务器 ./scribe_ctrl status 1463 #结果:Failed to get status echo "test message 2" | ./scribe_cat -h localhost:1464 test3 #发送消息2 ./scribe_ctrl status 1464 #结果:WARNING - Failed to connect echo "test message 3" | ./scribe_cat -h localhost:1464 test3 #发送消息3 scribed examples/example2central.conf #重新启动中心服务器 ./scribe_ctrl status 1463 #结果:ALIVE ./scribe_ctrl status 1464 #结果:ALIVE cat /tmp/scribetest/test3/test3_current
结果:
test message 1 test message 2 test message 3
全部正常接收。