监控软件之open-falcon安装、配置篇
2019-07-10
一、open-falcon简介
open-falcon是由小米运维团队,从互联网公司角度为出发点,开发出来的一套面向互联网行业的企业级的开源监控系统,截至2019年7月,open-falcon最新稳定版本为v0.2
二、open-falcon特性
- 数据采集方式多样灵活:支持agent、snmp、用户主动push、自定义插件等多种方式进行数据采集
- 高效率报警策略管理
- 人性化的告警设置
- dashboard多维度数据展示
- 模板支持继承的同时支持覆盖策略项
- server端无需做配置,只需要在client端按照agent则可以自动监控
- 引入tag概念,通过tag多维度对数据进行查询展示
三、open-falcon系统架构

四、open-falcon组件功能
- falcon-agent:负责采集监控目标的数据,agent本身有一个http接口,用户可以通过http接口将数据主动push到agent。agent和transfer保持长连接,将采集到的数据上报给transfer。
- transfer:会将数据分别转发给judge和graph,judge和graph使用一致性hash进行数据的分片。
- judge:从heartbeat中获取报警策略,进行策略报警判断,并将判断是否告警的事件放进redis队列。
- alerm:从redis中取出事件,根据配置做告警处理,如发送邮件通知等。
- graph:负责数据的存储和归档以及数据查询功能。
- heartbeat:统计agent上报信息,下发报警策略。
- dashboard: 数据展示,用户配置。
五、open-falcon单机版安装
5.1安装redis
#创建redis工作目录
mkdir /home/redis && cd /home/redis
#下载redis程序包:
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
#编译安装
tar -zxvf redis-4.0..tar.gz
mv redis-4.0. redis4.0.9 && cd redis4.0.9
mkdir logs
make && make install
#修改配置文件
vim redis.conf
bind 0.0.0.0
daemonize yes
pidfile /var/run/redis_6379.pid
logfile "/home/redis/redis4.0.9/logs/redis.log"
#启动redis
redis-server /home/redis/redis4.0.9/redis.conf
#连接测试
redis-cli -h 127.0.0.1 -p
5.2安装mysql
#安装yum-utils
yum -y install yum-utils
#mysql官网上下载mysql的yum源安装包
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
#添加yum源
rpm -ivh mysql80-community-release-el7-.noarch.rpm
#开启5.7安装,关闭8.0安装源
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
#yum安装mysql
yum -y install mysql-community-server
#修改mysql配置文件,关闭复杂密码策略
echo "validate-password=OFF" >> /etc/my.cnf
#启动mysql 并加入开机启动项
systemctl start mysqld.service
systemctl status mysqld.service
systemctl enable mysqld.service
#查看默认root密码
grep 'temporary password' /var/log/mysqld.log
#登陆mysql后修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '';
#root用户授权
GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY '';
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '';
flush privileges;
5.3初始化表结构
#clone项目至本地
git clone https://github.com/open-falcon/falcon-plus.git
#导入表结构
cd ./falcon-plus/scripts/mysql/db_schema/
mysql -uroot -p123456 < 1_uic-db-schema.sql
mysql -uroot -p123456 < 2_portal-db-schema.sql
mysql -uroot -p123456 < 3_dashboard-db-schema.sql
mysql -uroot -p123456 < 4_graph-db-schema.sql
mysql -uroot -p123456 < 5_alarms-db-schema.sql
#删除目录
rm -rf falcon-plus/
5.4安装golang
#下载go安装包
https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz
#解压至/home目录下
tar -zxvf go1.12.7.linux-amd64.tar.gz -C /home
#声明PATH
echo "export PATH=$PATH:/home/go/bin" >> /etc/profile
source /etc/profile
#查看go版本
go version
5.5创建工作目录
export FALCON_HOME=/home
export WORKSPACE=$FALCON_HOME/open-falcon
mkdir -p $WORKSPACE
5.6下载安装包
#下载安装包
wget https://github.com/open-falcon/falcon-plus/releases/download/v0.2.0/open-falcon-v0.2.0.tar.gz
#解压
cd /home/open-falcon
tar -zxvf open-falcon-v0.2.0.tar.gz
5.7后端启动
#修改配置文件为自己设置的mysql用户和密码
grep -Ilr ./ | xargs -n1 -- sed -i 's/root:/real_user:real_password/g'
#启动服务
/home/open-falcon/open-falcon start
/home/open-falcon/open-falcon check
#显示如下则全部启动成功
falcon-graph UP 27685
falcon-hbs UP 27697
falcon-judge UP 27707
falcon-transfer UP 27716
falcon-nodata UP 27724
falcon-aggregator UP 27732
falcon-agent UP 27743
falcon-gateway UP 27753
falcon-api UP 27761
falcon-alarm UP 28201
5.8前端启动
#下载dashboard项目至本地
cd $WORKSPACE
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 $WORKSPACE/dashboard/
virtualenv ./env
#pip安装依赖
./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple
#修改配置文件
vim rrd/config
# TODO: read from api instead of db
PORTAL_DB_HOST = os.environ.get("PORTAL_DB_HOST","127.0.0.1")
PORTAL_DB_PORT = int(os.environ.get("PORTAL_DB_PORT",))
PORTAL_DB_USER = os.environ.get("PORTAL_DB_USER","root")
PORTAL_DB_PASS = os.environ.get("PORTAL_DB_PASS","")
PORTAL_DB_NAME = os.environ.get("PORTAL_DB_NAME","falcon_portal") # alarm database
# TODO: read from api instead of db
ALARM_DB_HOST = os.environ.get("ALARM_DB_HOST","127.0.0.1")
ALARM_DB_PORT = int(os.environ.get("ALARM_DB_PORT",))
ALARM_DB_USER = os.environ.get("ALARM_DB_USER","root")
ALARM_DB_PASS = os.environ.get("ALARM_DB_PASS","")
ALARM_DB_NAME = os.environ.get("ALARM_DB_NAME","alarms")
#启动
bash control start
bash control status
#查看日志
bash control tail
5.9安装agent
#将agent目录及启动命令拷贝至客户端上
scp -r agent/ root@192.168.1.66:/home/open-falcon/
scp open-falcon root@192.168.1.66:/home/open-falcon/
#编辑agent配置文件,修改hostname、transfer、heaetbeat配置项
vim agent/config/cfg.json
#启动agent,查看agent状态
./open-falcon start agent
./open-falcon check agent
tailf agent/logs/agent.log
#重载配置文件
curl 127.0.0.1:/config/reload
5.10访问测试
agent访问地址:
http://ip:1988/
dashboard访问地址:
http://ip:8081/


