Ubuntu下安装bandwidthd-pgsql


前端时间领导让搞一下bandwidthd来检测网络流量情况,而且要求把数据存到数据库里,我在网上找了半天资料,关于把bandwidthd的数据存到postgresql中的很少,自己研究了半天才搞明白,这一篇是利用Ubuntu的deb包来安装,另外我还会发一篇自己编译安装的方式。

环境说明:

hostname BK4,domain localdomain,安装时账户netuser,密码abcd.1234,IP地址用IP来代替;

详细步骤

系统安装完成后使用netuser登录计算机

sudo passwd root   #给root用户设置密码

设置密码为abcd.1234

su root    #切换到root账户

apt-get install apache2    #安装apache

apt-get install php5    #安装php语言支持

apt-get install php5-pgsql    #支持php语言连接postgresql数据库

apt-get install php5-gd    #支持php语言从数据库中读取图片

/etc/init.d/apache2 restart    #重启apache2

cd /var/www    #进入apache2目录

vi info.php    #新建info.php文件

输入<?php phpinfo();?>    #在文件中输入

wq    #保存退出

在浏览器里访问http://ip/info.php    #查看apache是否支持php

apt-get install postgresql    #安装postgresql数据库

su postgres    #转换到postgres账户,此账户为postgresql数据库管理员,数据库服务默认是由此账户启动的。

createuser netuser    #将netuser设置为数据库管理员

提示Shall the new role be allowed to create more new roles? (y/n) 选择y

createuser root    #步骤意义同上

exit    #退回到root用户

exit    #退回到netuser用户

createdb mydb    #使用netuser创建数据库 mydb

psql mydb    #使用客户端工具psql连接数据库mydb

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

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 = '*'

sudo apt-get install bandwidthd-pgsql    #安装支持postgresql数据库的bandwidthd

#安装过程中会有窗口提示,在CRT下安装的时候注意模式,否则会乱码,网卡选择默认,网段选择默认,数据库不配置。

sudo vi /etc/bandwidthd/bandwidthd.conf    #编译bandwidthd配置文件

照以下内容编辑相关部分

pgsql_connect_string "user = netuser dbname = mydb host = localhost"

sensor_id "netuser.BK4.localdomain"       #传感器名称,在php网页中会选择

graph false    #不生成静态网页

recover_cdf false

promiscuous true    #默认值,包里把这个改成false了,应该启用网卡的混合模式

wq    #保存退出

sudo /etc/init.d/bandwidthd restart    #重启bandwidthd服务

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搜集的数据

http://ip/monitor

相关内容