单机部署open-falcon 0.2
如果对falcon不了解,建议先对下这篇文章《open-falcon介绍》(http://book.open-falcon.org/zh/intro/index.html)
为什么要选择open-falcon?
* 灵活的数据采集,支持自定义数据上报
* 支持策略模板、模板继承和覆盖
* 高效的告警判别,支持告警暂停、维护周期设置
* 组件支持水平拓展
* 大部分用golang编写,部署相对简单
open-falcon是采用了前后端分离的架构,这里演示前后端部署在同一主机上。整个部署划分为三大步骤:一、环境准备,二、后端部署,三、前端部署
一、环境准备:
需要注意一下三个版本的限制:
mysql 5.5及以下
go *>=1.6
git *>=1.7.5
1、安装git
[root@cml_ali_sz_120 etc]# yum install -y git
安装完成后查看版本信息是否符合以上要求:
[root@cml_ali_sz_120 etc]# git version git version 1.8.3.1
2、安装go语言环境(因为官方yum和阿里yum都没有go的安装包,故只能通过fedora的epel仓库来安装)
[root@cml_ali_sz_120 etc]# yum install -y epel-release [root@cml_ali_sz_120 etc]# yum install golang -y
同样的需要检查下go的版本是否符合上面要求:
[root@cml_ali_sz_120 etc]# go version go version go1.9.4 linux/amd64
3、安装redis:(这里我选择使用源码安装,而且为了方便使用的是shell脚本一键安装的,所以下面贴出安装redis的命令部分)
redis () {cd /root/srctar xzvf redis-4.0.8.tar.gzmv redis-4.0.8 /usr/local/rediscd /usr/local/redismakerm -f /usr/local/bin/redis-cliln -s /usr/local/redis/src/redis-cli /usr/local/bin }
4、安装mysql(一样使用脚本安装)
# Mysql yum install -y cmake ncurses-devel gcc gcc-c++ libstdc++-devel libtool-ltdl libtool-ltdl-devel \ bison-devel libaio libaio-devel libtool mysql-devel gcc python-devel Mysql () { groupadd mysql useradd -r -s /bin/false -g mysql mysql cd /root/src rm -rf mysql-5.7.21 tar xzvf mysql-boost-5.7.21.tar.gz cd mysql-5.7.21 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DSYSCONFDIR=/etc/ \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DWITH_SSL=bundled \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_DEBUG=0 \ -DWITH_BOOST=boost if make;thenmake install elseexit 1 fi /bin/cp support-files/mysql.server /etc/init.d/mysql chmod a+x /etc/init.d/mysql cd /usr/local/mysql rm -rf /etc/my.cnf cp -f support-files/my-default.cnf /etc/my.cnf chown -R mysql . chgrp -R mysql . bin/mysqld --initialize chown -R root . chown -R mysql data echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf ldconfig rm -f /usr/local/bin/mysql ln -s /usr/local/mysql/bin/mysql /usr/local/bin/ chkconfig --add mysql chkconfig mysql on }
当然为了方便也是可以使用yum安装redis于mysql服务的
yum安装redis:
yum install redis -y
启动redis
systemctl start redis
设置redis开机启动
systemctl enable redis
可以用下面的语句查看redis是否开启
systemctl status redis
yum安装mysql:
yum install mysql-server -y
启动mysql
systemctl start mysql
可以用下面的语句查看mysql是否开启
systemctl status mysql
5、设置环境变量GOROOT和GOPATH
[root@cml_ali_sz_120 etc]# export GOROOT=/usr/lib/golang [root@cml_ali_sz_120 etc]# export GOPATH=/home
6、从github上下载open-falcon源码:
创建本地路径
[root@cml_ali_sz_120 ~]# mkdir -p $GOPATH/src/github.com/open-falcon [root@cml_ali_sz_120 ~]# cd $GOPATH/src/github.com/open-falcon
git clone github上的源码
[root@cml_ali_sz_120 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/ mysql -h 127.0.0.1 -u root -ppasswd < 1_uic-db-schema.sql mysql -h 127.0.0.1 -u root -ppasswd < 2_portal-db-schema.sql mysql -h 127.0.0.1 -u root -ppasswd < 3_dashboard-db-schema.sql mysql -h 127.0.0.1 -u root -ppasswd < 4_graph-db-schema.sql mysql -h 127.0.0.1 -u root -ppasswd < 5_alarms-db-schema.sql
将passwd修改成自己的密码
8、编译源码安装并打包
进入本地源码路径
[root@cml_ali_sz_120 open-falcon]# cd $GOPATH/src/github.com/open-falcon/falcon-plus/
使用go get获取rrdtool工具包(make过程卡壳的一个点,这一步是官方教程没有提到的内容,如果不获取该工具包make的时候会报错。)
[root@cml_ali_sz_120 falcon-plus]# go get github.com/open-falcon/rrdlite
编译所有模块
[root@cml_ali_sz_120 falcon-plus]# make all
然后打包
[root@cml_ali_sz_120 falcon-plus]# make pack
9、官方提供的安装包
https://book.open-falcon.org/zh_0_2/quick_install/prepare.html中官方有提供编译包,如果编译过程不顺利可以直接下载编译包。
二、部署后端
1、创建后端目录
[root@cml_ali_sz_120 ~]# export WORKSPACE=/home/work [root@cml_ali_sz_120 ~]# mkdir -p $WORKSPACE
2、解压二进制包:
[root@cml_ali_sz_120 falcon-plus]# cd $GOPATH/src/github.com/open-falcon/falcon-plus/ [root@cml_ali_sz_120 falcon-plus]# tar -zxvf open-falcon-v0.2.1.tar.gz -c $WORKSPACE
3、修改配置文件cfg.json
猜测部分模块依赖连接数据库,因为如果不修改配置文件,aggregator模块会出现无法启动,graph、hbs、nodata、api、alarm模块会出现开启不报错但是状态为开启失败的情况。(个人认为这块的设计值得作为open-falcon优化的一个点,连接本机mysql如果失败是可以收到错误提示的,第一时间有报错提示总比什么都不显示或显示开启但实际开启失败强,如果别人服务都不知道怎么开起来,系统功能再强大有多少人硬着头皮部署下去而不是选择换个系统试试呢)
如果需要每个模块都能正常启动,需要将上面模块的cfg.json的数据库信息进行修改。根据本教程的配置,需要修改配置文件所在的目录:
模块 配置文件所在路径
aggregator /home/work/aggregator/config/cfg.json
graph /home/work/graph/config/cfg.json
hbs /home/work/hbs/config/cfg.json
nodata /home/work/nodata/config/cfg.json
api /home/work/api/config/cfg.json
alarm /home/work/alarm/config/cfg.json
(mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。)
1)修改aggregator的配置文件
vim /home/work/aggregator/config/cfg.json
2)修改graph的配置文件
vim /home/work/graph/config/cfg.json
3)修改hbs的配置文件
vim /home/work/hbs/config/cfg.json
4)修改nodata的配置文件
vim /home/work/nodata/config/cfg.json
5)修改api的配置文件
vim /home/work/api/config/cfg.json
6)修改alarm的配置文件
vim /home/work/alarm/config/cfg.json
4、启动后端模块:
[root@cml_ali_sz_120 work]# cd $WORKSPACE [root@cml_ali_sz_120 work]# ./open-falcon start
检查下各个模块的启动情况:
[root@cml_ali_sz_120 work]# ./open-falcon checkfalcon-graph UP 1722falcon-hbs UP 1730falcon-judge UP 1735falcon-transfer UP 1743falcon-nodata UP 1749falcon-aggregator UP 1756falcon-agent UP 1764falcon-gateway UP 1771falcon-api UP 1777falcon-alarm UP 1789
不会使用命令可以-h查看:
[root@cml_ali_sz_120 work]# ./open-falcon -h
Usage:
open-falcon [flags]
open-falcon [command]
Available Commands:
check Check the status of Open-Falcon modules
help Help about any command
monitor Display an Open-Falcon module's log
reload Reload an Open-Falcon module's configuration file
restart Restart Open-Falcon modules
start Start Open-Falcon modules
stop Stop Open-Falcon modules
Flags:
-v, --version show version
Use "open-falcon [command] --help" for more information about a command.
三、部署前端:
1、创建前端目录:
[root@cml_ali_sz_120 ~]# export FRONTSPACE=/home/front/open-falcon [root@cml_ali_sz_120 ~]# mkdir -p $FRONTSPACE
2、在github上下载前端代码:
[root@cml_ali_sz_120 open-falcon]# cd $FRONTSPACE [root@cml_ali_sz_120 open-falcon]# git clone https://github.com/open-falcon/dashboard.git
3、安装需要的依赖包:
yum install -y python-virtualenv yum install -y python-devel yum install -y openldap-devel yum install -y mysql-devel yum groupinstall "Development tools" -y cd $FRONTSPACE/dashboard/ virtualenv ./env ./env/bin/pip install -r pip_requirements.txt
4、修改配置
根据本次记录的配置,dashboard的配置文件在/home/front/open-falcon/dashboard/rrd/config.py,需要根据实际情况对内部配置进行修改。
由于前端后台搭在一台虚拟机里,且暂时不接入LDAP,且数据库root的密码为空,故先不修改配置文件。
5、假如开启firewalld开放8081端口即可:
firewall-cmd --add-port=8081/tcp --permanent firewall-cmd --reload
6、启动control:
[root@cml_ali_sz_120 dashboard]# bash control start
7、以开发者模式启动:
[root@cml_ali_sz_120 dashboard]# ./env/bin/python wsgi.py
然后直接访问open-falcon:http://localhost:8081
然后进去后因为没有账号所以先要注册一个管理员账号:
点击右上角的sign up注册
然后就可以监控主机信息:
转载于:https://blog.51cto.com/legehappy/2129260
单机部署open-falcon 0.2相关推荐
- (一)联邦学习FATE框架1.6.0版本单机部署和实战训练评估篇
FATE 1.6.0学习笔记 系统安装,环境搭建和fate框架搭建指南手册下载 链接:https://pan.baidu.com/s/1K-88uye6RN3tLHw6f_r9Ug 提取码:5y2u ...
- FATE 1.10.0 单机部署
前言 使用环境为VMware Workstation 16 Player +CentOS7 其使用环境详细可见联邦学习FATE(单机部署)案例搭建+安装(超详细)中的前半部分. 环境部署 进入终端 部 ...
- centos6.5环境下zookeeper-3.4.6集群环境部署及单机部署详解
centos6.5环境下Zookeeper-3.4.6集群环境部署 [系统]Centos 6.5 集群部署 [软件]准备好jdk环境,此次我们的环境是open_jdk1.8.0_101 zookeep ...
- Geomesa-Hbase单机部署及ingest、export shp文件数据
本文记录一下Geomesa-Hbase单机部署,步骤如下: 1.在VMware下创建虚拟机 2.安装Linux系统(我选的是centos6.8) https://www.cnblogs.com/hel ...
- mongodb单机部署
mongodb单机部署 1.下载 去官网下载https://www.mongodb.com/try/download/community 下载完后解压. 2.启动 先在解压的文件夹下面创建一个data ...
- solr4.8单机部署(solr4.8+tomcat7)
所需软件:solr4.8.1.Tomcat7 下载完相应软件后开始单机部署(windows下) 在F盘根目录创建solr文件夹,并解压solr4.8和tomcat7到该文件夹 在F盘根目录创建solr ...
- linux 下 storm环境搭建,Storm在Ubuntu环境下的单机部署
Storm在Ubuntu环境下的单机部署 目录 查看Ubuntu 安装JDK 安装Pythod 安装Zookeeper 安装ZeroMQ 安装Jzmp 安装Storm 查看Ubuntu是32位还是64 ...
- Greenplum5单机部署连接报错 System was started in master-only utility mode问题修复
psql连接单机部署的Greenplum5会报错: psql: FATAL: System was started in master-only utility mode - only utilit ...
- Mac/Linux 安装联邦学习 Fate 框架单机部署所需的依赖(填坑大全)
安装过程各种坑,官方单机部署教程,然而官方教程问题超多,我在Mac本机与新建的ubuntu18.04.5上分别单机部署,使用standalone-fate-master-1.4.5.tar.gz,py ...
- kylin版本_kylin多维数据分析(一)单机部署
点击上方蓝字关注 [写在前面]:前段时间因为项目需要,使用了一段时间的kylin进行多维数据分析.从kylin单机/分布式部署.事实表维度表设计.再到cube优化和调度等全都亲手实操了一遍.过程中的所 ...
最新文章
- Ubuntu 16.04 安装arm-linux-gcc交叉编译
- Direct2D (25) : 将画笔线条所占用的区域转换为路径 - ID2D1Geometry.Widen()
- project5 大数据
- SnipperImages(Silverlight DEMO)控件设计之--Slider和ColorSlider
- BZOJ1007:[HNOI2008]水平可见直线(计算几何)
- 一步一步学Entity Framework 4(2)
- 用 1 行 Python 代码实现 FTP 服务器 - Pyftpdlib
- Data truncation: Out of range value for column ‘quanity‘ at row 问题解决方案
- 计算机抛硬币模拟器,GitHub - Jameszyq/tossCoin: 抛硬币,微信小程序
- 企业如何选择SSL证书?
- nifi mysql to mysql_NiFi 实战
- 线性链表--插入、删除、显示、销毁
- shenyu2.5.0对restful的path中文不支持,400错误解决
- RMS调度器实现原理
- 生物安全实验室送排风设计标准
- PAT-2019年冬季考试-甲级-7-1 Good in C (20分)超详解,几招就满分通过
- Failure 与 Error
- python从入门到大师_Python趣味打怪:60秒学会一个例子,147段简单代码助你从入门到大师 | 中文资源...
- 关于物联网的一点畅想
- 偶然遇见斗鱼的小姐姐
热门文章
- 2022年科学突破奖,9人共获奖金1500万美元,mRNA 新冠疫苗2位奠基人获奖
- 上万家物联网公司会被“政策死”吗
- 其实,我是一名程序员!
- Oracle 又裁员,传 N+6 补偿
- (2)PyCharm开发Flash项目之蓝图构建
- ZooKeeper基础学习
- 乐乐茶完成近2亿元Pre-A轮融资,祥峰投资领投
- pygame 笔记-8 背景音乐子弹音效
- 【进阶3-1期】JavaScript深入之史上最全--5种this绑定全面解析
- hbase_异常_03_java.io.EOFException: Premature EOF: no length prefix available