六、open-falcon相关资料
中文手册:http://book.open-falcon.com/zh_0_2/
项目地址:https://github.com/open-falcon/falcon-plus
监控软件之open-falcon安装、配置篇的更多相关文章
- Go语言-windows安装配置篇
Go-windows安装配置 前言 学习完了python基础,顺便也要提前学习一下go啦,抱着这样的心情,今晚尝试了安装一下go,很顺利的完成了,没有难度. 需要了解更多的关于Go的基本信息可以去维基 ...
- SVN+FTP服务器搭建(一)——SVN安装配置篇
Subversion是一个自由,开源的版本控制系统.在Subversion管理下,文件和目录可以超越时空.Subversion将文件存放在中心版本库里.这个版本库很像一个普通的文件服务器,不同的是,它 ...
- ASIHTTPRequest框架使用总结系列之阿堂教程1(安装配置篇
在前年,阿堂在<IOS开发系列之阿堂教程:玩转IPhone客户端和Web服务端交互(客户端)实践>一文中,对于ASIHTTPRequest框架有过一些介简单绍,具体链接地址见http:// ...
- React Native01-开始 Windows环境安装配置篇
转载本文章的童鞋请注明原链接. 查阅文档之类的资料,建议到 http://reactnative.cn/ 本人使用环境Win10. 在阅读本文之前,请了解我们安装React Native之前,要安装P ...
- 2.监控软件zabbix-客户端安装
环境准备 Zabbix-Agent只要http://www.zabbix.com/download.php中可以下载的Zabbix-Agent均可以搭建Zabbix-Agent环境,本文选用CentO ...
- Laravel 5.5 文档 ] 快速入门 —— 安装配置篇
服务器要求 Laravel 框架对PHP版本和扩展有一定要求,不过这些要求 Laravel Homestead 都已经满足了,不过如果你没有使用 Homestead 的话(那真是一件很遗憾的事情),有 ...
- 2.监控软件zabbix-服务端安装
环境准备 Zabbix服务端环境要求: Red Hat Enterprise Linux CentOS Oracle Linux Debian Ubuntu 注意,要安装的Zabbix服务器需要联网, ...
- java系统监控分析Jprofile下载及安装配置【转】
JProfiler是一个全功能的Java剖析工具(profiler),专用於分析J2SE和J2EE应用程式.它把CPU.线程和记忆体的剖析组合在一个强大的应用中.JProfiler可提供许多IDE整合 ...
- solr学习篇(一) solr7.4 安装配置篇
目录: solr简介 solr安装 创建core 1.solr简介 solr是企业级应用的全文检索项目,它是基于Apache Lucence搜索引擎开发出来的用于搜索的应用工程 运行环境:solr需要 ...
- 1.监控软件zabbix-入门
入门学习 首先要明白zabbix的读音(音同zæbix),主要进行网络相关的监控.它是一个基于WEB界面展示提供分布式系统监控的一款开源软件. zabbix有两部分:zabbix server和zab ...
随机推荐
- [考试反思]1007csp-s模拟测试63:朦胧
别找了原来没有写过叫<朦胧>的我check过了.(慌的一匹) 总算是比较早的改完了一套题. 但是考的是个啥啊... 前两道题都很卡常导致我想到了正解但是都放弃了. 2e8的复杂度怎么可能能 ...
- NOIP模拟34
考试的时候被T2卡了一年....考虑了一下正解的式子,然后没去给左边分解因数,去给后面乘倍数...理论复杂度O(n^2),实际好像卡不掉的样子.但是由于我智障的打了一棵主席树,他M了.... 预计得分 ...
- python学习之【第三篇】:Python中的字符串及其所具有的方法
1.前言 字符串str是Python中最常用的数据类型.我们可以使用单引号''或双引号""包裹一段字符来创建字符串. 2.字符串创建 str1 = 'hello world' st ...
- Apache的虚拟主机功能
Apache的虚拟主机功能 (Virtual Host) 是可以让一台服务器基于IP.主机名或端口号实现提供多个网站服务的技术. 第一种情况:基于IP地址 这种情况很常见:一台服务器拥有多个IP地址, ...
- 获取tomcat的deploy路径(用于存放用户上传的文件,如果不放在这会出现图片不能及时加载出来的问题!)
String path =request.getSession().getServletContext().getRealPath("/“);
- AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层
AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层 AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层我理解的图层的作用大概是把 ...
- LCD 调试总结
(1) 液晶显示模式 并行:MCU接口.RGB接口.Vysnc接口 串行:SPI接口.MDDI接口 (2) 屏幕颜色 实质上即为色阶的概念.色阶是表示手机液晶显示屏亮度强弱的指数标准,也就是通常所说的 ...
- 理解Spark运行模式(一)(Yarn Client)
Spark运行模式有Local,STANDALONE,YARN,MESOS,KUBERNETES这5种,其中最为常见的是YARN运行模式,它又可分为Client模式和Cluster模式.这里以Spar ...
- Test Complete 的自动化测试 --- 计算器
Test Complete 的自动化测试 --- 计算器 ·PS:工具:Test Complete, OS: win XP, (win10 不支持该工具的自动化测试) ·该篇博客将会讲1.如何录制 ...
- SqlServer2005 查询 第八讲 order by
今天我们来说模糊查询 模糊查询 -- --模糊查询[主要用在搜索中]格式:select 字段的集合 from 表名 where 某个字段名 like 匹配条件 --注意:匹配条件通常含有通配符,通配符 ...