Zabbix详细安装步骤

1.创建ZABBIX的系统账号
为了安全起见建议创建使用zabbix用户运行ZABBIX.
useradd zabbix

假如服务器本身已经有规划好的执行用户,此步可以省略

2.解压:
tar xvzf zabbix-1.1beta12.tar.gz
3.创建 ZABBIX 数据库
mysql -u test -p
>create database zabbix;
>quit;

cd create/schema
cat mysql.sql |mysql -u root -p zabbix
cd ../data
cat data.sql |mysql -u root -p zabbix
cat images_mysql.sql |mysql -u root -p zabbix

4.编译:
服务器端+客户端的编译:
./configure –with-mysql –with-net-snmp –enable-server –enable-agent –prefix=/usr/local/zabbix
客户端只需执行:
./configure –prefix=/usr/local/zabbix –enable-agent
make
make install
cd /usr/local/zabbix/bin
for i in * ; do ln -s /usr/local/zabbix/bin/$i /usr/bin/$i ; done

5.配置:
(1).vi /etc/services
该文件是zabbix建议操作,可忽略:
加入:
zabbix_agent 10050/tcp
zabbix_trap 10051/tcp
(2) WEB interface
回到zabbix的编译目录,
vi frontends/php/include/db.inc.php
更改数据库相关内容:
$DB_TYPE =”MYSQL”;
$DB_SERVER =”localhost”;
$DB_DATABASE =”zabbix”;
$DB_USER =”root”;
$DB_PWD =”";
cp -rf frontends/php /usr/local/www/html/zabbix -R
chown zabbix /usr/local/www/html/zabbix/ -R
(3) 生成配置文件:
mkdir /etc/zabbix
cp misc/conf/* /etc/zabbix/
配置相关内容(以下内容请根据大家具体服务器的IP/MYSQL的账号情况做相应修改):
zabbix_agent.conf
grep -v ‘^#’ zabbix_agent.conf |grep -v ‘^$’
Server=10.5.21.46
Timeout=3
UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin -uroot -p ping|grep alive|wc -l
UserParameter=mysql.uptime,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f2 -d”:”|cut -f1 -d”T”
UserParameter=mysql.threads,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f3 -d”:”|cut -f1 -d”Q”
UserParameter=mysql.questions,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f4 -d”:”|cut -f1 -d”S”
UserParameter=mysql.slowqueries,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f5 -d”:”|cut -f1 -d”O”
UserParameter=mysql.qps,/usr/local/mysql/bin/mysqladmin -uroot -p status|cut -f9 -d”:”
UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V

继续阅读

发表在 Operating System | 标签为 , | 留下评论

信息泛滥

初中时代,老师告诉我们,我们即将进入一个信息爆炸的社会,你们要学习,学习,再学习。到了高中,老师说:21世纪是信息社会,谁先得到信息,谁就能获取胜利。到了博弈论里面就演变成了:成功者都是因为减少信息不对称。我想做个成功者,于是我想尽办法减少信息不对称,于是我注册了各种各样的社交网站,关注各种各样的我觉得有谱的信息,但突然有一天,有很多这样的同类社交网站诞生了,而且都宣称拥有很多用户,事实上也确实有很多用户。于是又诞生一个个类似hellotxt的网站,中国有嘀咕,饭否,叽歪等等,结果我现在打开网站得到的都是重复的信息,就像中国的几大门户网站一样。

于是我关闭FriendFeed ,Facebook,校内等等,我开始怀疑google的效能,我开始更多的关注语义搜索。

未来的世界,不是比拼谁能得到更多的信息,而是比拼谁更过滤掉无用的信息,语义搜索更好的传达了这一点。

所以新闻网站只要看一个就行了,社交网站也只要一个就可以,IM工具更只要一个……

忽然有一个想法,谁要是能做一个应用,把Facebook,twitter,校内,饭否,myspace等等网站聚合在一起,然后将一个用户可能看到的多条重复信息过滤之,这个应用应该能火起来。

发表在 Life Diary | 标签为 , | 留下评论

开发环境的三大规则

1)使用源码控制
2) 使用单步创建
3)跟踪程序缺陷

每个人都有自己偏好的事情和做事方法,无论在开发那种大规模应用程序时,他们都会严格遵循这些作诗方法。具体的做事原则取决于所选择的特定的开发方法理论,但还是有一些普遍规则实际上是放之四海而皆准。对于大型Web应用程序的开发领域而言,以上三条在成功开发团队中屡见不鲜。可能是规则这个次太夸张了,称之为指导方针可能更适合一些。当然,不去应用这三条简单的规则也是可行的,仍然可以产出可用的产品。但这三条规则能够帮助你避开小规模应用程序迁移到大型程序时常常遇到的问题,并且帮助你更快的完成这个迁移过程。

发表在 Study & Reading | 标签为 , | 2 条评论

PHP是可扩展的语言

PHP逐渐被大家认可为一种严肃的语言,但还是很多人声称它是不可扩展的。这显然不是事实–互联网上很多最大的应用就是使用PHP。PHP是能扩展的,原因回溯到什么是真正的扩展。对PHP的批评往往集中在根本的性能问题上,而被误解为是扩展方面的问题。

满足扩展的三个标准是可维护性,容易理解。任何语言都可以写出容易或者难以维护的代码,虽然有些语言让他们自己能写出极其难以维护的代码,比如Perl,但几乎没有语言是难以写出可维护代码(专门为这个设计的语言除外),通过遵循严格的代码风格知道原则和在代码中添加正确的注释,PHP系统可以很容易维护。

数据集增长是可扩展系统的第二个标准。在PHP应用中,数据存储和处理是完全分离的。我们完全不用去管多少数据存储在数据库中–不管多少数据,都采用相同的方式查询。PHP把数据集增长责任下方到存储层,这样就能随心所欲进行扩展而不用担心数据集的大小。

最后一个可扩展的标准是能容纳流量增长。PHP通过无共享体系结构实现这一点。PHP像HTTP一样是无状态的,所有的状态都由更低层次处理。PHP进程每次只响应一个请求,并且不能和服务于其他请求的进程通话。进程也无法在请求之间记住任何事。这种做法有效地隔离各个请求到独立空间中,在请求或进程之间不共享任何信息。如果需要取出上次请求的用户数据,并将它显示在下一请求中,那么就得使用底层数据存储追踪这些数据。由于这种进程和请求之间的分离,对于后续请求实际上没有必要使用同一台服务器,要处理更多的请求实际上只要通过简单的添加更多的Web服务器。他们都可以同事服务请求,并且进程之间没有任何共享数据。用户的首次请求某一台服务器,下一次则请求另一台服务器,以此类推。如果可以控制流量走向,避免他们流向僵死的服务器,那么这种分离也为无缝的故障转义提供了条件。当然这并非PHP独有,他是REST的基础原则之一。通过正确的系统设计,这个原则就可以得以应用,而不是在于具体的实现请求。

但不管怎么说,有时候确实需要状态共享。PHP中有几个扩展是无法做到无状态的,而且对于同一个用户,不能随意更改相应服务器。sessions扩展存放用户会话数据到本地磁盘,这要求同一用户的每个请求都访问同一台服务器。要避免这种情况,可以使用msession扩展,它使用中央网络守护进程存放绘画数据,或者自己手工存放回话数据,使用数据库或者内存缓存来实现。有些PHP扩展让PHP进程可以映射一块共享内存用于IPC。由于进程并不一定在同一台机器上,IPC实际是不可行的。作为替代方案,可以将这些行为交给下面的层次,在数据库或者内存缓存中存放共享数据。

如果不使用一些特定扩展,那么PHP符合可扩展系统的三个标准:容纳流量增长、允许数据集增长,并且能创建可维护的系统。

发表在 Study & Reading | 标签为 , | 留下评论

数据完整性策略

数据完整性是工程应用程序成功的关键。接收、处理、存储数据,其实就是应用程序的全部内容。无论你怎样变换数据,或采用什么新颖方式来展现它,允许它被查询,这一切的基础都在于你使用的数据是有价值的,否则这些都一文不值。

Web应用程序中的应用数据历来是最受保护的元素,这些数据被写到多个数据中的多台机器中。多重磁盘镜像或奇偶RAID配置即用来纺织数据丢失的。备份磁带和脱机备份周期用来丢失资料的恢复。很多防线可用于保护你的数据存储系统,但假如你的应用程序允许垃圾进入系统,那么这一切都是徒劳的。

所谓数据完整性策略(常用缩写DIP)其实就是一套规则和规章,他们关心的是应用程序如何做到存储和输出预期数据。它应该涵盖一切内容,从检查数据是否符合所用字符集和编码,到过滤无用的字符,再到环境的完整性等等,比如确保存储标记是符合规范。

可行的数据完整性策略基于一个基本的原则,即应用程序的内部数据是有用的。换句话说,引入的数据在便捷处被过滤,以过来后的结果存储。在输出数据时不需要再做任何处理。这种做法是明智的,它有两个重要原因:

首先,在过滤方面所做的努力不是毫无价值的,尤其是在编码转化和语法检查方面。Web应用程序通常很多次输出一块存储数据,次数远多于数据注入次数(只发生一次)。在输入时转换,那么只需要进行一次,而不是在每个鼠兔上都进行。

其次,通常一段应用程序,其输出和输入相比,输入的内容要少得多,如果应用程序让您给一个条目加标题,那么加标题只在一个地方发生,而展示这个标题却可以发生在许多环境中。通过数据边界进行过滤,可以激昂地输出是的编码复杂程度,这将降低整体的代码长度。输出可以做到非常简单,只是直接从数据库中读取并编码内容,而且知道读取的那些内容总是有效的,但并非所有都一定要预先执行。比如某人为一个对象选择一个标题,当标题显示在Web页面或者XML文档中时,他需要转义4个XML元字符(<、>、”和&)。但如果它现在在电子邮件或者JavaScript中,则不需要转义(或者需要不同种类的转义)。

发表在 Study & Reading | 标签为 , | 留下评论

呼啦啦就毕业了

方波同学的博客上偷两张照片过来,贴在这里留个纪念吧,本来以为开心的进入大学会开心的走,走的时候,才发现心里很难受,拎着行李站在车上,看着站台送行的四年的兄弟,勉强的挤出点笑容朝他们挥手。

在这个搞怪横行的社会里,穿上学士服弄点怪,也算是在巨大的阴霾的压力下,也算是给自己减减压,前途是光明的,道路是曲折的。

有门路的走门路,有产业的找产业,没有产业的找理想,没有理想的随波逐流,我还是相信一句话:理想在没有成为现实之前,那只是理想,不要觉得有个理想了不起,这个世界上遍地都是理想。

发表在 Life Diary | 标签为 , | 2 条评论

怎样写毕业论文?

18岁以下,勿读分割线以下内容,本文有害你的身心健康……

=======================================

我不认为我是一个标题党,虽然我下面的内容不配这个标题,读完这篇文章或许不能让你立刻写出一手漂亮的毕业论文,但画龙贵在点睛,或许给帮需要的后来人一个思路,我可以大胆的预言,这个思路在十年内都是有效的,除非哪天中国的教育体制从根本上改变了,而这种可能性几乎为零,因为老师们也是这样写论文的,改变规则就意味着他们不能再轻松的获得研究经费,用来买车,买房,甚至买厕纸……

进入正题。在互联网如此发达的今天,很多同学的论文的第一手材料都来自于互联网,其次才是文献。小学的时候我听高年级的同学说:天下文章一大套,看你会套不会套!到了大学,这句话演变成了:天下文章一大抄,看你会抄不会抄!可见今日校园之风气。

其实说抄有点难听,写过论文的都知道,都有硬性要求引用参考文献的数量及种类数。比如我们要求至少引用10篇参考文献,其中英文文献不得少于5篇。而整个毕业论文要求的字数是1万2千字,要引用这么多文献,每个“引用”个一段两段的,字数就上万了,自己再添加个开头结尾的,论文就整完了。事实上老师们用了几年甚至几十年的招数,他就是不让你用,老师们都很狡猾的,他们回去晚上找一下你的参考文献,然后找到你“引用”的页数,所以你如果想大段的“引用”,最好能更改一下语句顺序,一般老师都会睁一只眼闭一只眼放你过了,如果你稍微高级一点,那就理解一下作者的意思吧,然后用自己的话写出来,高级一点的教授或者博士同志就是这么干的,这样就找不到罪证了。

这里要提醒一下的是千万不要照抄互联网上的内容,比如你看到某博客上某文写的非常的好,于是你“引用”了几百字,老师们都是很聪明的,他也会觉得这段写的非常好,这里我们假定这个老师是负责的,看过你的论文,假如你碰到一个整天说“忙死了”的老师,那是你的幸运,另当别论。如果老师觉得这段写的好,他会挑几个关键词google之,你的马脚很容易露馅了,结果有两种,一种是发现的比较早,勒令重写论文;一种是发现晚了,那么你等着二次答辩吧,这个玩意是很痛苦的。

假如你觉得肚子里实在没什么墨水或者自己在创业,实在没有时间写论文,找人代笔,那也行。中国五千年的灿烂文明,造就了中国复杂的人际营销市场。老师们都是很清高的,送钱是绝对不会要的,收下了,一来他会觉得自己良心不安的,毕竟都是读书人嘛,二来,老师们都是公务员待遇,平时买包厕纸都有的报销的,根本不稀罕你那几个铜板。其实书生的肚量都不是很大的,送个礼不需要很多钱,只要能讨欢心即可,比如你的教授自己很喜欢泡图书馆或者是领导,那么你送一支派克笔是不错的选择,这玩意,超市买一支,便宜点也才两三百块钱,一般老师分辨不出来两千块和两百块的派克笔,当然价格上万的金笔就不一样了。搞计算机的老师一般都喜欢折腾,送个能折腾的东西也是很不错的,比如高档点的蓝牙耳机,前提是你侦查到他有支持蓝牙设备,森海塞尔的有线耳机也是不错的,年级大一点的可以送盒茶叶等等,总之能让你的老师开心即可。

本文非常邪恶,完全属于河蟹范畴,看官切勿模仿之,如确需模仿,切勿照搬,因地制宜修改一下亦可,本文遵循BSD协议,因此完全没有强制约束要把你的修改版也放出来共享,看官可独享也!

发表在 Life Diary | 标签为 | 留下评论

Windows Vista/Win 7下安装P2P终结者-8月20日更新

  • 下载Winpcap 4.0.2及以上版本,P2P终结者是基于这个windows平台的著名网络管理工具制作的,截至写作本文时(2009-05-03)P2P 3.6和最新的4.04内置的版本都过低,不能在vista 及以上版本使用。
  • 下载npptools.dll文件,因为Vista 或者window 7 中都没有这个dll文件,这个文件是window XP中用来管理ARP的工具,P2P终结者是通过修改和使用npptools来实现路由欺骗把自己伪装成路由器,从而实现对子网内计算机进行控制。我从XP中找了这个文件,可以通过Box.net 下载npptools.dll
  • p2p终结者官方网站下载P2P终结者,最新版是4.04,不过我不习惯这个界面,所以一直使用3.6版本。安装之后,以管理员权限启动即可。
  • 2009-08-20 更新:由于box.net被和谐,可以到大米盘下载:npptools.dll
  • 2009-10-15更新:最近发现大米盘也不稳定,增加 纳米盘下载
发表在 Tools | 标签为 , | 2 条评论

twitter tools 修改版发布

昨晚稍微改动了一下,wordpress的twitter tools插件代码,使它能在调用最新twitter信息的时候能够根据需要决定是否取出最新的几条信息,默认值是最新的一条,并且在最外面套上了ul标签,每条消息用li标签套住。这样方便做对在页面css中对插件输出作出适当的控制。输出的具体格式如下

<ul>
      <li> 我怎么这么晚还没睡?
      <a href="http://twitter.com/muxi/statuses/1615269841">11 hrs ago</a>
       </li>
       <li> 终于开始写论文了,神啦,我这么懒!!
       <a href="http://twitter.com/muxi/statuses/1615229846">11 hrs ago</a>
       </li>
       <li> css => cross site scripting
       <a href="http://twitter.com/muxi/statuses/1311036569">2009-03-11</a>
       </li>
   </ul>

调用方法如下:

<?php aktt_latest_tweet($number); ?>

$number这个参数是可选的,默认是取出最新一条twitter信息,根据需要输入你需要的数字,比如我用的是3
使用这个插件需要注意的是不能同cos-html-cache这个插件一同使用,因为江东的这个插件要只有在文章更新的时候才会重新生成新的HTML页面,假如你跟我一样,选择将twitter信息放在首页,那么只能取消这个插件了。
等我有时间的时候会自己写个高定制度的HTML页面缓存插件 :)
最所以在这里发布修改过的 twitter tools 插件,主要是因为这个插件使用的是GPL协议,也考虑到会有朋友需要更新几条信息。虽然twitter tools 有内置的sidebar的函数,似乎并好用,标签冗余比较多。

修改版twitter tools 下载:Box.net

发表在 Programming | 标签为 | 3 条评论

Improving Running Components at Twitter

发表在 Study & Reading | 标签为 | 留下评论