给ubuntu服务器安装MRTG监控软件

一:安装网络流量监视[默认5分钟采集一次]

切换到超级用户:
sudo -sH

安装软件:
apt-get install apache2
apt-get install mrtg
apt-get install snmpd

编辑snmpd:
vim /etc/snmp/snmpd.conf

查找到类似的行,修改为如下所示:(仅仅修改屏蔽或放开)
# sec.name source community
# com2sec paranoid default public # kommentieren
com2sec readonly default public # <- auskommentieren
#com2sec readwrite default private

重启snmpd服务:
/etc/init.d/snmpd restart

重新生成mrtg的配置文件:
cfgmaker public@localhost > /etc/mrtg.cfg

(注意)如果仅仅监视一个IP地址采用如下命令:
cfgmaker public@192.168.0.1 >> /etc/mrtg.cfg

生成mrtg的主页:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

访问:
http://localhost/mrtg/

二安装CPU负载监视[默认5分钟采集一次]

切换到超级用户:
sudo -sH

安装软件:
apt-get install sysstat

建立CPU脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.cpu
#!/bin/bash
cpuusr=`/usr/bin/sar -u 1 3 | grep Average | awk ‘{print $3}’`
cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk ‘{print $5}’`
UPtime=`/usr/bin/uptime | awk ‘{print $3""$4""$5}’`
echo $cpuusr
echo $cpusys
echo $UPtime
hostname

使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.cpu

修改 /etc/mrtg.cfg 在文件最后加入cpu项目
Target[cpu]: `/opt/mrtg/mrtg.cpu`
MaxBytes[cpu]: 100
Options[cpu]: gauge, nopercent, growright
YLegend[cpu]: CPU loading (%)
ShortLegend[cpu]: %
LegendO[cpu]: &nbsp; CPU us;
LegendI[cpu]: &nbsp; CPU sy;
Title[cpu]: CPU Loading
PageTop[cpu]: <H1>CPU Loading</H1>

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

 

三安装WWW连接数监视[默认5分钟采集一次]

切换到超级用户:
sudo -sH

建立WWW脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.www
#!/bin/bash
all=`netstat -a | grep www|awk ‘{print $5}’|sort | wc -l|awk ‘{print$1 – 1}’`
user=`netstat -a | grep www|awk ‘{print $5}’|cut -d":" -f1|sort| uniq |wc -l | awk ‘{print $1 – 1}’`
if [ "$all" = "-1" ]; then
echo 0
else
echo $all
fi
if [ "$user" = "-1" ]; then
echo 0
else
echo $user
fi
UPtime=`/usr/bin/uptime | awk ‘{print $3 " " $4 " " $5}’`
echo $UPtime
hostname

使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.www

修改 /etc/mrtg.cfg 在文件最后加入www项目
Target[www]: `/opt/mrtg/mrtg.www`
MaxBytes[www]: 500
Options[www]: nopercent, growright
YLegend[www]: Online Users
ShortLegend[www]: %
LegendI[www]: &nbsp; Connect :
LegendO[www]: &nbsp; Online :
Title[www]: WWW Connect
PageTop[www]: <H1> WWW Connect </H1>

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

 

 

四安装内存使用监视[默认5分钟采集一次]

切换到超级用户:
sudo -sH

建立RAM脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.ram
#!/bin/bash
# run this script to check the mem usage.
totalmem=`/usr/bin/free |grep Mem |awk ‘{print $2}’`
usedmem=`/usr/bin/free |grep Mem |awk ‘{print $3}’`
UPtime=`/usr/bin/uptime | awk ‘{print $3""$4""$5}’`
echo $totalmem
echo $usedmem
echo $UPtime
hostname

使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.ram

修改 /etc/mrtg.cfg 在文件最后加入ram项目
Target[ram]: `/opt/mrtg/mrtg.ram`
#Unscaled[ram]: dwym
MaxBytes[ram]: 2048000
Title[ram]:Memory
ShortLegend[ram]: &
kmg[ram]:kB,MB
kilo[ram]:1024
YLegend[ram]: &nbsp; Memory Usage :
Legend1[ram]: &nbsp; Total Memory :
Legend2[ram]: &nbsp; Used Memory :
LegendI[ram]: &nbsp; Total Memory :
LegendO[ram]: &nbsp; Used Memory :
Options[ram]: growright,gauge,nopercent
PageTop[ram]:<H1>Memory</H1>

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

 

 

五安装FTP连接数监视[默认5分钟采集一次]

切换到超级用户:
sudo -sH

建立FTP脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.ftp
#!/bin/bash
all=`netstat -a | grep ftp|awk ‘{print $5}’|sort | wc -l|awk ‘{print$1 – 1}’`
user=`netstat -a | grep ftp|awk ‘{print $5}’|cut -d":" -f1|sort| uniq |wc -l | awk ‘{print $1 – 1}’`
if [ "$all" = "-1" ]; then
echo 0
else
echo $all
fi
if [ "$user" = "-1" ]; then
echo 0
else
echo $user
fi
UPtime=`/usr/bin/uptime | awk ‘{print $3 " " $4 " " $5}’`
echo $UPtime
hostname

使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.ftp

修改 /etc/mrtg.cfg 在文件最后加入ftp项目
Target[ftp]: `/opt/mrtg/mrtg.ftp`
MaxBytes[ftp]: 500
Options[ftp]: nopercent, growright
YLegend[ftp]: Online Users
ShortLegend[ftp]: %
LegendI[ftp]: &nbsp; Connect :
LegendO[ftp]: &nbsp; Online :
Title[ftp]: FTP Connect
PageTop[ftp]: <H1> FTP Connect </H1>

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

 

六安装CPU温度监视[默认5分钟采集一次]

切换到超级用户:
sudo -sH

安装软件:
apt-get install mbmon

建立CPU温度脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.temp
#!/bin/bash
/usr/bin/mbmon -c 1 -i -T 4 -u -n
exit 0

使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.temp

修改 /etc/mrtg.cfg 在文件最后加入cpu项目
Target[temp]: `/opt/mrtg/mrtg.temp`
MaxBytes[temp]: 100
Title[temp]: CPU Temperature
PageTop[temp]: <H1>CPU Temperature</H1>
Options[temp]: gauge,absolute,unknaszero,growright
YLegend[temp]: Temperature(C)
ShortLegend[temp]: (C)
Legend1[temp]: CPU Temperature
Legend2[temp]: M/B Temperature
LegendI[temp]: CPU Temp.
LegendO[temp]: M/B Temp.

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

 

七硬盘读写监视[默认5分钟采集一次]

切换到超级用户:
sudo -sH

建立硬盘读写脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.disk
#!/bin/bash
hd=sda
disk=/dev/$hd
UPtime=`/usr/bin/uptime |awk ‘{print $3""$4""$5}’`
KBread_sec=`iostat -x $disk|grep $hd |awk ‘{print 8$}’`
KBwrite_sec=`iostat -x $disk|grep $hd |awk ‘{print 9$}’`
echo $KBread_sec
echo $KBwrite_sec
echo $UPtime
hostname

使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.disk

修改 /etc/mrtg.cfg 在文件最后加入硬盘读写
Target[disk]: `/opt/mrtg/mrtg.disk`
Title[disk]: Disk HDA I/O Utilization Report
#Unscaled[disk]: dwym
MaxBytes[disk]: 10240000
PageTop[disk]: <H1>Disk I/O Utilization Report</H1>
kmg[disk]: KB,MB,GB
LegendI[disk]: Disk I/O KBread/sec
LegendO[disk]: Disk I/O KBwrite/sec
Legend1[disk]: Disk I/O KBread/sec
Legend2[disk]: Disk I/O KBwrite/sec
YLegend[disk]: Megabytes
ShortLegend[disk]: &
Options[disk]: growright,gauge,nopercent

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

 

八:磁盘使用

切换到超级用户:
sudo -sH

建立磁盘使用脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.df
#!/usr/bin/perl
foreach $filesystem (`df -kl | grep -v "Filesystem"`)
{
@df = split(/\s+/,$filesystem);
$total += $df[1];
$usage += $df[2];
}
print "$total\n";
print "$usage\n";
hostname

使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.df

修改 /etc/mrtg.cfg 在文件最后加入
Target[disk]: `/opt/mrtg/mrtg.df`
Title[disk]: Disk Space
Unscaled[disk]: dwym
MaxBytes[disk]: 465247550
kmg[disk]: KB,MB,GB
LegendI[disk]: Total Disk Space
LegendO[disk]: Used Disk Space
Legend1[disk]: Total Disk Space
Legend2[disk]: Used Disk Space
YLegend[disk]: Megabytes
ShortLegend[disk]: &
Options[disk]: growright,nopercent
PageTop[disk]: <H1>Disk Space</H1>

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

九:交换分区

切换到超级用户:
sudo -sH

建立交换分区脚本:
mkdir /opt/mrtg
vim /opt/mrtg/mrtg.swap
#!/bin/bash
# This script to monitor the swap usage.
totalswap=`/usr/bin/free |grep Swap |awk ‘{print $2}’`
usedswap=`/usr/bin/free |grep Swap |awk ‘{print $3}’`
echo "$totalswap"
echo "$usedswap"

使脚本可以执行:
chmod +755 /opt/mrtg/mrtg.swap

修改 /etc/mrtg.cfg 在文件最后加入
Target[swap]: `/opt/mrtg/mrtg.swap`
MaxBytes[swap]: 2048000
Title[swap]:Memory State of Server
ShortLegend[swap]: &
kmg[swap]:kB,MB
kilo[swap]:1024
YLegend[swap]: Swap Usage
Legend1[swap]: Total Swap
Legend2[swap]: Used Swap
LegendI[swap]: Total Swap
LegendO[swap]: Used Swap
Options[swap]: growright,gauge,nopercent
PageTop[swap]:<H1>Swap</H1>

重新生成索引页面:
indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html

* Target[裝置名稱]:

o Target[adj.idv.tw_2]: 2: public@192.168.1.2
上面是一般的用法,其中半括號內的是裝置的名稱,同一個裝置的各參數中,這個名稱要一致!

o Target[adj.idv.tw_3]:`/usr/local/apache/htdocs/mrtg/cpu/mrtg.cpu`
後面接的是一個自訂的加掛的可執行檔案,這個檔案執行之後,會顯示四個數據,這樣就可以繪圖了!在繪製非 MRTG 程式的預設咚咚中,這個是最常使用的方法了!

* MaxBytes[裝置名稱]:

o MaxBytes[adj.idv.tw_2]: 1250000
後面的數字代表資料監測時,最大的傳送速率,使用 bytes,所以 10Mbps 則為 1.25MBytes,大約是 1250000 Bytes。這個數值程式會自動判斷啦!不過你也可以自己修改,用到這個數字的時候是在你的圖表下方,每一個說明後面的(xx%)時用到的。

o MaxBytes[adj.idv.tw_3]: 100
如果你的資料並不是 Bytes 時,例如監測 CPU 負載率時,那這個數值就需要改變啦!

* Options[裝置名稱]:

o Options[adj.idv.tw_2]: growright, bits (用在網路流量中)
o Options[adj.idv.tw_3]: growright, nopercent, gauge (用在 CPU 負載中)

growright:將資料隨時間變化的順序以右而左繪圖;
bits:資料單位為 bits;
nopercent:在圖下方的說明文字中,不顯示百分比;
gauge:圖表的上限固定!

最终效果:

 

 

 

mrtg.jpg

今天把ye55.cn注册了回来

手上的域名:

ye55.com

ye55.net

ye55.cn

phpd.cn

之前因为ye55.cn被别人抢注,但前段时间域名过期,过期后一直关注着这样域名,今天发现可以注册了,就赶紧把它注册了下来。。

现在算是把ye55整套域名拿了下来,虽然并不是好米,但确对我来说有着重要的意义!

要不学学这年薪10万的乞丐

年薪10万的乞丐给我上了震撼的一课
我拎着刚买的levi’s从茂业出来,站在门
口等一个朋友。一个职业乞丐发现了我,非常专业的、径直的停在我面
>> 前。这一停,于是就有了后面这个让我深感震撼的故事,就象上了一堂生动的市场
调查案例课。为了忠实于这个乞丐的原意,我凭记忆尽量重复他原来的话。
>>
“先生……行行好,给点吧。”我一时无聊便在口袋里找出一个硬币扔给他并同他
攀谈起来。
>>
>> 乞丐很健谈。“……我只在华强北一带乞讨,你知道吗?我一扫眼就见到你。在茂
业买levi’s,一定舍得花钱……”
>> “哦?你懂的蛮多嘛!”我很惊讶。
>>
>> “做乞丐,也要用科学的方法。”他说。
>>
>> 我一愣,饶有兴趣地问“什么科学的方法?”
>>
>> “你看看我和其他乞丐有什么不同的地方先?”我仔细打量他,头发很乱、衣服很
破、手很瘦,但都不脏。
>>
>> 他打断我的思考,说:“人们对乞丐都很反感,但我相信你并没有反感我,这点我
看的出来。这就是我与其他乞丐的不同之处。”
>>
>> 我点头默认,确实不反感,要不我怎么同一个乞丐攀谈起来。
>>
>> “我懂得swot分析,优势、劣势、机会和威胁。对于我的竞争对手,我的优势是我
不令人反感。机会和威胁都是外在因素,无非是深圳人口多和深圳将要市容整改等。

>> “我做过精确的计算。这里每天人流上万,穷人多,有钱人更多。理论上讲,我若
是每天向每人讨1块钱,那我每月就能挣30万。但是,并不是每个人都会给,而且每天
也讨不了这么多人。所以,我得分析,哪些是目标客户,哪些是潜在客户。”他润润嗓
子继续说,“在华强北区域,我的目标客户是总人流量的3成,成功几率70%。潜在客户
占2成,成功几率50%;剩下5成,我选择放弃,因为我没有足够的时间在他们身上碰运气。”
>>
>> “那你是怎样定义你的客户呢?”我追问。
>>
>> “首先,目标客户。就像你这样的年轻先生,有经济基础,出手大方。另外还有那
些情侣也属于我的目标客户,他们为了在异性面前不丢面子也会大方施舍。其次,我把
独自一人的漂亮女孩看作潜在客户,因为她们害怕纠缠,所以多数会花钱免灾。这两类
群体,年龄都控制在20~30岁。年龄太小,没什么经济基础;年龄太大,可能已结婚,
财政大权掌握在老婆手中。这类人,根本没戏,恨不得反过来找我要钱。”
>>
>> “那你每天能讨多少钱。”我继续问。
>>
>> “周一到周五,生意差点,两百块左右吧。周末,甚至可以讨到四、五百。”
>>
>> “这么多?”
>> 见我有些怀疑,他给我算了一笔帐。“和你们一样,我也是每天工作8小时,上午11
点到晚上7点,周末正常上班。我每乞讨1次的时间大概为5秒钟,扣除来回走动和搜索
目标的时间,大概1分钟乞讨1次得1块钱,8个小时就是480块,再乘以成功几率
60%[(70%+50%)÷2],得到将近300块。”
>>
>> “千万不能黏着客户满街跑。如果乞讨不成,我决不死缠滥打。因为他若肯给钱的
话早就给了,所以就算腆着脸纠缠,成功的机会还是很小。不能将有限的时间浪费在无
施舍欲望的客户身上,不如转而寻找下一个目标。”
>> 强!这个乞丐听上去真不可貌相,倒像是一位资深的市场营销总监。
>>
>> “你接着说。”我更感兴趣了,看来今天能学到新的东西了。
>> “有人说做乞丐是靠运气吃饭,我不以然。给你举个例子,女人世界门口,一个帅
气的男生,一个漂亮的女孩,你选哪一个乞讨?”
>>
>> 我想了想,说不知道。
>>
>> “你应该去男的那儿。身边就是美女,他不好意思不给。但你要去了女的那边,她
大可假装害怕你远远地躲开。”
>>
>> “再给你举个例子。那天cocopark门口,一个年轻女孩,拿着一个购物袋,刚买完
东西;还有一对青年男女,吃着冰淇淋;第三个是衣着考究的年轻男子,拿着笔记本
包。我看一个人只要3秒钟,我毫不犹豫地走到女孩面前乞讨。女孩在袋子里掏出两个
硬币扔给我,并奇怪我为什么只找她乞讨。我回答说,那对情侣,在吃东西,不方便掏
钱;那个男的是高级白领,身上可能没有零钱;你刚从超市买东西出来,身上肯定有零钱。”
>>
>> 有道理!我越听越有意思。
>>
>> “所以我说,知识决定一切!”我听十几个总裁讲过这句话,第一次听乞丐也这么说。
>>
>> “要用科学的方法来乞讨。天天躺在天桥上,怎么能讨到钱?走天桥的都是行色匆
匆的路人,谁没事走天桥玩,爬上爬下的多累。要用知识武装自己,学习知识可以把一
个人变得很聪明,聪明的人不断学习知识就可以变成人才。21世纪最需要的是什么?就
是人才。”
>>
>> “有一次,一人给我50块钱,让我替他在楼下喊‘安红,我想你’,喊100声。我一
合计,喊一声得花5秒钟,跟我乞讨一次花费的时间相当,所得的酬劳才5毛钱,于是我
拒绝了他。”
>>
>>
>> “在深圳,一般一个乞丐每月能讨个千儿八百。运气好时的大概两千多点。全深圳
十万个乞丐,大概只有十个乞丐,每月能讨到一万以上。我就是这万里挑一中的一个。
而且很稳定,基本不会有很大的波动。”
>>
>> 太强了!我越发佩服这个乞丐了。
>>
>> “我常说我是一个快乐的乞丐。其他乞丐说是因为我讨的钱多,所以快乐。我对他
们说,你们正好错了。正是因为我有快乐、积极的心态,所以讨的钱多。”
>>
>> 说的多好啊!
>>
>> “乞讨就是我的工作,要懂得体味工作带来的乐趣。雨天人流稀少的时候,其他乞
丐都在抱怨或者睡觉。千万不要这样,用心感受一下这坐城市的美。晚上下班后带着老
婆孩子逛街玩耍看夜景,一家三口其乐融融,也不枉此生了。若是碰到同行,有时也会
扔个硬币,看着他们高兴的道谢走开,就仿佛看见自己的身影。”
>>
>>
>> “你还有老婆孩子?”我不禁大声赞叹,引来路人侧目。
>>
>> “我老婆在家做全职太太,孩子念小学。我在福田区按揭了一套房,十年分期,还
差六年就还清了。我要努力挣钱,供我儿子读大学念市场营销专业,然后子承父业当一
个比我更出色的乞丐。”
>>
>>
>> “我5年前在微硬中华大区做市场策划,2年前升为营销经理,月薪5千。那时按揭了
一台1万多的三星笔记本,每个月还款2千,要死要活的。后来我想这样永远也出不了
头,就辞职不干了,下海来做乞丐,我愿意做一个高素质的乞丐。”
>>
>> 听完,我激动地说:“你有没有兴趣收我做徒弟…… `

