Open-Falcon部署

本文并不分析Open-Falcon的架构或者选用它的原因,官方的文档在这里,虽然还不够完善。不过这也是我写这篇的原因,官方文档并没能把整个部署过程连在一起,而且个别地方有点问题。我在这篇文章中就不介绍各个组件的作用和功能了,只是单纯的介绍如何从零部署。

安装

下载

  wget https://github.com/XiaoMi/open-falcon/releases/download/0.0.5/open-falcon-0.0.5.tar.gz -O open-falcon.tar.gz

解压

 mkdir tmp
 tar -zxvf open-falcon.tar.gz -C ./tmp

基础环境

  sudo apt-get install redis-server
  sudo apt-get install mysql-server
  pip install virtualenv  
  #数据库初始化的代码来源于官方文档
  git clone https://github.com/open-falcon/scripts.git
  cd scripts
  mysql -h localhost -u root -p < db_schema/graph-db-schema.sql
  mysql -h localhost -u root -p < db_schema/dashboard-db-schema.sql  
  mysql -h localhost -u root -p < db_schema/portal-db-schema.sql
  mysql -h localhost -u root -p < db_schema/links-db-schema.sql
  mysql -h localhost -u root -p < db_schema/uic-db-schema.sql

配置

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

agent

mv cfg.example.json cfg.json && ./control start && ./control tail
开始监听1988端口,查看log.
默认端口是1988, 可以打开 http://127.0.0.1:1988 查看一个比较简单的web dashboard. 没什么特殊需要的话, 可以使用默认配置.

hbs

mv cfg.example.json cfg.json && ./control start && ./control tail
心跳服务默认http端口是6030, rpc 端口 6031

transfer

mv cfg.example.json cfg.json && ./control start && ./control tail
默认http端口是6060, rpc端口8433

judge

mv cfg.example.json cfg.json && ./control start && ./control tail
http端口6081, rpc端口 6080
配置项中注意alarm的 redis链接 和hbs的server地址,如果修改过请记得对应.

graph

mv cfg.example.json cfg.json && ./control start && ./control tail
rpc端口 6070, http端口 6071
数据库文件存储在/home/work/data/6070 启动报错的话, 换sudo 或者 root 用户启动.
注意修改数据库连接.

上面的服务配置完成数据就开始采集了.

dashboard

  virtualenv env
  source env/bin/activate
  ./env/bin/pip install -r pip_requirements.txt
  # 使用
  ./env/bin/python wsgi.py
  # 或者用
  deactivate && ./control start && ./control tail

可以更改为自定义端口.这里可以查看Endpoints 的相关数据并绘图.

query

mv cfg.example.json cfg.json && ./control start && ./control tail
只要修改cfg.json 文件即可, 注意还有 graph_backends.txt 文件

fe

mv cfg.example.json cfg.json && ./control start && ./control tail
注意配置项目中的数据库连接, 以及下面的shortcut 中需要配置外网可以访问的地址,如果不是在服务器部署的话,这里默认也没有关系.

portal

这里要注意一个坑. 如果使用./control start 启动服务, 并且更改了默认端口的, 请配置 gunicorn.conf 中的bind项. 如果是使用python wsgi.py启动的话, 修改wsgi.py中的端口即可.
同时在配置 frame/config.py 的时候, 要注意所谓UIC_ADDRESS 选项的配置, 其实就是填写上面fe 模块的地址.

UIC_ADDRESS = {
    'internal': 'http://127.0.0.1:port', #你的内网地址
    'external': 'http://your_fe_name', #外网访问的地址, 如果是本地部署,这里可以和内网地址一样 
}

这里确实想对web界面的操作吐槽一下,相当不人性化.而且配置告警的时候,真的没有把整个流程联系在一起啊喂!这里的配置可以创建一个template 然后再创建监控主机,进行绑定.
在模板中配置的callback() 非常好用.可以在这里直接写告警消息的推送接口,使用第三方服务也ok.

alarm

mv cfg.example.json cfg.json && ./control start && ./control tail
需要配置的就是自定义的端口监控地址, 和下面的api, 其他部分保持默认即可.
它的文档中写着下面这样的说明

{...
 "api": {
     "portal": "http://falcon.example.com", # 内网可访问的portal的地址
     "uic": "http://uic.example.com", # 内网可访问的uic(或fe)的地址
     "links": "http://link.example.com" # 外网可访问的links的地址
 }     
}

但是如果按照这样配的话,所有东西就只能在内网访问了.这明显是不符合我们的期望的. 所以这里要全部配置成外网可以访问的地址,防止踩坑.

sender

这个组件用于调用自己提供的短信和邮件接口, 编辑 cfg.json 添加

{...
 'api': {
     'sms': 'http://your_send_sms_api',
     'mail': 'http://your_send_mail_api'
 }
}

在调用的时候, 会把消息先写入redis队列中, 之后再调用接口,进行消息发送.
worker 参数是对队列的配置.

links

mv cfg.example.json cfg.json && ./control start && ./control tail
告警合并组件, python应用, 记得修改默认端口即可.

其他

task

监控自检程序

gateway

没有跨机房问题可以忽略.(hhah

redis-monitor.py

scripts 文件夹中一个很简单的脚本, 把redis info 中的数据读出,写入数据库, 供监控使用.

最后附图一张,前几天我启动这个服务时候的终端。


2015-10-09-172438_1911x1160_scrot.png

其他相关内容可以移步至我的博客查看

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容

  • 安装步骤 一、下载并且解压 wget https://github.com/XiaoMi/open-falcon/...
    泥瓦匠软件阅读 5,569评论 0 50
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • open-falcon(v0.2)部署手册 ---注:本文中出现的账号,IP信息均...
    痞子中阅读 4,855评论 4 4
  • 由于公司监控需要 需对线上所有TOMCAT进行 GC监控 故采用已下方案: 1:通过jmxmon采集tomcat服...
    k小男生阅读 3,476评论 2 5
  • 在部队里,有一天吃饭的时候,李四被班长骂了,因为他用筷子的方式太特别,抓筷子,食指立着,谁坐在他对面,都被他用手指...
    三悟阅读 314评论 0 0