open-falcon服务端和agent安装方法

7ed6edcd6c0a35dbb03aefba7b88dfbb

小米推出了一款基于golang和python开发开源的web自动化监控运维系统,应大家的要求,我将安装方法在这里留一下:

步骤:

部署前的准备

设置环境变量

redis安装

MySql安装

初始化Mysql脚本

下载open-falcon

安装GoLang环境 (只是使用的话,无需安装,略过)

开始部署

安装agent

安装hbs

安装transfer

安装graph

安装query

安装 dashboard

安装judge

安装portal

安装alarm

安装sender

安装links

安装fe

特别说明:

针对每个组件的cfg.json或者配置文件,各位还是需要自己配置一下,或者采用github上的安装方法。

#open-falcon_1.0版本服务端和服务端的agent安装方法

#以下仅针对centos6的root用户下安装、配置

yum remove git -y

yum install wget unzip -y

#系统初始化(本处可以参考自己的选择)

yum install -y gcc gdb strace gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs patch e2fsprogs-devel krb5-devel libidn libidn-devel openldap-devel nss_ldap openldap-clients openldap-servers libevent-devel libevent uuid-devel uuid mysql-devel libxslt-devel gd* perl perl-devel  gzip openssl  openssl-devel vim epel-release

#falcon工作机制:

#安装git

yum install expat-devel  -y  #http-push模块的依赖

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y

wget https://codeload.github.com/git/git/tar.gz/v1.9.2

mv v1.9.2 git-1.9.2.tar.gz

tar -zxf git-1.9.2.tar.gz

cd ./git-1.9.2

make

make install

git –version

#安装golang环境

wget -c https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz

tar -C /usr/local/ -xzf go1.8.3.linux-amd64.tar.gz

vim /etc/profile

export PATH=$PATH:/usr/local/go/bin

source /etc/profile

go version

#go环境相关设置

#安装redis、epel源

yum install epel-release -y

yum install redis -y

service redis start     #redis无账户、无密码

#redis的检测方法:

#[root@localhost ~]#redis-benchmark -h localhost -p 6379 -c 100 -n 100000

#100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能

#[root@localhost ~]#redis-cli -h localhost -p 6379 monitor

#Dump all the received requests in real time;

#监控host为localhost,端口为6380,redis的连接及读写操作

#[root@localhost ~]#redis-cli -h localhost -p 6379 info

#Provide information and statistics about the server

#提供host为localhost,端口为6380,redis服务的统计信息

#安装数据库

yum install mysql mysql-server php-mysql.x86_64 -y

service mysqld start    #mysql的root无密码

#下载安装falcon安装sql脚本

git clone https://github.com/open-falcon/scripts.git

cd scripts

mysql -uroot < db_schema/dashboard-db-schema.sql

mysql -uroot < db_schema/graph-db-schema.sql

mysql -uroot < db_schema/links-db-schema.sql

mysql -uroot < db_schema/portal-db-schema.sql

mysql -uroot < db_schema/uic-db-schema.sql

#/* mysql如果有密码,需要指定密码.*/

#下载、设置open-falcon工作目录

export WORKSPACE=/root/open-falcon   #这是falcon安装时临时设置环境变量,关闭shell失效

mkdir -pv $WORKSPACE

DOWNLOAD=”https://github.com/open-falcon/of-release/releases/download/v0.1.0/open-falcon-v0.1.0.tar.gz”

cd $WORKSPACE

mkdir -pv ./tmp

wget $DOWNLOAD -O open-falcon-latest.tar.gz

tar -zxf open-falcon-latest.tar.gz -C ./tmp/

for x in `find ./tmp/ -name “*.tar.gz”`;do \

app=`echo $x|cut -d ‘-‘ -f2`; \

mkdir -p $app; \

tar -zxf $x -C $app; \

done

#更换yum源为163

cd /etc/yum.repos.d

mv CentOS-Base.repo CentOS-Base.repo.backup

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

mv CentOS6-Base-163.repo CentOS-Base.repo

yum clean all

yum makecache

#安装agent,每台机器上,都需要部署agent,agent会自动采集预先定义的各种采集项,每隔60秒,push到transfer。

cd $WORKSPACE

cd agent/

mv cfg.example.json cfg.json

vim cfg.json

./control start

./control tail

#校验agent服务,默认:http://127.0.0.1:1988