使用DBDesigner4进行mysql5建模

DBDesigner4.0.5.6_Setup.exe下载地址:

http://www.fabforce.net/downloadfile.php

官方网站下载的DBDesinger 4中是不能连接MySQL 5的,那是驱动的原因,可以到http://crlab.com/dbx/download.html 下载最新版的驱动,安装好后,复制安装目录中的dbexpmda.dll到DBDesigner的目录当中,还需要下载最新版本的libmysql.dll,同样复制到DBDesigner的目录当中.

驱动准备好了,打开DBDesigner,新建一个MySQL连接,在Advanced修改GetDriverFunc为getSQLDriverMySQL,这是因为新版驱动对函数名称做了修改的缘故,还要修改LibraryName为dbexpmda.dll,现在应该能连上MySQL 5了.

s.jpg

Ubuntu下 Awstats的安装以及设置

配置版本:Ubuntu 6.10
1,安装
在Ubuntu下面安装awstats很简单,apt-get install命令就可以完成。

2,配置
awstats 安装完毕后,相关配置文件位于/etc/awstats目录下面,一般,会提供一个awstats.conf文件,我们可以拷贝一份,作为自己的配置文 件,比如我要为www.jlcips.com建立一个配置文件,那么拷贝一份awstats.conf,命名为 awstats.www.jclips.com.conf。然后修改里面的配置,相关修改如下:

