一、環(huá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
可以編譯安裝,可以二進制安裝,可以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ù)庫存放路徑
basedir = /usr/local/mysql
datadir = /data/mysql
#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #添加啟動腳本
#chkconfig --add mysqld #設(shè)置開機啟動
#echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf #導(dǎo)出庫文件
#ldconfig -v #建立庫文件緩存
#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ù)庫
#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 包文件。
如果服務(wù)器現(xiàn)有Redis帶密碼認證可以參考:
小米監(jiān)控open-falcon支持redis帶密碼訪問 編譯安裝。
二、部署后端
1、創(chuàng)建工作目錄
#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、啟動服務(wù)
#./open-falcon start
可以訪問agent端口http://192.168.15.100:1988/測試。
三、安裝前端
在同一臺服務(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、啟動服務(wù)
#bash control start
#./env/bin/python wsgi.py #開發(fā)者模式啟動
#bash control stop #停止服務(wù)
#bash control tail #查看日志
5、注冊賬戶
訪問http://192.168.15.100:8081/注冊賬戶
說明:
①dashbord沒有默認創(chuàng)建任何賬號包括管理賬號,需要你通過頁面進行注冊賬號。
②想擁有管理全局的超級管理員賬號,需要手動注冊用戶名為root的賬號(第一個帳號名稱為root的用戶會被自動設(shè)置為超級管理員)。
超級管理員可以給普通用戶分配權(quán)限管理。
③注冊賬號能夠被任何打開dashboard頁面的人注冊,所以當(dāng)給相關(guān)的人注冊完賬號后,需要去關(guān)閉注冊賬號功能。只需要去修改api組件的配置文件cfg.json,將signup_disable配置項修改為true,重啟api即可。當(dāng)需要給人開賬號的時候,再將配置選項改回去,用完再關(guān)掉即可。
#vim $WORKSPACE/api/config/cfg.json
#./open-falcon restart
四、監(jiān)控節(jié)點agent安裝
1、打包agent并同步到監(jiān)控節(jié)點
#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é)點比較多,可以使用ansible或者saltstack自動化工具批量同步解壓部署)。
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、修改配置文件
詳細配置參考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"], # 默認配置只會采集網(wǎng)卡名稱前綴是eth、em的網(wǎng)卡流量,配置為空就會采集所有的,lo的也會采集??梢詮?proc/net/dev看到各個網(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、進程管理
./open-falcon start agent 啟動進程
./open-falcon stop agent 停止進程
./open-falcon monitor agent 查看日志
agent/bin/falcon-agent --check 驗證agent是否運行,可以瀏覽器訪問nodeip:1988訪問測試,確保防火墻已經(jīng)放行1988端口
過一段時間就會自動發(fā)現(xiàn)新增加的節(jié)點