#安装hbs;心跳服务器,公司所有agent都会连到HBS,每分钟发一次心跳请求。

cd hbs/

mv cfg.example.json cfg.json

vim cfg.json

./control start

./control tail

#安装transfer;默认监听在:8433端口上,agent会通过jsonrpc的方式来push数据上来。

cd $WORKSPACE

cd ../transfer/

mv cfg.example.json cfg.json

vim cfg.json

./control start

./control tail

#/* 校验服务,这里假定服务开启了6060的http监听端口。检验结果为ok表明服务正常启动。 */

curl -s http://127.0.0.1:6060/health

#安装graph组件,是存储绘图数据、历史数据的组件。transfer会把接收到的数据,转发给graph。

cd ../graph/

mv cfg.example.json cfg.json

vim cfg.json

./control start

./control tail

#

/* 校验服务,这里假定服务开启了默认6071的http监听端口。检验结果为ok表明服务正常启动。 */

curl -s http://127.0.0.1:6071/health

#安装query组件,绘图数据的查询接口,query组件收到用户的查询请求后,会从后端的多个graph,查询相应的数据,聚合后,再返回给用户。

cd ../query/

mv cfg.example.json cfg.json

vim cfg.json

./control start

./control tail

#安装dashboard是面向用户的查询界面,在这里,用户可以看到push到graph中的所有数据,并查看其趋势图。

#这里需要安装两个软件, pip 和virtualenv 。如果软件仓库里面有,直接用yum安装,否则需要用源码来安装。

#下面介绍用源码来安装 pip 和 virtualenv。

yum install python-setuptools -y

yum install readline-devel sqlite-devel -y

cd ..

wget https://bootstrap.pypa.io/get-pip.py -c

python get-pip.py

pip –version

pip install virtualenv

#使用国内豆瓣源

mkdir -pv /root/.pip

vi /root/.pip/pip.conf

[global]

index-url = http://pypi.douban.com/simple

trusted-host = pypi.douban.com

#安装pip依赖,如果不安装在后面env会gcc报错等

yum install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev -y

yum -y install gcc automake autoconf libtool make zlib-devel openssl* bzip2* -y

yum -y install mysql-devel libxml2 libxml2-dev libxslt* zlib gcc openssl

yum install gcc python-devel -y

#安装,dashboard的config的路径为 $WORKSPACE/dashboard/rrd/config.py,里面有数据库相关的配置信息,如有必要,请修改。默认情况下(所有组件都在同一台服务器上),保持默认配置即可

cd /root/open-falcon/dashboard/

virtualenv ./env

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

./control start

./control tail

#检效dashboard

curl -s http://127.0.0.1:8081

#安装Judge用于告警判断,agent将数据push给Transfer,Transfer不但会转发给Graph组件来绘图,还会转发给Judge用于判断是否触发告警。

cd  ../judge/

mv cfg.example.json cfg.json

vim cfg.json

./control start

./control tail

#安装Portal是用来配置报警策略的;Portal是个Python的项目,无需像Go的项目那样去做编译。不过Go的项目是静态编译的,编译好了之后二进制无依赖,拿到其他机器也可以跑起来,Python的项目就需要安装一些依赖库了。

cd ../portal/

virtualenv ./env

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

./control start

./control tail

#Portal的配置文件在frame/config.py

#安装alarm模块是处理报警event的,judge产生的报警event写入redis,alarm从redis读取处理

cd ../alarm/

mv cfg.example.json cfg.json

vim cfg.json

./control start

./control tail

#安装Sender这个模块专门用于调用各公司提供的邮件、短信发送接口。

cd ../sender/

mv cfg.example.json cfg.json

vim cfg.json

./control start

./control tail

#安装Links是为报警合并功能写的组件。如果你不想使用报警合并功能,这个组件是无需安装的。

cd ../links/

virtualenv ./env

vim ./frame/config.py

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

#Links的配置文件在frame/config.py,注意里面的配置。

#安装fe;这是Go版本的UIC,也是一个统一的web入口,因为监控组件众多,记忆ip、port去访问还是比较麻烦。fe像是一个监控的集合面板

cd ../fe/

mv cfg.example.json cfg.json

vim cfg.json

./control start

./control tail

#检效fe,默认是port是1234

curl -s http://127.0.0.1:1234

#配置fe的root密码

http://127.0.0.1/root?password=abcd

