一、環(huán)境準(zhǔn)備
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
可以編譯安裝,可以二進(jìn)制安裝,可以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
③、創(chuàng)建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
添加下列兩行指定安裝路徑和數(shù)據(jù)庫(kù)存放路徑
basedir = /usr/local/mysql
datadir = /data/mysql
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #添加啟動(dòng)腳本
#chkconfig --add mysqld #設(shè)置開機(jī)啟動(dòng)
#echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf #導(dǎo)出庫(kù)文件
#ldconfig -v #建立庫(kù)文件緩存
#ln -sv /usr/local/mysql/include/ /usr/include/mysql #導(dǎo)出頭文件
#/etc/init.d/mysqld start
#/usr/local/mysql/bin/mysqladmin -u root password 'falcon123'
4、安裝golang環(huán)境
#下載地址變更為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、初始化數(shù)據(jù)庫(kù)
#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
編譯完成以后目錄會(huì)有一個(gè)open-falcon-v0.2.1.tar.gz 包文件。
如果服務(wù)器現(xiàn)有Redis帶密碼認(rèn)證可以參考:
小米監(jiān)控open-falcon支持redis帶密碼訪問 編譯安裝。
二、部署后端
1、創(chuàng)建工作目錄
#export WORKSPACE=/usr/local/open-falcon
#mkdir $WORKSPACE
2、解壓二進(jìn)制包
#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、啟動(dòng)服務(wù)
#./open-falcon start

可以訪問agent端口http://192.168.15.100:1988/測(cè)試。

三、安裝前端
在同一臺(tái)服務(wù)器安裝,以后端工作目錄為WORKSPACE(可以安裝在不同的服務(wù)器)
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、啟動(dòng)服務(wù)
#bash control start
#./env/bin/python wsgi.py #開發(fā)者模式啟動(dòng)
#bash control stop #停止服務(wù)
#bash control tail #查看日志
5、注冊(cè)賬戶
訪問http://192.168.15.100:8081/注冊(cè)賬戶

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

四、監(jiān)控節(jié)點(diǎn)agent安裝
1、打包agent并同步到監(jiān)控節(jié)點(diǎn)
#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文件同步到,需要被監(jiān)控的服務(wù)器(如果節(jié)點(diǎn)比較多,可以使用ansible或者saltstack自動(dòng)化工具批量同步解壓部署)。
2、在被監(jiān)控服務(wù)器創(chuàng)建目錄工作目錄。
#mkdir /usr/local/open-falcon
#cd /usr/local/open-falcon
#tar -zxf open-falcon-agent-v0.2.1.tar.gz
3、修改配置文件
詳細(xì)配置參考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"], # 默認(rèn)配置只會(huì)采集網(wǎng)卡名稱前綴是eth、em的網(wǎng)卡流量,配置為空就會(huì)采集所有的,lo的也會(huì)采集。可以從/proc/net/dev看到各個(gè)網(wǎng)卡的流量信息
#sed -i "s@0.0.0.0@192.168.15.100@g" agent/config/cfg.json #ip 192.168.15.100為你服務(wù)端的ip地址

4、進(jìn)程管理
./open-falcon start agent 啟動(dòng)進(jìn)程
./open-falcon stop agent 停止進(jìn)程
./open-falcon monitor agent 查看日志
agent/bin/falcon-agent --check 驗(yàn)證agent是否運(yùn)行,可以瀏覽器訪問nodeip:1988訪問測(cè)試,確保防火墻已經(jīng)放行1988端口
過一段時(shí)間就會(huì)自動(dòng)發(fā)現(xiàn)新增加的節(jié)點(diǎn)



