Ubuntu 18上安装Open-Falcon
Open-Falcon官方的二进制包是基于CentOS发布的,在Ubuntu上无法使用,故保留此文档备忘。
环境准备
前提环境
Ubuntu 18.04.2 LTS
使用root用户
安装软件
apt install golang
apt install redis-server
apt install mysql-server
MySQL配置
开放绑定地址
/etc/mysql/mysql.conf.d/mysqld.cnf
注释掉
#bind-address = 127.0.0.1
添加用户
mysql登录进去,执行如下命令添加MySQL用户
GRANT ALL PRIVILEGES ON *.* TO 'zhouxianli'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
FLUSH PRIVILEGES;
打包安装open-falcon
打包Ubuntu专用
源码编译安装,open-falcon是go语言写的,所以要用go环境来编译。
go get github.com/open-falcon/falcon-plus
cd /root/go/src/github.com/open-falcon/falcon-plus
make all
make pack
看到你打包好的tar文件open-falcon-v0.2.1.tar.gz
装载初始化数据
cd /root/go/src/github.com/open-falcon/falcon-plus/scripts/mysql/db_schema
mysql -h 127.0.0.1 -u zhouxianli --password="admin" < 1_uic-db-schema.sql
mysql -h 127.0.0.1 -u zhouxianli --password="admin" < 2_portal-db-schema.sql
mysql -h 127.0.0.1 -u zhouxianli --password="admin" < 3_dashboard-db-schema.sql
mysql -h 127.0.0.1 -u zhouxianli --password="admin" < 4_graph-db-schema.sql
mysql -h 127.0.0.1 -u zhouxianli --password="admin" < 5_alarms-db-schema.sql
安装open-falcon到~/open-falcon
cd
mkdir open-falcon
cp open-falcon-v0.2.1.tar.gz ~/
tar -zxvf open-falcon-v0.2.1.tar.gz -C open-falcon
配置open-falcon
执行如下shell,批量替换配置mysql用户和密码
cd ~/open-falcon
grep -Ilr 3306 ./ | xargs -n1 -- sed -i 's/root:/zhouxianli:admin/g'
启动open-falcon并检查
check状态时要求所有模块状态为UP
cd ~/open-falcon
./open-falcon start
./open-falcon check
安装配置Dashboard
编译Dashboard
go get github.com/open-falcon/dashboard
cd /root/go/src/github.com/open-falcon/dashboard
apt-get install -y python-virtualenv
apt-get install -y slapd ldap-utils
apt-get install -y libmysqld-dev
apt-get install -y build-essential
apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt
修改Dashboard配置
执行如下命令修改配置文件
vi rrd/config.py
内容为将mysql的用户配置进行修正
# portal database
# TODO: read from api instead of db
PORTAL_DB_HOST = os.environ.get("PORTAL_DB_HOST","127.0.0.1")
PORTAL_DB_PORT = int(os.environ.get("PORTAL_DB_PORT",3306))
PORTAL_DB_USER = os.environ.get("PORTAL_DB_USER","zhouxianli")
PORTAL_DB_PASS = os.environ.get("PORTAL_DB_PASS","admin")
PORTAL_DB_NAME = os.environ.get("PORTAL_DB_NAME","falcon_portal")
# alarm database
# TODO: read from api instead of db
ALARM_DB_HOST = os.environ.get("ALARM_DB_HOST","127.0.0.1")
ALARM_DB_PORT = int(os.environ.get("ALARM_DB_PORT",3306))
ALARM_DB_USER = os.environ.get("ALARM_DB_USER","zhouxianli")
ALARM_DB_PASS = os.environ.get("ALARM_DB_PASS","admin")
ALARM_DB_NAME = os.environ.get("ALARM_DB_NAME","alarms")
启动dashboard
cd /root/go/src/github.com/open-falcon/dashboard
# 启动服务
./control start
前端页面访问
打开地址: http://192.168.43.141:8081/
全局搜索后选中左下方出现的的endpoint(我这显示的主机名ubuntu),右边搜索Counter,点击任意count即可看到图表。
提示:如果某些页面提示访问不了,检查一下数据库是否可以连接;修改mysql任意地址任意ip可以远程登录。以及在本机上(服务和mysql在同一台机器上)是否一定需要密码登录?有时候mysql在本机不需要密码而你确使用密码登录会造成访问不了。
常见问题
停止dashboard
cd /root/go/src/github.com/open-falcon/dashboard
# 停止服务
./control stop