一、環境準備
1、配置阿里云yum源
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2、安裝Redis和git
#yum install -y redis git
#systemctl start redis && systemctl enable redis
3、安裝MySQL
可以編譯安裝,可以二進制安裝,可以rpm包安裝,此處采用編譯安裝。
①、安裝依賴
#yum -y install make gcc-c++ cmake bison-devel ncurses-devel
#yum groupinstall -y "Development tools"
②、編譯安裝
#mkdir -pv /usr/local/mysql
#mkdir -pv /data/mysql
#mkdir /var/lib/mysql
#wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.5/mysql-5.5.60.tar.gz
#tar -zxvf mysql-5.5.60.tar.gz
#cd mysql-5.5.60
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/ -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_PARTITION_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0
#make
#make install
③、創建mysql用戶組
#groupadd -r mysql
#useradd -g mysql -r -s /sbin/nologin mysql
#chown -R mysql.mysql /usr/local/mysql
#chown -R mysql.mysql /data/mysql/
#chown -R mysql.mysql /var/lib/mysql
④、配置mysql
#/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql
#echo "export PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh
#source /etc/profile.d/mysql.sh
#cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
添加下列兩行指定安裝路徑和數據庫存放路徑
basedir = /usr/local/mysql
datadir = /data/mysql
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #添加啟動腳本
#chkconfig --add mysqld #設置開機啟動
#echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf #導出庫文件
#ldconfig -v #建立庫文件緩存
#ln -sv /usr/local/mysql/include/ /usr/include/mysql #導出頭文件
#/etc/init.d/mysqld start
#/usr/local/mysql/bin/mysqladmin -u root password 'falcon123'
4、安裝golang環境
#下載地址變更為https://studygolang.com/dl
#wget https://www.golangtc.com/static/go/1.9.2/go1.9.2.linux-amd64.tar.gz
#tar zxf go1.9.2.linux-amd64.tar.gz
#cp -rf go /usr/local/
#echo "export PATH=$PATH:/usr/local/go/bin" > /etc/profile.d/go.sh
#export GOROOT=/usr/local/go
#export GOPATH=/var/falcon
#source /etc/profile.d/go.sh
#mkdir -p $GOPATH/src/github.com/open-falcon
#cd $GOPATH/src/github.com/open-falcon
#git clone https://github.com/open-falcon/falcon-plus.git
5、初始化數據庫
#cd falcon-plus/scripts/mysql/db_schema/
#mysql -uroot -p < 1_uic-db-schema.sql
#mysql -uroot -p < 2_portal-db-schema.sql
#mysql -uroot -p < 3_dashboard-db-schema.sql
#mysql -uroot -p < 4_graph-db-schema.sql
#mysql -uroot -p < 5_alarms-db-schema.sql
6、編譯open-falcon
#cd $GOPATH/src/github.com/open-falcon/falcon-plus
#make all
#make pack
編譯完成以后目錄會有一個open-falcon-v0.2.1.tar.gz 包文件。
如果服務器現有Redis帶密碼認證可以參考:
小米監控open-falcon支持redis帶密碼訪問 編譯安裝。
二、部署后端
1、創建工作目錄
#export WORKSPACE=/usr/local/open-falcon
#mkdir $WORKSPACE
2、解壓二進制包
#tar -xzvf open-falcon-v0.2.1.tar.gz -C $WORKSPACE
#cd $WORKSPACE
3、修改配置文件
#grep -Ilr 3306 ./ | xargs -n 1 -- sed -i 's@root:@root:falcon123@g'
4、啟動服務
#./open-falcon start

可以訪問agent端口http://192.168.15.100:1988/測試。

三、安裝前端
在同一臺服務器安裝,以后端工作目錄為WORKSPACE(可以安裝在不同的服務器)
1、克隆前端代碼
#cd $WORKSPACE
#git clone https://github.com/open-falcon/dashboard.git
2、安裝依賴
#yum install -y python-virtualenv python-devel openldap-devel mysql-devel
#yum groupinstall "Development tools"
#cd dashboard/
#virtualenv ./env
#./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple
3、修改配置文件
# vim rrd/config.py

## API_ADDR 表示后端api組件的地址
API_ADDR = "http://127.0.0.1:8080/api/v1"
4、啟動服務
#bash control start
#./env/bin/python wsgi.py #開發者模式啟動
#bash control stop #停止服務
#bash control tail #查看日志
5、注冊賬戶
訪問http://192.168.15.100:8081/注冊賬戶

說明:
①dashbord沒有默認創建任何賬號包括管理賬號,需要你通過頁面進行注冊賬號。
②想擁有管理全局的超級管理員賬號,需要手動注冊用戶名為root的賬號(第一個帳號名稱為root的用戶會被自動設置為超級管理員)。
超級管理員可以給普通用戶分配權限管理。
③注冊賬號能夠被任何打開dashboard頁面的人注冊,所以當給相關的人注冊完賬號后,需要去關閉注冊賬號功能。只需要去修改api組件的配置文件cfg.json,將signup_disable配置項修改為true,重啟api即可。當需要給人開賬號的時候,再將配置選項改回去,用完再關掉即可。
#vim $WORKSPACE/api/config/cfg.json
#./open-falcon restart

四、監控節點agent安裝
1、打包agent并同步到監控節點
#mkdir /tmp/falcon
#cd /tmp/falcon
#tar -zxvf /var/falcon/src/github.com/open-falcon/falcon-plus/open-falcon-v0.2.1.tar.gz ./
#tar zcvf ./open-falcon-agent-v0.2.1.tar.gz agent open-falcon plugin public
把/tmp/falcon/open-falcon-agent-v0.2.1.tar.gz文件同步到,需要被監控的服務器(如果節點比較多,可以使用ansible或者saltstack自動化工具批量同步解壓部署)。
2、在被監控服務器創建目錄工作目錄。
#mkdir /usr/local/open-falcon
#cd /usr/local/open-falcon
#tar -zxf open-falcon-agent-v0.2.1.tar.gz
3、修改配置文件
詳細配置參考http://book.open-falcon.org/zh_0_2/distributed_install/agent.html#%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E
#"ifacePrefix": ["eth", "em"], # 默認配置只會采集網卡名稱前綴是eth、em的網卡流量,配置為空就會采集所有的,lo的也會采集。可以從/proc/net/dev看到各個網卡的流量信息
#sed -i "s@0.0.0.0@192.168.15.100@g" agent/config/cfg.json #ip 192.168.15.100為你服務端的ip地址

4、進程管理
./open-falcon start agent 啟動進程
./open-falcon stop agent 停止進程
./open-falcon monitor agent 查看日志
agent/bin/falcon-agent --check 驗證agent是否運行,可以瀏覽器訪問nodeip:1988訪問測試,確保防火墻已經放行1988端口
過一段時間就會自動發現新增加的節點