#密码设置可以根据自己的情况使用浏览器参照以上方法使用,

#对于falcon有一点需要特别说明,他不适合在公开网络使用,尤其是board部分,只要有你的端口就可以直达,除非你很清楚自己的安全可控。

说明:对于使用NAT网络的请注意端口映射就好,有问题可以留言或Q我。

在此,向开源的小米和其falcon团队致敬!

github地址:https://github.com/open-falcon

~~~~~~~~~~~~~~~~~~~~~~~~~~~

open-falcon 2.0快速安装(后端和前端安装在一台服务器上)

#以下仅针对centos6的root用户下安装、配置

yum remove git -y

yum install wget unzip -y

#系统初始化(本处可以参考自己的选择)

yum install -y gcc gdb strace gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs patch e2fsprogs-devel krb5-devel libidn libidn-devel openldap-devel nss_ldap openldap-clients openldap-servers libevent-devel libevent uuid-devel uuid mysql-devel libxslt-devel gd* perl perl-devel  gzip openssl  openssl-devel vim epel-release

#安装git

yum install expat-devel  -y  #http-push模块的依赖

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel -y

wget https://codeload.github.com/git/git/tar.gz/v1.9.2

mv v1.9.2 git-1.9.2.tar.gz

tar -zxf git-1.9.2.tar.gz

cd ./git-1.9.2

make

make install

git –version

#安装golang环境

wget -c https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz

tar -C /usr/local/ -xzf go1.8.3.linux-amd64.tar.gz

vim /etc/profile

export PATH=$PATH:/usr/local/go/bin

source /etc/profile

go version

#安装redis、epel源

yum install epel-release -y

yum install redis -y

service redis start     #redis无账户、无密码

#redis的检测方法:

#[root@localhost ~]#redis-benchmark -h localhost -p 6379 -c 100 -n 100000

#100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能

#[root@localhost ~]#redis-cli -h localhost -p 6379 monitor

#Dump all the received requests in real time;

#监控host为localhost,端口为6380,redis的连接及读写操作

#[root@localhost ~]#redis-cli -h localhost -p 6379 info

#Provide information and statistics about the server

#提供host为localhost,端口为6380,redis服务的统计信息

#安装数据库

yum install mysql mysql-server php-mysql.x86_64 -y

service mysqld start    #mysql的root无密码

初始化MySQL表结构

cd /tmp/ && git clone https://github.com/open-falcon/falcon-plus.git

cd /tmp/falcon-plus/scripts/mysql/db_schema/

mysql -h 127.0.0.1 -u root -p < 1_uic-db-schema.sql

mysql -h 127.0.0.1 -u root -p < 2_portal-db-schema.sql

mysql -h 127.0.0.1 -u root -p < 3_dashboard-db-schema.sql

mysql -h 127.0.0.1 -u root -p < 4_graph-db-schema.sql

mysql -h 127.0.0.1 -u root -p < 5_alarms-db-schema.sql

rm -rf /tmp/falcon-plus/

如果你是从v0.1.0升级到当前版本v0.2.0,那么只需要执行如下命令:

mysql -h 127.0.0.1 -u root -p < 5_alarms-db-schema.sql

#服务端安装

export HOME=/home/work

export WORKSPACE=$HOME/open-falcon

mkdir -p $WORKSPACE

cd $WORKSPACE

pwd

cd

wget -c https://github.com/open-falcon/falcon-plus/releases/download/v0.2.0/open-falcon-v0.2.0.tar.gz

tar -xzvf open-falcon-v0.2.0.tar.gz -C $WORKSPACE

cd $WORKSPACE

./open-falcon start

./open-falcon check

#客户端安装(以下是跟服务端在一台机器上)

yum install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev -y

yum -y install gcc automake autoconf libtool make zlib-devel openssl* bzip2* -y

yum -y install mysql-devel libxml2 libxml2-dev libxslt* zlib gcc openssl

git clone https://github.com/open-falcon/dashboard.git

yum install -y python-virtualenv

yum install -y python-devel

yum install -y openldap-devel

yum install -y mysql-devel

yum groupinstall “Development tools”

cd ./dashboard/

virtualenv ./env

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

bash control start

bash control tail

curl -s http://127.0.0.1:8080    #返回ok既是安装好了

http://127.0.0.1:8081    #查看首页

http://127.0.0.1:1988    #查看服务端的agent图标显示

发表评论

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