蛮复杂的样子

根据官方文档指导,一步一步走起:https://book.open-falcon.org/zh_0_2/quick_install/prepare.html

单机安装的过程:单击安装会把所有的应用都(server、agent、api、alarm、graph)安装到一个设备上

1、redis、mysql安装无问题:service start redisd/service mysqld start;配置自启动:chkconifg redisd on/chkconfig mysqld on

2、源码编译出现问题,不管,直接用编译好的二机制版本

3、后端安装启动,没有问题 ./open-falcon start/stop/restart [agent/api]

重新加载配置:./open-falcon reload [agent/api]

查看全部或单个应用启动情况:./open-falcon check [agent/api]

监控某个应用:./open-falcon monitor agent

4、前端安装启动,注意下面创建的虚拟环境env,必须在dashboard目录下

virtualenv ./env

启动等命令:sh control start|stop|restart|status|tail|kill9|version|pack

日志查看:sh control tail

注意事项:

1、需要python2.7.x环境,不然安装python依赖包的时候会报错

./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple

2、可以yum安装的,就使用yum安装,比如go、mysql、redis

3、中文化:直接修改/home/admin/open-falcon/dashboard/rrd/templates里的内容就可以,比如直接修改navbar.html里的字段,效果

4、配置文件路径:前端dashboard的配置文件 /home/admin/open-falcon/dashboard/rrd/config.py 配置了调用api的端口信息

api的配置文件:api/config/cfg.json。里面配置了api的端口信息

5、log路径,在各个应用下的logs目录,dashboard在其目录下的var目录下

6、开启dashboard的调试模式:dashboard/rrd/config.py

6、有个坑:当api的默认端口8080被其他应用占用的时候,./open-falcon check的时候,falcon-api状态依然是up的状态,但是从api/logs/api.log里可以看到错误信息

7、agent进行分布式安装:

毕竟单机安装只能监控单机的情况,当需要其他机器时,就需要安装agent。

open-falcon的agent用于采集机器负载监控指标,比如cpu.idle、load.1min、disk.io.util等等,每隔60秒push给Transfer。agent与Transfer建立了长连接,数据发送速度比较快,agent提供了一个http接口/v1/push用于接收用户手工push的一些数据,然后通过长连接迅速转发给Transfer。agent项目之前是一个独立项目名字叫falcon-eye ,其自带有web页面来自于linux-dash项目。参考:https://book.open-falcon.org/zh/quick_install/graph_components.html

方法简单:

1、需要把二进制解压后的agent目录和open-falcon执行脚本放入到被监控机器的某个目录。我是把整个目录拷贝过去的,只通过命令行 ./open-falcon start agent 启动agent就可以了

2、修改agent的配置,使其ip信息指向server端:vim agent/config/cfg.json

总共两个IP地址:一个是心跳;一个是transfer应用的。n多个机器上的agent主动把信息发送给server的transfer

配置涵义:

{
"debug": true,
"hostname": "",
"ip": "",
"plugin": {
"enabled": false, #默认不开启插件机制
"dir": "./plugin",
"git": "https://github.com/open-falcon/plugin.git",
"logs": "./logs"
},
"heartbeat": {
"enabled": true, #此处enabled要设置为true
"addr": "0.0.0.0:6030", #server上hbs的地址,端口是hbs的rpc端口
"interval": ,
"timeout":
},
"transfer": {
"enabled": true, #此处enabled要设置为true
"addrs": [
"0.0.0.0:8433" #transfer的地址,这里写服务端的IP地址,因为transfer部署在服务端,端口是transfer的rpc端口,这个写多个IP:Port的话,会发给多个Server吗?
],
"interval": ,
"timeout":
},
"http": {
"enabled": true,
"listen": ":1988",
"backdoor": false
},
"collector": {
"ifacePrefix": ["eth", "em"], #默认配置只会采集网卡名称前缀是bond、em的网卡流量,配置为空就会采集所有的,lo的也会采集。
"mountPoint": []
},
"default_tags": {
},
"ignore": {          #默认采集了200多个metric,可以通过ignore设置为不采集
"cpu.busy": true,
"df.bytes.free": true,
"df.bytes.total": true,
"df.bytes.used": true,
"df.bytes.used.percent": true,
"df.inodes.total": true,
"df.inodes.free": true,
"df.inodes.used": true,
"df.inodes.used.percent": true,
"mem.memtotal": true,
"mem.memused": true,
"mem.memused.percent": true,
"mem.memfree": true,
"mem.swaptotal": true,
"mem.swapused": true,
"mem.swapfree": true
}
}

3、agnet启动后,可以访问ip:1988来访问agent的web界面

4、agent提供了一个http接口/v1/push用于接收用户手工push的一些数据

所以,你可以本地使用python等语言采集其他信息,然后发送给agent的接口/v1/push

https://github.com/open-falcon可以查看相关的项目和插件脚本

