openfalon监控配置

最进在看《docker 容器与容器云 第2版》,但是对于运维的一些知识还是不够了解,在同学的推荐下,尝试配置openfalon监控,监控自己写的软件,为以后需要开发的项目积累一点经验。

Open-falcon是小米运维团队从互联网公司的需求出发,根据多年的运维经验,结合SRE、SA、DEVS的使用经验和反馈,开发的一套面向互联网的企业级开源监控产品。

准备工作

Open-falcon的开发语言是golang语言,创始人秦晓辉在谈为何选择golang语言时也有一定的说明:open-falcon编写的整个脑洞历程

源码安装

1
2
3
4
5
6
#查看go语言环境
go version
#若没有安装go语言环境需要安装go语言
sudo apt install golang
echo "export GOPATH=~/workspaces/go" >> ~/.bashrc
source ~/.bashrc

安装Redis和mysql

1
2
sudo apt install redis-server
sudo apt install mysql-server

安装文件下载已经安装位置确定

1
2
3
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

导入数据库

1
2
3
4
5
6
cd $GOPATH/src/github.com/open-falcon/falcon-plus/scripts/mysql/db_schema/
mysql -h 127.0.0.1 -u root -p < uic-db-schema.sql
mysql -h 127.0.0.1 -u root -p < portal-db-schema.sql
mysql -h 127.0.0.1 -u root -p < graph-db-schema.sql
mysql -h 127.0.0.1 -u root -p < dashboard-db-schema.sql
mysql -h 127.0.0.1 -u root -p < alarms-db-schema.sql

安装,安装成功后会生成一个压缩包

1
2
3
make all
make agent
make pack

解包和建立文件目录

1
2
3
4
export WorkDir="$HOME/open-falcon"
mkdir -p $WorkDir
tar -xzvf open-falcon-vx.x.x.tar.gz -C $WorkDir
cd $WorkDir

数据库连接的配置格式是: username:password@tcp(path:port)/xxxx

安装web监控端dashboard

下载dashboard源码

1
2
3
export WorkDir="$HOME/open-falcon"
cd $WorkDir
git clone https://github.com/open-falcon/dashboard.git

下载安装依赖

1
2
3
4
5
6
7
8
9
10
sudo su
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

cd dashboard
sudo virtualenv ./env
./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple

修改配置,dashboard的配置文件为config.py

1
2
3
#添加数据库密码,默认为空
PORTAL_DB_PASS = os.environ.get("PORTAL_DB_PASS","123456")
ALARM_DB_PASS = os.environ.get("ALARM_DB_PASS","123456")

启动

1
./control start