漫长的夏日正在一点一点的划过。
最近晚上还算是比较凉快,不会酷热难眠,白天在小屋看书的时候,有一个电扇陪伴,也是很不错的。
要表扬一下我现在这个电扇,居然还带遥控器,有自然风和睡眠风可选,还可以最长定时13小时,购买时的价钱也就100多块钱。我觉得买电扇一定得有自然风的选择,不然一直吹着不仅浪费电能,而且时间稍长就容易感冒,实在不爽。顺便再说一下空调,我现在尽量不开空调,屋子里这个空调太不舒服,忽冷忽热的,睡觉都在担心冻着,我猜变频空调应该能解决这个问题吧,以后家里再买新空调,一定要买变频的。据我的理解,变频的主要目的在与调整电机转速,来达到温和的调节温度的目的吧。
周六去看了电影《海洋天堂》,本来觉得这个电影在电脑上看也够了,但后来看也没啥别的片子可看了,而且《海洋天堂》里面有桂纶镁啊,呵呵,于是就去了。片子确实不错,不时听到周围抽泣的声音。我没哭,但不代表片子不让人感动。
周日上午继续练车,最近研究了好多车,纠结买车还是不买,纠结买自动挡还是手动挡,解决一步到位还是先买个凑合着用。现在练习的是北京现代的悦动自动挡,觉得自动挡的车真是方便啊,起步太简单了,一起等红灯的车,都不是我的对手,哈哈。三次总计八个小时的练习后,我觉得对车的感觉很有长进,现在在路上一点都不害怕了,当然人多的无护栏的路上,还是得小心翼翼的。新奥托看上去不错,好多同事朋友推荐,但居然没有现车,最新发布的新赛欧貌似也不错的样子,不管三厢还是两厢都挺好。想想有了自己的车,周末就可以扩大一点活动范围了,哈哈。
晚上继续看电影,懒得开动投影机了,就戴着耳机在22寸的显示器上看希区柯克的《惊魂记》,之前看了几个希区柯克的电影,确实名不虚传,虽然大多是黑白的老片子,但情节紧凑,不落俗套。这次的《惊魂记》依旧没有让我失望,貌似在IMDB TOP250的列表中,希区柯克的电影不少,加油加油。
再顺便说说我最近用过的耳机,声海品牌的有MX360,PX100,HD238,最早时候还用过MX500,但不知道是不是买到了假货,没啥感觉。MX360感觉不错,耳塞式的,就是有点大,或是我耳朵有点小,时间长了感觉硌的慌,音质不错,尤其低音。PX100戴上很舒服,不捂不热,声音也不错,物美价廉,HD238算是我听过的最高档的耳机了,声音清澈真实,细节丰富,不愧是HD系列的。后来还想过HD600或者HD650,但后来一看,还需要单独的耳机放大器,于是放弃了这个烧钱的无底洞。
最近工作上还算正常,把之前在SINA做过的东西又复习了一遍,比如各种消息系统啦,好友关注系统啦,好友动态之类的,又重新实现了一遍,我觉得很有收获,每次重新考虑这些问题,都会有新的改进和新的想法,不光是数据库的设计的改进,在PHP程序的设计和开发上,也有各种各样新技术的实践。我很开心。
rsyslogd 日志服务 参考
一,简介
rsyslogd是一个加强版的syslogd,具有各种各样的新功能,典型的有:
1,直接将日志写入到数据库。
2,日志队列(内存队列和磁盘队列)。
3,灵活的模板机制,可以得到多种输出格式。
4,插件式结构,多种多样的输入、输出模块。
二,下载、安装
下载地址:
http://www.rsyslog.com/Downloads-index-req-viewdownload-cid-1-orderby-dateD.phtml
安装:
经典的tar zxvf,configure,make,make install过程。
三,配置示例:
以下rsyslog.conf只有5行,但实现了udp日志接收、将日志写入到文件、将日志写入到数据库的功能。
$ModLoad imudp.so # provides UDP syslog reception
$UDPServerRun 518 # start a UDP syslog server at standard port 514
*.* /tmp/rsys.log
$ModLoad ommysql
*.* :ommysql:192.168.120.67,log,mg,123qwe
详细配置示例,参见:
http://www.rsyslog.com/doc-sample.conf.html
四,syslog客户端
rsyslogd可以兼容系统原有的syslog配置文件,可以近乎完美的替换掉原有的syslogd。
但我希望rsyslogd是一个独立的系统,所以我将其配置为侦听518 UDP端口的独立服务器。
然后我使用PHP语言编写了一个简单的syslog客户端,通过UDP协议,直接将日志消息发送给
rsyslogd日志服务,达到最大的灵活性。
以下是syslog客户端代码:
function mgsyslog($level,$msg)
{
$server=”192.168.120.67″;
$port=518;
$facility=1;
$pid=posix_getpid();
$process=”PHP[${pid}]“;
$actualtime = time();
$month = date(“M”, $actualtime);
$day = substr(“ “.date(“j”, $actualtime), -2);
$hhmmss = date(“H:i:s”, $actualtime);
$timestamp = $month.” “.$day.” “.$hhmmss;
$hostname=gethostname();
$pri = “<”.($facility*8 + $level).”>”;
$header = $timestamp.” “.$hostname;
$message = substr($pri.$header.” “.$process.”: “.$msg, 0, 1024);
$fp = fsockopen(“udp://”.$server, $port, $errno, $errstr);
if ($fp)
{
fwrite($fp, $message);
fclose($fp);
return true;
}
return false;
}
具体的syslog协议可以参见RFC3164。
五,总结
PHP的所有日志都可以使用上面定制的syslog客户端发送到集中的日志服务器。
然后可以集中查看、处理。
另外,一个方便的WEB日志查看器可以在下面的地址获得:
http://loganalyzer.adiscon.com/
安装简单方便,用起来也不错。
HAProxy TCP 负载均衡与数据转发 参考
配置文件重要参数:
global
maxconn 65535 #最大连接数,HAProxy是数据转发,每条数据链路占用两个连接。
uid 99 #运行身份
gid 99 #运行身份
#daemon #daemon方式运行
#debug #调试方式运行
#quiet #静默方式运行
defaults
timeout connect 86400s #连接超时,超过设置时间,HAProxy会主动断开双方连接。
timeout server 86400s
timeout client 86400s
listen db_3601 0.0.0.0:13601 #设置转发实例
mode tcp #tcp模式,只转发,不分析
option tcpka
option srvtcpka
option clitcpka
balance roundrobin #均衡算法
server db_47_3601 192.168.120.47:3601 check inter 1000 rise 1 fall 2 #目标服务器定义
server db_48_3601 192.168.120.48:3601 check inter 1000 rise 1 fall 2 #目标服务器定义
命令行重要参数:
-D goes daemon #设置为daemon方式运行
-p writes pids of all children to this file #将pid写入到文件中
-sf/-st [pid ]* finishes/terminates old pids. Must be last arguments. #替换原有进程
-f <cfgfile> #指定配置文件
如何在更新配置文件后,快速重启服务:
通过-st指定原有进程的pid:
haproxy -f /apps/haproxy/db.cfg -p /apps/haproxy/db.pid -D -st 26611
简单数据转发示例:
listen db_3608 0.0.0.0:13608
mode tcp
option tcpka
option srvtcpka
option clitcpka
balance roundrobin
server db_47_3608 192.168.120.47:3608
简单负载均衡示例:
listen http_8080 0.0.0.0:8080
mode tcp
option tcpka
option srvtcpka
option clitcpka
balance roundrobin
server http_69_80 192.168.120.69:80
server http_67_80 192.168.120.67:80
简单TCP健康检查示例:
server http_67_80 192.168.120.67:80 check inter 1000 rise 1 fall 2
其中:
check为健康检查指令。
inter 1000表示检察时间间隔为1000毫秒。
rise 1表示检查成功一次即将其标识为可用。
fall 2表示检查失败两次即将其标识为不可用。
简单数据库健康检查实例:
option mysql-check
server http_67_80 192.168.120.67:80 check inter 1000 rise 1 fall 2
简单主备模式数据转发:
listen http_8080 0.0.0.0:8080
mode tcp
option tcpka
option srvtcpka
option clitcpka
balance roundrobin
server http_69_80 192.168.120.69:80 check
server http_67_80 192.168.120.67:80 backup check #待实践
附:balance使用参考:
简单数据转发:
balance 8080 192.168.120.69:80
简单负载均衡:
balance 8080 192.168.120.69:80 192.168.120.67:80
调试用途:
balance 11211 192.168.120.69:80 -p -d -f
编译好的64位Linux版本的HAProxy和Balance可以在下面的地址快速下载:
http://bbs.xmgu2008.org/tools/balance
http://bbs.xmgu2008.org/tools/haproxy