一、环境准备
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端口
过一段时间就会自动发现新增加的节点