nfdump-nfsen
参考:
- Centos5/Linux安装Nfdump和Nfsen图形界面分析netflow数据
centos_6.5上实现安装
# 安装 rrdtool 及所需组件:
yum install -y perl-rrdtool rrdtool rrdtool-devel rrdutils flex byacc
# 安装 rrdtool 及所需组件:
yum install -y perl-Socket6 perl-MailTools perl-Mail-Sender
# 安装 GCC :
yum install -y gcc
# 安装 Nfdump 工具:
cd /usr/local/src/
wget http://downloads.sourceforge.net/project/nfdump/stable/nfdump-1.6.6/nfdump-..tar.gz
tar zxvf nfdump-..tar.gz
cd nfdump-./
./configure --enable-nfprofile --with-rrdpath=/usr/bin # --enable-nfprofile 为重新生成,--with-rrdpath= 为启用rddtool支持
make
make install
cd ../
# 下载配置 Nfsen :
mkdir -p /usr/local/nfsen
wget http://downloads.sourceforge.net/project/nfsen/stable/nfsen-1.3.6p1/nfsen-.p1.tar.gz
tar zxvf nfsen-.p1.tar.gz
cd nfsen-.p1/
cp etc/nfsen-dist.conf etc/nfsen.conf
# 修改Nfsen配置文件:
cat etc/nfsen.conf
#http://www.haiyun.me
$BASEDIR = "/usr/local/nfsen";
$HTMLDIR = "/var/www/html/nfsen/";
$USER = "apache";
$WWWUSER = "apache";
$WWWGROUP = "apache";
%sources = (
'upstream1' => { 'port' => '9995', 'col' => '#0000ff', 'type' => 'netflow' },
);
以上部分参考:
- Linux下is not in the sudoers file解决方法
- 在CentOS上搭建PHP服务器环境
# 安装apache:
yum install httpd httpd-devel
# 启动apache:
/etc/init.d/httpd start
# 安装mysql:
yum install mysql mysql-server
# 启动mysql:
/etc/init.d/mysqld start
# 安装php
yum install php php-devel
# 重启apache使php生效
/etc/init.d/httpd restart
# 安装php的扩展
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
# 安装完扩展之后需要再次重启apache
/etc/init.d/httpd restart
# 安装Nfsen:
./install.pl etc/nfsen.conf
# 启动Nfsen:
/usr/local/nfsen/bin/nfsen start
- 开启后可以通过 http://serverip/nfsen/nfsen.php WEB页面访问,不过访问会报错:
- ERROR: nfsend connect() error: Permission denied!
- ERROR: nfsend - connection failed!!
- ERROR: Can not initialize globals!
# 这是因为权限不足,需要给 /data/nfsen/var/run/nfsen.comm 增加 rw 的权限:
chmod a+rw /usr/local/nfsen/var/run/nfsen.comm # Remark:每次NFSEN服务重启都需要重新加权限!
# 关闭防火墙
setenforce
-
frontend and backend mismatched.
修改 /var/www/html/nfsen/nfsen.php
交换机配置
需要在支持NETFOLW功能的交换机上进行相关配置
ip flow ingress infer-fields
ip flow ingress layer2-switched
ip flow-export version
ip flow-export destination X.X.X.X. (要和NFSEN.CONF里面的埠号一致)
ip route-cache flow infer-fields
以上部分参考:
- NFSEN NetFlow工具安裝與使用
Cacti
参考:
- 中文版:Centos/Linux下安装配置Cacti中文版 「 镜像 Lost ,改用下面的方案 2 」
- spine版:Cacti使用安装详解
# 建立cacti用户
useradd -m cacti
passwd cacti
# 安装相关软件:
yum -y install net-snmp net-snmp-libs net-snmp-utils net-snmp-devel
# 安装gcc和libtool
yum install libtool -y
# 下载cacti-spine
wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz
wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8b.tar.gz
# configure: error: Cannot find MySQL header files
yum install mysql-devel
# 解压:
tar -xf cacti-spine-..8b.tar.gz
# 编译安装:
cd cacti-spine-..8b
aclocal
libtoolize --force
autoheader
autoconf
automake
./configure
make
make install
# 配置
cp /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
chown cacti.cacti /etc/spine.conf
vim /etc/spine.conf
DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass cactiuser
DB_Port
mysql -uroot -p
CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'cactiuser';
create database cacti;
grant all on cacti.* to cactiuser@localhost
tar -xvf cacti-..8b.tar.gz
cd cacti-..8b
mysql -u cactiuser -pcactiuser cacti < cacti.sql
mv cacti-..8b /var/www/html/cacti
vim /var/www/html/cacti/include/config.php
$database_type = \"mysql\";
$database_default = \"cacti\";
$database_hostname = \"localhost\";
$database_username = \"cactiuser\";
$database_password = \"cactiuser\";
$database_port = \"3306\";
$database_ssl = false;
# 添加计划任务(使cacti每5分钟获得一次数据)
crontab -e
*/1 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 # 让系统每1分钟收集
- 默认登录用户名密码是admin
- 最后,等cacti安装完之后在cacti的web配置界面选择setting
- settings->paths->Spine Poller File Path [/usr/local/spine/bin/spine]
- settings->poller->Poller Type [spine]
- console->settings->poller->Maximum Threads per Process [5]
- save完成
以上部分参考:
- configure: error: Cannot find MySQL header files:cacti 安装配置方法 总结(1)
- MySQL创建用户与授权方法
未做:(其他)
# Cacti监控mysql报表流量图:
wget https://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz
tar –xvf better-cacti-templates-.tar.gz
cd better-cacti-templates-
# 将better-cacti-templates-1.1.8\scripts下的 ss_get_mysql_stats.php 这个脚本 这个脚本需要放在cacti的服务端。
# 比如cacti部署在/var/www/html目录下,那么就cp到/var/www/html/cacti/scripts/下
cp /root/better-cacti-templates-/scripts/ss_get_mysql_stats.php /var/www/html/cacti/scripts/
# 修改ss_get_mysql_stats.php 文件 第30行
$mysql_user = 'cacti_user';
$mysql_pass = 'cacti_user05161610';
$cache_dir = "/xok.la/cacti/cache/";
chown -R apache.apache /var/www/html/cacti/scripts
chmod -R /var/www/html/cacti/scripts
# 使用 http 访问 cacti主机 导入
/opt/mysql-cacti-templates-/cacti_host_template_x_db_server_ht_0i.xml
# 然后创建mysql用户:
grant process,super on *.* to 'cacti_user'@'%' identified by 'cacti_user05161610';
Nagios
参考:
- Linux/Centos安装nagios监控服务器
useradd nagios
groupadd nagcmd
usermod -G nagcmd nagios
usermod -G nagcmd apache
cd /usr/local/src/
# 安装主程序
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-.tar.gz
tar zxvf nagios-.tar.gz
cd nagios
./configure --with-command-group=nagcmd --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
make all
make install
# 安装主程序
make install-init # 安装init管理脚本
make install-config # 安装示例配置文件
make install-commandmode # 配置目录权限
make install-webconf # 安装Apache配置文件
make install-classicui # 安装经典黑色主题
cd ../
# 安装插件
wget https://nagios-plugins.org/download/nagios-plugins-.tar.gz
tar zxvf nagios-plugins-.tar.gz
cd nagios-plugins
./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios
make
make install
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
# 生成nagiosadmin验证密码,用于web界面验证
/etc/init.d/httpd restart
/etc/init.d/nagios start
chkconfig nagios on
setsebool -P httpd_disable_trans # 关闭selinux对httpd的防护,不然会出现权限问题 「这句我失败了==」