一、open-falcon介绍
1)中文社区介绍
http://book.open-falcon.org/zh_0_2/intro/
视频连接:http://www.jikexueyuan.com/course/1651_3.html?ss=1
2)falcon的优点
强大灵活的数据采集:自动发现,支持falcon-agent、snmp、支持用户主动push、用户自定义插件支持、opentsdb data model like(timestamp、endpoint、metric、key-value tags)
水平扩展能力:支持每个周期上亿次的数据采集、告警判定、历史数据存储和查询
高效率的告警策略管理:高效的portal、支持策略模板、模板继承和覆盖、多种告警方式、支持callback调用
人性化的告警设置:最大告警次数、告警级别、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期
高效率的graph组件:单机支撑200万metric的上报、归档、存储(周期为1分钟)
高效的历史数据query组件:采用rrdtool的数据归档策略,秒级返回上百个metric一年的历史数据
dashboard:多维度的数据展示,用户自定义Screen
高可用:整个系统无核心单点,易运维,易部署,可水平扩展
开发语言: 整个系统的后端,全部golang编写,portal和dashboard使用python编写
3)falcon的特性
数据采集方式多样灵活:支持agent、snmp、用户主动push、自定义插件等多种方式进行数据采集
高效率报警策略管理
人性化的告警设置
dashboard多维度数据展示
模板支持继承的同时支持覆盖策略项
server端无需做配置,只需要在client端按照agent则可以自动监控
引入tag概念,通过tag多维度对数据进行查询展示
4) falcon的架构图
Open-Falcon是一个比较大的分布式系统,有十几个组件。按照功能,这十几个组件可以划分为 基础组件、作图链路组件和报警链路组件,其安装部署的架构如下图所示
二、open-falcon单机环境安装
1)安装redis
1.1)yum安装方式
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或 yum install epel-release
yum install redis -y
systemctl start redis
systemctl enable redis
systemctl status redis
1.2)下载 tar包进行安装
#创建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.9.tar.gz
mv redis-4.0.9 redis4.0.9 && cd redis4.0.9mkdir logs
make&&make install
#修改配置文件
vim redis.conf
bind0.0.0.0daemonize 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 6379
2)安装mysql
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum-y install mysql-community-server
systemctl start mysqld.service
[root@node01~]# grep "password" /var/log/mysqld.log2019-07-13T02:39:54.602191Z 1 [Note] A temporary password is generated for root@localhost: i?5XuEqh+aRL
第一次登陆。必须给密码
mysql-uroot -pi?5XuEqh+aRL
mysql> set global validate_password_policy=0;
Query OK,0 rows affected (0.00sec)
mysql> set global validate_password_length=1;
Query OK,0 rows affected (0.00sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK,0 rows affected (0.00sec)
systemctl stop mysqld.service
systemctl start mysqld.service
systemctl status mysqld.service
systemctl enable mysqld.service
mysql -uroot -p123456
配套安装: yum install mysql-devel -y
2.1) 卸载mysql源。防止每次yum操作都会自动更新
yum -y remove mysql57-community-release-el7-10.noarch
2.2)不要使用root账号
GRANT A