搭建小米的监控系统:open-falcon

搭建小米的监控系统:open-falcon

SofM 2020-01-06 15:12:49

open-falcon的目标是做最开放、最好用的互联网企业级监控产品。

一、环境准备

1、配置防火墙

开放端口6030、8433、8081,允许任意IP访问

firewall-cmd –add-port=6030/tcp –permanent

firewall-cmd –add-port=8433/tcp –permanent

firewall-cmd –add-port=8081/tcp –permanent

firewall-cmd –reload

2、安装wget、vim、git

yuminstall -y wget vim git

3、安装golang、redis

yuminstall-y epel-release

yuminstall-y golang

yuminstall-y redis

#启动开机启动redis

systemctl start redis

systemctl enable redis

4、安装mysql 5.6

#获取repo

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

#安装rpm包

rpm -ivh mysql-community-release-el7-5.noarch.rpm

#安装MySQL

yum install -y mysql-server

#启动MySQL

systemctl start mysql

5、设置临时位置变量

exportGOROOT=/usr/lib/golang

export GOPATH=/opt/git

6、在github下载后端

# 创建存放源码文件的目录

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

7、初始化数据库

cd$GOPATH/src/github.com/open-falcon/falcon-plus/scripts/mysql/db_schema

#执行5个脚本初始化数据库,提示“Enterpassword”,如果mysql的root没有设置密码,回车即可

mysql-h127.0.0.1-uroot-p<1_uic-db-schema.sql

mysql-h127.0.0.1-uroot-p<2_portal-db-schema.sql

mysql-h127.0.0.1-uroot-p<3_dashboard-db-schema.sql

mysql-h127.0.0.1-uroot-p<4_graph-db-schema.sql

mysql-h127.0.0.1-uroot-p<5_alarms-db-schema.sql

8、编译后端源码

cd$GOPATH/src/github.com/open-falcon/falcon-plus

#编译

make all

#打包

make pack

二、部署后端

1、设置临时位置变量

exportBACKSPACE=/opt/open-falcon/back

2、创建工作目录

mkdir-p$BACKSPACE

3、解压缩包

cd $GOPATH/src/github.com/open-falcon/falcon-plus

tar -xzvfopen-falcon-v0.2.1.tar.gz -C $BACKSPACE

4、修改各模块配置文件cfg.json

①、vim /opt/open-falcon/back/aggregator/config/cfg.json

"database": {

"addr":"root:passwd@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true",

"idle":10,

"ids": [1, -1],

"interval":55

②、vim /opt/open-falcon/back/graph/config/cfg.json

"db": {

"dsn":"root:passwd@tcp(127.0.0.1:3306)/graph?loc=Local&parseTime=true",

"maxIdle":4

},

③、vim /opt/open-falcon/back/hbs/config/cfg.json

{

"debug": true,

"database":"root:passwd@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true",

"hosts":"",

"maxConns":20,

"maxIdle":15,

"listen":":6030",

"trustable": [""],

"http": {

"enabled": true,

"listen":"0.0.0.0:6031"

}

}

④、vim /opt/open-falcon/back/nodata/config/cfg.json

"config": {

"enabled": true,

"dsn":"root:passwd@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true&wait_timeout=604800",

"maxIdle":4

},

⑤、vim /opt/open-falcon/back/api/config/cfg.json

{

"log_level":"debug",

"db": {

"falcon_portal":"root:passwd@tcp(127.0.0.1:3306)/falcon_portal?charset=utf8&parseTime=True&loc=Local",

"graph":"root:passwd@tcp(127.0.0.1:3306)/graph?charset=utf8&parseTime=True&loc=Local",

"uic":"root:passwd@tcp(127.0.0.1:3306)/uic?charset=utf8&parseTime=True&loc=Local",

"dashboard":"root:passwd@tcp(127.0.0.1:3306)/dashboard?charset=utf8&parseTime=True&loc=Local",

"alarms":"root:passwd@tcp(127.0.0.1:3306)/alarms?charset=utf8&parseTime=True&loc=Local",

"db_bug": true

},

⑥、vim /opt/open-falcon/back/alarm/config/cfg.json

"falcon_portal": {

"addr":"root:passwd@tcp(127.0.0.1:3306)/alarms?charset=utf8&loc=Local",

"idle":10,

"max":100

},

5、启动后端

cd /opt/open-falcon/back

./open-falcon start

三、部署前端

1、设置临时位置变量

exportFRONTSPACE=/opt/open-falcon/front

2、创建工作目录

mkdir-p$FRONTSPACE

3、从github上克隆前端源码

cd$FRONTSPACE

gitclonehttps://github.com/open-falcon/dashboard.git

4、安装依赖

yuminstall-y python-virtualenv

yuminstall-y python-devel

yuminstall-y openldap-devel

yuminstall-y mysql-devel

yum groupinstall -y"Development tools"

# 通过virtualenv创建目录env作为独立的运行环境

cd $FRONTSPACE/dashboard

virtualenv ./env

# 生成 requirements.txt 并安装依赖

./env/bin/pip install -r pip_requirements.txt

5、编辑dashboard配置文件config.py

29# portal database

30# TODO:readfrom api instead of db

31PORTAL_DB_HOST =os.environ.get("PORTAL_DB_HOST","127.0.0.1")

32PORTAL_DB_PORT = int(os.environ.get("PORTAL_DB_PORT",3306))

33PORTAL_DB_USER =os.environ.get("PORTAL_DB_USER","root")

34PORTAL_DB_PASS =os.environ.get("PORTAL_DB_PASS","passwd")

35PORTAL_DB_NAME =os.environ.get("PORTAL_DB_NAME","falcon_portal")

6、启动前端

cd$FRONTSPACE/dashboard

bash control start

四、使用openfalcon

1、访问openfalcon页面

浏览器访问http://服务器IP地址:8081

PS:具体的监控项添加参考官方文档:

https://book.open-falcon.org/zh/


发表评论

电子邮件地址不会被公开。 必填项已用*标注