CentOS7下部署Open-Falcon小米开源监控系统

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: CentOS7下部署Open-Falcon小米开源监控系统

640.jpg

Open-Falcon


Open-Falcon是由小米开启的一款企业级、高可用、可扩展的开源监控解决方案


特点与优势如下


1、强大灵活的数据采集:自动发现,支持falcon-agent、snmp、支持用户主动push、用户自定义插件支持、opentsdb data model like(timestamp、endpoint、metric、key-value tags)

2、水平扩展能力:支持每个周期上亿次的数据采集、告警判定、历史数据存储和查询

3、高效率的告警策略管理:高效的portal、支持策略模板、模板继承和覆盖、多种告警方式、支持callback调用

4、人性化的告警设置:最大告警次数、告警级别、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期

5、高效率的graph组件:单机支撑200万metric的上报、归档、存储(周期为1分钟)

6、高效的历史数据query组件:采用rrdtool的数据归档策略,秒级返回上百个metric一年的历史数据

7、dashboard:多维度的数据展示,用户自定义Screen

8、高可用:整个系统无核心单点,易运维,易部署,可水平扩展

9、开发语言:整个系统的后端,全部golang编写,portal和dashboard使用python编写

Open-Falcon 专为现代分布式系统设计的开源和企业级监视系统。


架构图

640.png

CentOS7下部署单机版本Open-Falcon


参考官方文档 https://book.open-falcon.org/zh_0_2/quick_install/


1、环境准备


curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config


640.png

640.png


2、安装golang,redis,mariadb所需组件


yum install -y golang
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
yum install -y redis
systemctl start redis
systemctl enable redis
yum install -y mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb
mysqladmin -uroot password "openfalcon"


640.png


640.png

640.png

3、导入open-falcon数据库

mkdir -p /home/work/open-falcon
cd /home/work/open-falcon
git clone https://github.com/open-falcon/falcon-plus.git
cd /home/work/open-falcon/falcon-plus/scripts/mysql/db_schema
mysql -h 127.0.0.1 -u root -popenfalcon < 1_uic-db-schema.sql
mysql -h 127.0.0.1 -u root -popenfalcon < 2_portal-db-schema.sql
mysql -h 127.0.0.1 -u root -popenfalcon < 3_dashboard-db-schema.sql
mysql -h 127.0.0.1 -u root -popenfalcon < 4_graph-db-schema.sql
mysql -h 127.0.0.1 -u root -popenfalcon < 5_alarms-db-schema.sql

640.png

640.png


4、下载open-falcon-v0.3版本二进制


https://github.com/open-falcon/falcon-plus/releases/download/v0.3/open-falcon-v0.3.tar.gz
cd /home/work/
mkdir open-falcon
wget https://github.com/open-falcon/falcon-plus/releases/download/v0.3/open-falcon-v0.3.tar.gz
tar -zxvf open-falcon-v0.3.tar.gz -C /home/work/open-falcon/

640.png

5、先部署后端


sed -i 's#root:@tcp(127.0.0.1:3306)#root:openfalcon@tcp(127.0.0.1:3306)#g' `find ./ -type f -name "cfg.json"|egrep "alarm|api|nodata|hbs|graph|aggregator"`
cat `find ./ -type f -name "cfg.json"|egrep "alarm|api|nodata|hbs|graph|aggregator"` |grep 'root:openfalcon@tcp(127.0.0.1:3306)'
./open-falcon start


640.png

或者参考官网的操作


cd $WORKSPACE
grep -Ilr 3306  ./ | xargs -n1 -- sed -i 's/root:/real_user:real_password/g'


6、部署前端


cd /home/work/
git clone https://github.com/open-falcon/dashboard.git
cd dashboard
yum install -y python-virtualenv python-devel openldap-devel mysql-devel
yum groupinstall -y "Development tools"
virtualenv ./env
./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple


640.png

640.png

640.png

640.png


修改配置 修改数据库连接密码,dashboard的配置文件为:rrd/config.py

640.png

然后启动dashboard

./control start

640.png


7、访问并体验WebUI界面


1、先测试启动自身Agent进行测试 ./open-falcon start agent  启动进程

2、登录web界面,新增一个root用户,然后登录

640.png


3、查看endpoint有没有上线,刷新counter列表,可以看到监控指标

640.png


4、添加host后,点击host可以直接查看该host的监控信息与状况


640.png

640.png

更多功能可以自行尝试(未完待续)

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
数据可视化 Linux 网络安全
CentOS7.9下离线安装OctoMation编排自动化SOAR开源社区免费版
CentOS7.9下离线安装OctoMation编排自动化SOAR开源社区免费版
63 0
|
3月前
|
安全 算法 Linux
CentOS7下部署长亭科技雷池Web应用防火墙(WAF)开源社区版
CentOS7下部署长亭科技雷池Web应用防火墙(WAF)开源社区版
427 0
|
2月前
|
JavaScript Java 应用服务中间件
centos部署vue项目(java,tomcat环境的搭建)
centos部署vue项目(java,tomcat环境的搭建)
43 0
|
1月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
99 1
|
2月前
|
缓存 负载均衡 应用服务中间件
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
71 1
如何在 CentOS 7 上为 NGINX 安装开源 HTTP 加速器:Varnish
|
2月前
|
存储 NoSQL Linux
centos7部署redis以及多实例
centos7部署redis以及多实例
55 0
|
10天前
|
JavaScript Linux 数据安全/隐私保护
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
|
16天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
29 0
|
16天前
|
分布式计算 Hadoop Java
centos 部署Hadoop-3.0-高性能集群(一)安装
centos 部署Hadoop-3.0-高性能集群(一)安装
16 0
|
27天前
|
Linux Shell 开发工具
CentOS8中Docker安装及部署
CentOS8中Docker安装及部署
77 0