open falcon监控部署-单机部署(一)
介绍
监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题。监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择。当公司刚刚起步,业务规模较小,运维团队也刚刚建立的初期,选择一款开源的监控系统,是一个省时省力,效率最高的方案。之后,随着业务规模的持续快速增长,监控的对象也越来越多,越来越复杂,监控系统的使用对象也从最初少数的几个SRE,扩大为更多的DEVS,SRE。这时候,监控系统的容量和用户的“使用效率”成了最为突出的问题。
监控系统业界有很多杰出的开源监控系统。我们在早期,一直在用zabbix,不过随着业务的快速发展,以及互联网公司特有的一些需求,现有的开源的监控系统在性能、扩展性、和用户的使用效率方面,已经无法支撑了。
因此,我们在过去的一年里,从互联网公司的一些需求出发,从各位SRE、SA、DEVS的使用经验和反馈出发,结合业界的一些大的互联网公司做监控,用监控的一些思考出发,设计开发了小米的监控系统:open-falcon。
一、环境准备
操作系统:Centos7.4
1、安装redis
编译安装、yum安装二选一:
- 编译安装:redis安装
- yum安装:
yum install -y redis
2、安装mysql
编译安装、yum安装二选一:
- 编译安装:编译安装mysql5.7
- yum安装:
# 配置源 wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm yum -y install mysql57-community-release-el7-10.noarch.rpm # 安装mysql yum install -y mysql-server # 查找默认密码 grep "password" /var/log/mysqld.log # 进入数据库配置密码 [root@bogon dashboard]# mysql -uroot -p Enter password: # 修改root密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
二、后端安装
1、创建安装目录
mkdir -p /data/env/open-falcon && cd /data/env/open-falcon
2、下载二进制包
cd /data/
wget https://github.com/open-falcon/falcon-plus/releases/download/v0.2.1/open-falcon-v0.2.1.tar.gz
# 解压
tar xf open-falcon-v0.2.1.tar.gz -C /data/env/open-falcon
3、修改配置文件
# 进入解压目录
cd /data/env/open-falcon
# 需要修改配置文件(password是数据库的密码)
sed -i "s/root:@tcp/root:password@tcp/g" aggregator/config/cfg.json
sed -i "s/root:@tcp/root:password@tcp/g" alarm/config/cfg.json
sed -i "s/root:@tcp/root:password@tcp/g" api/config/cfg.json
sed -i "s/root:@tcp/root:password@tcp/g" graph/config/cfg.json
sed -i "s/root:@tcp/root:password@tcp/g" hbs/config/cfg.json
sed -i "s/root:@tcp/root:password@tcp/g" nodata/config/cfg.json
4、启动openfalcon
# 执行启动脚本
[root@bogon open-falcon]# ./open-falcon start
[falcon-graph] 43881
[falcon-hbs] 43891
[falcon-judge] 43899
[falcon-transfer] 43905
[falcon-nodata] 43912
[falcon-aggregator] 43918
[falcon-agent] 43926
[falcon-gateway] 43934
[falcon-api] 43941
[falcon-alarm] 43949
# 检查服务是否全部启动
root@bogon open-falcon]# ./open-falcon check
falcon-graph UP 43881
falcon-hbs UP 43891
falcon-judge UP 43899
falcon-transfer UP 43905
falcon-nodata UP 43912
falcon-aggregator UP 43918
falcon-agent UP 43926
falcon-gateway UP 43934
falcon-api UP 43941
falcon-alarm UP 43949
# 如上已经全部启动,如果有Down的检查对应服务的日志:如下
root@bogon open-falcon]# ./open-falcon check
falcon-graph UP 43881
falcon-hbs UP 43891
falcon-judge UP 43899
falcon-transfer UP 43905
falcon-nodata UP 43912
falcon-aggregator Down 43918
falcon-agent UP 43926
falcon-gateway UP 43934
falcon-api UP 43941
falcon-alarm UP 43949
[root@bogon open-falcon]# cd aggregator/logs/
[root@bogon logs]# cat aggregator.log
# 服务没有启动可能是数据库密码不正确导致的,检查一下配置文件
三、falcon前端安装
1、安装环境依赖
yum install -y python-virtualenv
yum install -y python-devel
yum install -y openldap-devel
yum install -y mysql-devel
yum groupinstall "Development tools"
2、拉取前端代码
# 切换到falcon安装目录
cd /data/env/open-falcon
# 拉取代码
git clone https://github.com/open-falcon/dashboard.git
3、修改配置文件(修改参数如下)
# 修改配置文件
[root@bogon open-falcon]# vim dashboard/rrd/config.py
API_ADDR = os.environ.get("API_ADDR","http://127.0.0.1:8080/api/v1")
# 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","root")
PORTAL_DB_PASS = os.environ.get("PORTAL_DB_PASS","连接密码")
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","root")
ALARM_DB_PASS = os.environ.get("ALARM_DB_PASS","连接密码")
ALARM_DB_NAME = os.environ.get("ALARM_DB_NAME","alarms")
4、创建虚拟环境
# 切换到前端代码目录
cd /data/env/open-falcon/dashboard
# 创建虚拟环境
virtualenv ./env
# 安装依赖包
./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple
5、启动前端
Debug模式启动,方便调试;
访问地址:IP+8081端口
[root@bogon dashboard]# ./env/bin/python wsgi.py
[warning] no local config file
* Serving Flask app "rrd" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
2022-01-04 18:41:41 INFO: * Running on http://0.0.0.0:8081/ (Press CTRL+C to quit)
默认是没有用户的,需要在sign up注册一个用户才可以登录
访问没有问题就用生产模式启动,直接Ctrl+C结束掉
启动:
[root@bogon dashboard]# bash control start
falcon-dashboard started..., pid=44055
停止:
[root@bogon dashboard]# bash control stop
falcon-dashboard quit...
正文到此结束
- 本文标签: Linux 监控 open-falcon
- 版权声明: 本站原创文章,于2022年01月04日由 发布,转载请注明出处
评论
登录后才能发表评论 登录/注册
0评论