1、配置前置环境,下载inotify-tools-3.14,libiconv-1.14源码包,通过yum安装libcurl库文件,另外由于最后编译提示缺少mysql库文件,yum还安装不到,所以我多了一步安装mysql 5.6的步骤。


安装apache环境

# yum install -y httpd


安装inotify-tools

# tar xvzf inotify-tools-3.14.tar.gz

# cd inotify-tools-3.14

# ./configure

# make

# make install

此处借鉴“http://my.oschina.net/tuyang/blog/187462”From sosg

如果是32位系统
 
ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib/libinotifytools.so.0
如果是64位系统
 
ln -s /usr/local/lib/libinotifytools.so.0 /usr/lib64/libinotifytools.so.0
无论32或者64位系统都执行
 
echo 104857600 > /proc/sys/fs/inotify/max_user_watches
echo 'echo 104857600 > /proc/sys/fs/inotify/max_user_watches' >> /etc/rc.local


安装libiconv

# tar xvzf libiconv-1.14.tar.gz

# cd libiconv-1.14

# ./configure --prefix=/usr/local

# make

# make install

# ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/libiconv.so


安装libcurl

# yum install -y libcurl


安装mysql

# rpm -ivh MySQL-server-***

# rpm -ivh MySQL-devel-***

# rpm -ivh MySQL-client-***

# rpm -ivh MySQL-shared-***


2、按照官网步骤正式安装

第一步,解压并检查程序编译环境

# tar -zxvf falcon-master.tar.gz
# cp -Rf falcon-master/* /var/www/html/     *以下文件夹均在/var/www/html/下*
# cd /var/www/html/Release/
# chmod a+x check.sh
# ./check.sh
看到以下信息证明程序编译环境准备就绪
Found inotify success!
Found inotifytools success!
Found mysql-dev environment success!

第二步,安装Falcon控制中心

#vim ./falconconsole/public/config.inc.php
修改配置文件中的数据库连接信息,如果控制中心与监控程序没有安装在同一台主机,请确保被监控主机能够有权访问到控制中心所在主机的Mysql数据库
此处需要注意,mysql用户名密码,配置文件默认为123456,但新安装mysql一般都没有密码。
浏览器运行http://IP/falconconsole/install.php,安装控制中心(此处主要建立数据库,和管理员密码)

第三步,修改监控程序配置文件并编译

这里主要设置数据库连接相关信息,需要监控的Web目录以"/"结尾
# vim src/conf/global.conf
# cd Release/
# make
此处运行完,会在Release文件夹下生成falcon文件

第四步,后台运行监控程序

# nohup ./falcon start >falcon.log 2>&1 &
# ps aux|grep "falcon"
root 2981 0.2 0.3 9352 1848 pts/0 S 04:46 0:00 ./falcon start

程序将在当前运行目录下生成日志文件falcon.log
可通过访问控制中心查看监控详情(e.g. http://127.0.0.1/falconconsole/index.php)


遇到问题

1、启动Mysql登陆提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

# service mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql

# mysql>update user set password=password("password@01") where user="root";

# mysql>flush privileges;

# mysql>quit

# service mysql restart 

# mysql -u root -p 

Enter password: password@01 

# mysql>set password for 'root'@'localhost'=password('password@01');

# mysql>quit