监控软件之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 ...
随机推荐
- [考试反思]1026csp-s模拟测试89:不公
稍垃圾.因为T1没A. 赶巧前一段时间学了杜教筛,结果因为教练放错题. 然后考场上疯狂yy,最后水到了一个AC. 其实的确挺不公平的,不少人也没学呢. 如果只算T1和T3的分数的话,那70分就是个垃圾 ...
- 看电影(movie):组合数
Description 到了难得的假期,小白班上组织大家去看电影.但由于假期里看电影的人太多,很难做到让全班看上同一场电影,最后大家在一个偏僻的小胡同里找到了一家电影院.但这家电影院分配座位的方式很特 ...
- p1594(巨坑题!!!)
护卫车队在一条单行的街道前排成一队,前面河上是一座单行的桥.因为街道是一条单行道,所以任何车辆都不能超车.桥能承受一个给定的最大承载量.为了控制桥上的交通,桥两边各站一个指挥员.护卫车队被分成几个组, ...
- jmeter-利用While Controller控制器实现接口报错时的重试机制
预期功能:在jmter脚本报错的时候重试,最多重试5次 1.添加While Controller 2.添加请求 3.添加断言,在断言不符合预期的时候加上代码:vars.put("status ...
- Python Socket学习之旅(一)
Socket概述 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向 网络发出请求或者应答网络请求. s ...
- K8S入门系列之集群yum安装(一)
kubernetes master 节点包含的组件: 1.kube-apiserver :集群核心,集群API接口.集群各个组件通信的中枢:集群安全控制: 2.kube-scheduler: 集群调度 ...
- 4、Vim编辑器与正则表达式-面试题
题目 自己写答案
- iOS--通过runtime完成归档,反归档
通过runtime,不管模型有多少属性,通过几句代码就能完成. 假设person类有N多个属性而是(这里随便写3个) .h #import <Foundation/Foundation.h> ...
- [复现论文程序图]High Speed Continuous Variable Source-Independent Quantum Random Number Generation
这次的任务是复现该文章的图2(C),过程如下. ①翻译了整篇文章,断断续续,花了3-4天时间. ②阅读文章,并且记录下每个符号的意义,记在单独的1个word文档里. ③开始编程,用的matlab201 ...
- 区块链原理、设计与应用pdf电子版下载
链接:https://pan.baidu.com/s/1koShkDjEYOXxLOewZJU2Rw 提取码:8ycx 内容简介 · · · · · · 本书由专业区块链开发者撰写,是区块链开发起步 ...