感谢支持
我们一直在努力

Ubuntu下编译安装bandwidthd和postgresql,将数据存入pgsql

前边提过Ubuntu下使用deb包安装bandwidthd,现在来说一下自己编译安装bandwidthd和postgresql,使用linux系统的朋友都可以用这种方式来安装。


环境说明:


hostname=BK3,安装时用户为netuser,domain=localdomain;


1.准备


1.1安装apache2并支持php


1.1.1安装所需要的包


apt-get install apache2


apt-get install php5


apt-get install php5-pgsql


apt-get install php5-gd


1.1.2重启apache2


/etc/init.d/apache2 restart


1.1.3测试


在/var/www下建立php文件


vi /var/www/info.php


输入 <?php phpinfo();?>


保存退出wq


在浏览器里访问http://ip/info.php


1.2安装其他所需软件


apt-get install gcc


apt-get install flex (lex)


apt-get install bison (yacc)


1.3编译并安装bandwidthd所需要的库


安装zlib


安装libpng


安装libgd


安装libpcap


加以下参数


./configure –prefix=/usr/


2.安装配置postgresql


2.1安装所需要的包


apt-get install zlib1g


apt-get install libreadline5-dev


2.2为postgresql创建账户


useradd postgres


给账户建立主目录


mkdir /home/postgres


将账户的主目录设为刚建立的文件夹


usermod -d /home/postgres


设置账户使用bash(否则su posgres后,只有$)


usermod -s /bin/bash postgres


2.3编译安装(必须将pgsql安装在/usr/local/pgsql下,编译bandwidthd时,它只会到此处查找pgsql,如果找不到编译后就不支持pgsql)


tar zxvf postgresql-8.4.3.tar.gz


./configure –prefix=/usr/local/pgsql


make && make install


2.4配置


2.4.1修改环境变量


在/etc/profile中加入下列内容:


PATH=/usr/local/pgsql/bin:$PATH


export PATH


MANPATH=/usr/local/pgsql/man:$MANPATH


export MANPATH


LD_LIBRARYPATH=/usr/local/pgsql/lib:$LD_LIBRARYPATH


export LD_LIBRARYPATH


执行. /etc/profile使修改的环境变量立即生效,说明.和/之间有空格


2.4.2创建数据库目录并赋予权限


mkdir /usr/local/pgsql/data


mkdir /usr/local/pgsql/log


touch /usr/local/pgsql/log/syslog.log


chown postgres /usr/local/pgsql/data


chown postgres /usr/local/pgsql/log


2.4.3以postgres身份激活数据库


su postgres


initdb -D /usr/local/pgsql/data           #绑定数据目录


结果会在data下生成配置文件


2.4.4修改配置文件


返回netuser,


exit


修改pg_hba.conf,解决认证失败的问题,使php程序可以连接数据库,


按照以下内容更改


host all 127.0.0.1/32    trust


local all all           trust


host all all ::1/128    trust


修改postgresql.conf,修改数据库侦听范围,按照以下内容修改


listen_addresses = ‘*’


2.5启动数据库


su postgres    #默认是用postgres 用户来启动的


/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data


或者


/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/log/syslog.log start


#参考:


pg_ctl start   [-w] [-D DATADIR] [-s] [-l FILENAME] [-o “OPTIONS”]


pg_ctl stop    [-W] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]


pg_ctl restart [-w] [-D DATADIR] [-s] [-m SHUTDOWN-MODE] [-o “OPTIONS”]


pg_ctl reload [-D DATADIR] [-s]


pg_ctl status [-D DATADIR]


给postgresql添加用户:createuser netuser


#Ubuntu登录时建立的账户


创建数据库:createdb mydb


2.6测试数据库


退回到netuser


exit


输入以下命令行:


psql mydb


#显示:mydb=#,说明连接成功,且此账户是数据库管理员。


使用exit退出数据库

3. 安装bandwidth


tar zxvf bandwidthd-2.0.1.gz


cd bandwidthd-2.0.1


./configure –prefix=/usr


make


make install


4. 配置bandwidthd


4.1使用schema.postgresql 创建连接并生成文件


在bandwidthd-2.0.1文件夹下输入以下命令行:


psql mydb netuser < schema.postgresql    #经过测试,这个不执行也可以


在bandwidthd.conf中添加参数


pgsql_connect_string “user = netuser dbname = mydb host = localhost”


sensor_id “netuser.BK3.localdomain”


graph false


recover_cdf false


5.启动bandwidthd


/usr/bandwidth/bandwidth


6. Web Server Setup:


cd /tmp    #进入临时文件夹


cd /bandwidthd-2.0.1+cvs20090917    #进入bandwidthd文件夹,此文件夹是在安 #装bandwidthd-pgsql时产生的,如果没有可以从bandwidthd-2.0.1+cvs20090917包 #中获得。


sudo mv phphtdocs /var/www/monitor    #将phphtdocs文件夹移动到/var/www/ #下并改名为monitor,此文件夹中的php程序是用来读取数据库中的数据使用的。


cd /var/www/monitor    #进入monitor文件夹


sudo rm index.php    #删除主页,此页不是我们需要的页面


sudo mv sensors.php index.php    #将sensors.php文件夹改名为index.php,此页是#我们需要的主页,或者可以使用源码中的phphtdocs文件夹,不需要这两步。


sudo vi config.conf    #修改配置文件


修改pgsql_connect_string “user = netuser dbname = mydb”一行,


以下是bandwidthd中README中关于网站设置的描述:


也可以使用上一篇提到的方式来配置php程序


1. Copy the contents of phphtdocs into your web tree some where.


2. Edit config.conf to set your db connect string


You should now be able to access the web application and see you graphs. All graphing


is done by graph.php, all parameters are passed to it in it’s url. You can create


custom urls to pull custom graphs from your own index pages, or use the canned


reporting system.


In addition, you should schedule bd_pgsql_purge.sh to run every so often. I recomend


running it weekly. This script outputs sql statements that aggregate the older


data points in your database in order to reduce the amount of data that needs to


be slogged through in order to generate yearly, monthly, and weekly graphs.


至此,安装配置完成,可以访问此网站来查看bandwidthd搜集的数据


http://ip/monitor

赞(0) 打赏
转载请注明出处:服务器评测 » Ubuntu下编译安装bandwidthd和postgresql,将数据存入pgsql
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