参考:

1、http://open-falcon.org/

2、https://book.open-falcon.org/zh_0_2/

3、https://blog.csdn.net/u012724150/article/details/53309522

4、http://futeng.iteye.com/blog/2071867

5、https://itbilu.com/database/redis/4kB2ninp.html

6、https://blog.csdn.net/dbanote/article/details/12911851

7、http://www.cnblogs.com/kevingrace/p/7361963.html

openfalcon的安装和使用的更多相关文章

  1. Open-Falcon第二步安装绘图组件Transfer(小米开源互联网企业级监控系统)

    ----安装绘图组件---- 安装Transfer transfer默认监听在:8433端口上,agent会通过jsonrpc的方式来push数据上来. cd /usr/local/open-falc ...

  2. 监控软件之open-falcon安装、配置篇

    2019-07-10 一.open-falcon简介 open-falcon是由小米运维团队,从互联网公司角度为出发点,开发出来的一套面向互联网行业的企业级的开源监控系统,截至2019年7月,open ...

  3. open-falcon(v0.2)部署手册(源码编译)

    今天安装falcon-plus,下面为用基础环境配置. centos 6.8  alisql5.6.32   redis-3.2.8 cmake-3.9.1 bison-3.0 openssl-1.0 ...

  4. open-falcon部署v0.2.1版本

    环境准备 安装redis yum install redis -y systemctl start redis 安装mysql rpm -ivh http://dev.mysql.com/get/my ...

  5. open-falcon实现邮件报警

    1.请安装好Go的环境,参考上一篇open-falcon的安装博文 2.安装 mail-provider https://github.com/open-falcon/mail-provider 安装 ...

  6. open-falcon监控Flume

    1.首先你需要知道flume的http监控端口是否启动 请参考博文 Flume的监控参数 即在 http://localhost:3000/metrics 可以访问到如下内容 2.在open-falc ...

  7. 运维监控系统之Open-Falcon

    一.Open-Falcon介绍 1.监控系统,可以从运营级别(基本配置即可),以及应用级别(二次开发,通过端口进行日志上报),对服务器.操作系统.中间件.应用进行全面的监控,及报警,对我们的系统正常运 ...

  8. Centos7部署Open-Falcon监控

    参考博主:努力哥完成 一.Open-Falcon介绍 1.监控系统,可以从运营级别(基本配置即可),以及应用级别(二次开发,通过端口进行日志上报),对服务器.操作系统.中间件.应用进行全面的监控,及报 ...

  9. Open-Falcon第七步安装报警模块(小米开源互联网企业级监控系统)

    sender调用各个公司提供的mail-provider和sms-provider,按照某个并发度,从redis中读取邮件.短信并发送,alarm生成的报警短信和报警邮件都是直接写入redis即可,s ...

随机推荐

  1. Java 的访问权限

    public>protected>默认(包访问权限)>private,因为protected除了可以被同一包访问,还可以被包外的子类所访问

  2. LeetCode 最大正方形

    在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积. 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4解法:判 ...

  3. Bzoj 1055: [HAOI2008]玩具取名 (区间DP)

    Bzoj 1055: [HAOI2008]玩具取名 (区间DP) 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1055 区间动态规划和可 ...

  4. [php] 接口及方法和抽象类及方法的异同点

    比较项目 接口 抽象类 方法是否有实体 无 抽象方法无实体,非抽象方法可以有实体 方法开闭性 public public,protected,private 重载方法的开闭性 public 必须与父类 ...

  5. Lecture1 实验过程模型

    Part 1 基本概念 因变量:待检验理论重点关注的,受多个变量影响的变量.(实际考察的,结果) 自变量:影响因变量变化的变量. 因子:重点关注的自变量. 控制变量(control variables ...

  6. Ubuntu 16.04 LTS上git提交出现警告Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts. 的解决方法

    问题: Ubuntu 16.04 LTS执行 git pull时总会出现以下警告: Warning: Permanently added 'github.com,52.74.223.119' (RSA ...

  7. PAT Basic 1066

    1066 图像过滤 图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来.现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换. 输入格式: 输入在第一 ...

  8. 二分查找与 bisect 模块

    Python 的列表(list)内部实现是一个数组,也就是一个线性表.在列表中查找元素可以使用 list.index() 方法,其时间复杂度为O(n).对于大数据量,则可以用二分查找进行优化.二分查找 ...

  9. DDoS 攻击与防御:从原理到实践(上)

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 可怕的 DDoS 出于打击报复.敲诈勒索.政治需要等各种原因,加上攻击成本越来越低.效果特别明显等趋势,DDoS 攻击已经演变成全球性的网络安全威胁 ...

  10. python基础-range和xrange的区别

    range(start,stop,step): 1.用于循环时使用,可以给定开始,结束,和步长 例如: >>> for i in range(2,10,2):... print i, ...