LogFile="/var/log/apache2/access.log" <==apache日志的位置
LogFormat=1
DNSLookup=1
DirData="/var/lib/awstats/"
DirCgi="/cgi-bin"
DirIcons="/awsts-icon"
SiteDomain="www.jclips.com" <==站点的名字
AllowToUpdateStatsFromBrowser=1
AllowFullYearView=3

一般上面的配置在拷贝后的文件中都是已经有了,只有一些要做相应的变更,每一项都有详细的说明,可以看看相应代表什么意思。

3,拷贝icon文件夹
cp -r /usr/share/awstats/icon /var/www/awstats-icon
目标文件夹就是在上面配置文件中配置的icon路径

4,更新数据
/usr/lib/cgi-bin/awstats.pl -config=hostname -update
上面的hostname替换成你的主机名,比如这边是www.jclips.com。

5,修改Apache的配置
默认在Apache2中cgi-bin目录是注释掉的,进入/etc/apache2/sites-enabled目录,编辑相应的配置文件,确认cgi-bin目录为有效。Apache2的默认cgi目录是/usr/lib/cgi-bin

6,页面访问
http://hostname/cgi-bin/awstats.pl?config=hostname
上面的hostname替换成你站点的名字。

注:我在配置文件中设置了允许从浏览器进行数据进行更新,对应的是AllowToUpdateStatsFromBrowser字段。这样你可以从浏览器中进行数据的更新。你也可以禁止掉,然后创建一个cron任务,让其每天自动更新。
crontab -e
0 1 * * * /usr/lib/cgi-bin/awstats.pl -config=hostname -update
这样会在每天晚上进行数据更新。