转载:https://www.cnblogs.com/nulige/p/7741580.html
运维监控系统之Open-Falcon
一、Open-Falcon介绍
1、监控系统,可以从运营级别(基本配置即可),以及应用级别(二次开发,通过端口进行日志上报),对服务器、操作系统、中间件、应用进行全面的监控,及报警,对我们的系统正常运行的作用非常重要。
2、基础监控
CPU、Load、内存、磁盘、IO、网络相关、内核参数、ss 统计输出、端口采集、核心服务的进程存活信息采集、关键业务进程资源消耗、NTP offset采集、DNS解析采集,这些指标,都是open-falcon的agent组件直接支持的。
Linux运维基础采集项:http://book.open-falcon.org/zh/faq/linux-metrics.html
对于这些基础监控选项全部理解透彻的时刻,也就是对Linux运行原理及命令进阶的时刻。
3、第三方监控
术业有专攻,运行在OS上的应用甚多,Open-Falcon的开发团队不可能把所有的第三方应用的监控全部做完,这个就需要开源社区提供更多的插件,当前对于很多常用的第三方应用都有相关插件了。
4、JVM监控
对于Java作为主要开发语言的大多数公司,对于JVM的监控不可或缺。
每个JVM应用的参数,比如GC、类加载、JVM内存、进程、线程,都可以上报给Falcon,而这些参数的获得,都可以通过MxBeans实现。
使用 Java 平台管理 bean:http://www.ibm.com/developerworks/cn/java/j-mxbeans/
5、业务应用监控
对于业务需要监控的接口,比如响应时间等。可以根据业务的需要,上报相关数据到Falcon,并通过Falcon查看结果。
二、Zabbix、Nagios、Open-Falcon这3大开源运维监控工具的比较
三、Open-Falcon编写的整个脑洞历程
小米开源监控系统OpenFalcon应对高并发7种手段:http://h2ex.com/894
官网:
https://github.com/open-falcon/falcon-plus/releases
说明:Open-Falcon部署分为前端(客户端)和后端(服务端)
四、后端部署(服务端)
参考官方文档:https://book.open-falcon.org/zh_0_2/quick_install/prepare.html
1、系统环境
|
2、系统优化
|
3、软件环境准备
#安装 redis
1 |
|
#redis常用命令
|
#启动redis
|
#安装mysql
|
#检查服务
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
4、初始化MySQL表结构(备注:导入表结构后,注意检查)
|
#设置数据库密码 (备注:用户名:root ,密码: password )
|
#检查导入的数据库表
|
5、配置Go语言开发环境
#安装go语言开发包(备注:安装需要epel源)
1 |
|
#检查版本
|
#查看go的安装路径
|
#设置环境变量GOROOT和GOPATH
|
6、下载编译好的二进制版本
https://github.com/open-falcon/falcon-plus/releases
直接下载官方编译好的二进制版本(x86 64位平台)。
#开始安装open-falcon
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
7、修改配置文件cfg.json
坑:
部分模块依赖连接数据库,因为如果不修改配置文件,aggregator模块会出现无法启动,graph、hbs、nodata、api、alarm模块会出现开启不报错但是状态为开启失败的情况。
如果需要每个模块都能正常启动,需要将上面模块的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 |
1)修改aggregator的配置文件
vim /home/work/aggregator/config/cfg.json
mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。
2)修改graph的配置文件
vim /home/work/graph/config/cfg.json
mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。
3)修改hbs的配置文件
vim /home/work/hbs/config/cfg.json
mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。
4)修改nodata的配置文件
vim /home/work/nodata/config/cfg.json
mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。
5)修改api的配置文件
vim /home/work/api/config/cfg.json
mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。
6)修改alarm的配置文件
vim /home/work/alarm/config/cfg.json
mysql的root密码为空,则去掉“password”,若不为空,则用root密码替换“password”。
8、启动后端模块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
#更多的命令行工具用法
|
至此后端部署完成。
8、其它用法
#重载配置(备注:修改vi cfg.json配置文件后,可以用下面命令重载配置)
|
五、前端部署 (备注:在另外一台服务器上面操作)
1、创建工作目录
|
2、克隆前端组件代码
|
3、安装依赖包
|
坑:
|
4、先安装ez_setup.py,再安装pip
|
#配置环境变量 (备注:这步不需要操作了)
|
#查看需要安装的软件
|
#利用pip安装上面这些软件
|
5、修改配置
#配置说明:
|
#修改方法
|
#启动服务
|
#访问网站
http://192.168.1.181:8081
#关于登录账号的问题或参考FAQ
请自行注册管理员用户名和密码
#登录界面
6、其它用法
#以开发者模式启动
|
#开启8081端口 (备注:如果关闭了防火墙,则直接忽略这步)
1)防火墙添加8081端口永久开放
firewall-cmd --add-port=8081/tcp --permanent
2)重新载入防火墙配置
firewall-cmd --reload
#停止dashboard运行
1 |
|
#查看dashboard运行状态
1 |
|
六、FAQ
- Q: open-falcon v0.2 有管理员帐号吗?
- A: 可以通过dashboard自行注册新用户,第一个用户名为root的帐号会被认为是超级管理员,超级管理员可以设置其他用户为管理员。
- Q: open-falcon v0.2 dashboard 可以禁止用户自己注册吗?
- A: 可以的,在api组件的配置文件中,将
signup_disable
配置项修改为true,重启api即可。