小米监控系统open-falcon安装

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
日志服务 SLS,月写入数据量 50GB 1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

一、介绍

Open-Falcon 是小米的一款开源的互联网企业级监控系统解决方案。

a.特点

①数据采集免配置:agent自发现、支持Plugin、主动推送模式

②容量水平扩展:生产环境每秒50万次数据收集、告警、存储、绘图,可持续水平扩展。

③告警策略自发现:Web界面、支持策略模板、模板继承和覆盖、多种告警方式、支持回调动作。

④告警设置人性化:支持最大告警次数、告警级别设置、告警恢复通知、告警暂停、不同时段不同阈

值、支持维护周期,支持告警合并。

⑤历史数据高效查询:秒级返回上百个指标一年的历史数据。

⑥Dashboard人性化:多维度的数据展示,用户自定义Dashboard等功能。

⑦架构设计高可用:整个系统无核心单点,易运维,易部署。


b.安装

Open-Falcon,整体可以分为两部分,即绘图组件、告警组件。其中:

①安装绘图组件:负责数据的采集、收集、存储、归档、采样、查询、展示(Dashboard/Screen)等功能,可以单独工作,作为time-series data的一种存储展示方案。

②安装告警组件:负责告警策略配置(portal)、告警判定(judge)、告警处理(alarm/sender)、用户组管理(uic)等,可以单独工作。


注:以下安装操作皆来自于open-falcon book:http://book.open-falcon.org/zh/intro/index.html,可直接前往查看(环境所限并未演示告警部分)。


二、安装(二进制快速安装)

a.环境准备


①安装redis

1
# yum install -y redis


②安装MariaDB

1
# yum install -y mariadb*


③创建并进入工作目录

1
2
# mkdir open-falcon
# cd open-falcon


④初始化MariaDB表结构

1
2
3
4
5
6
7
8
# yum install -y git
# git clone https://github.com/open-falcon/scripts.git
# cd scripts/
# mysql -h localhost -u root --password="" < db_schema/graph-db-schema.sql
# mysql -h localhost -u root --password="" < db_schema/dashboard-db-schema.sql
# mysql -h localhost -u root --password="" < db_schema/portal-db-schema.sql
# mysql -h localhost -u root --password="" < db_schema/links-db-schema.sql
# mysql -h localhost -u root --password="" < db_schema/uic-db-schema.sql


⑤下载并解压编译好的二进制组件(只能跑64位Linux)

1
2
3
4
5
6
7
8
9
10
# DOWNLOAD="https://github.com/open-falcon/of-release/releases/download/v0.1.0/open-falcon-v0.1.0.tar.gz"
# cd open-falcon
# mkdir tmp
# wget $DOWNLOAD -O open-falcon-latest.tar.gz
# tar -zxf open-falcon-latest.tar.gz -C tmp/
# for x in `find ./tmp/ -name "*.tar.gz"`;do \    
       app=` echo  $x| cut  -d  '-'  -f2`; \    
       mkdir  -p $app; \    
       tar  -zxf $x -C $app; \
done


b.安装绘图组件


①安装Transfer

transfer默认监听在:8433端口上,agent会通过jsonrpc的方式来push数据上来。

1
2
3
4
5
6
7
8
9
# cd open-falcon
# cd transfer/
# mv cfg.example.json cfg.json  ##默认下(所有组件都在同一台服务器上),保持cfg.json不变即可
# ./control start                  ##启动transfer
falcon-transfer started..., pid=7447
# curl -s "http://127.0.0.1:7447/health"        ##检验服务
# ./control tail                   ##查看日志 
# ./control stop                   ##停止transfer
falcon-transfer stoped...


②安装Agent

每台机器上,都需要部署agent,agent会自动采集预先定义的各种采集项,每隔60秒,push到transfer。

1
2
3
4
5
6
7
8
9
10
11
12
# cd open-falcon/agent/
# mv cfg.example.json cfg.json
# cat cfg.json | sed -n 17,22p
     "transfer" : {
         "enabled" true ,          ##true,表示开启向transfer发送数据的功能,默认开启
         "addrs" : [                  ##改地址为transfer组件的监听地址, 为列表形式
             "127.0.0.1:8433" ,
             "127.0.0.1:8433"
         ],          ### 默认情况下(所有组件都在同一台服务器上),保持cfg.json不变即可
# ./control start             ##启动agent
falcon-agent started..., pid=9067
# ./control tail               ##查看日志


③安装Graph

graph组件是存储绘图数据、历史数据的组件。transfer会把接收到的数据,转发给graph。

1
2
3
4
5
6
# cd open-falcon/graph/
# mv cfg.example.json cfg.json  ##默认情况下(所有组件都在同一台服务器上),保持配置不变即可
# ./control start                ##启动graph
start ok, pid=9089
# ./control tail                ##查看日志
# curl -s "http://127.0.0.1:9089/health"      ##检验服务



④安装Query

query组件,绘图数据的查询接口,query组件收到用户的查询请求后,会从后端的多个graph,查询相应的数据,聚合后,再返回给用户。

1
2
3
4
5
# cd open-falcon/query/
# mv cfg.example.json cfg.json  ##默认情况下(所有组件都在同一台服务器上),保持配置不变即可
# ./control start                 ##启动query
start ok, pid=9146
# ./control tail                 ##查看日志




⑤安装Dashboard

dashboard是面向用户的查询界面,在这里,用户可以看到push到graph中的所有数据,并查看其趋势图。

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
28
29
30
31
32
33
34
35
36
37
38
39
40
# yum install -y python-virtualenv mariadb-devel gcc
# cd open-falcon/dashboard/
# virtualenv ./env
New python executable  in  . /env/bin/python
Installing Setuptools.............................................................................................................................................................................................................................. done .
Installing Pip..................................................................................................................................................................................................................................................................................................................................... done .
# ./env/bin/pip install -r pip_requirements.txt
# cat rrd/config.py            ##默认情况下(所有组件都在同一台服务器上),保持默认配置即可
#-*-coding:utf8-*-
import  os
#-- dashboard db config --               ### dashboard的数据库配置
DASHBOARD_DB_HOST =  "127.0.0.1"
DASHBOARD_DB_PORT = 3306
DASHBOARD_DB_USER =  "root"
DASHBOARD_DB_PASSWD =  ""
DASHBOARD_DB_NAME =  "dashboard"
#-- graph db config --                  ### graph的数据库配置
GRAPH_DB_HOST =  "127.0.0.1"
GRAPH_DB_PORT = 3306
GRAPH_DB_USER =  "root"
GRAPH_DB_PASSWD =  ""
GRAPH_DB_NAME =  "graph"
#-- app config --                    ## dashboard的配置
DEBUG = True
SECRET_KEY =  "secret-key"
SESSION_COOKIE_NAME =  "open-falcon"
PERMANENT_SESSION_LIFETIME = 3600 * 24 * 30
SITE_COOKIE =  "open-falcon-ck"
#-- query config --                   ### query服务的地址
QUERY_ADDR =  "http://127.0.0.1:9966"
BASE_DIR =  "/home/work/open-falcon/dashboard/"
LOG_PATH = os.path. join (BASE_DIR, "log/" )
try:
     from rrd.local_config  import  *
except:
     pass
# ./control start            ##启动dashboard
falcon-dashboard started..., pid=11835
# ./control tail             ##查看日志
# ./control stop             ##停止dashboard


这时候就可以通过http://localhost:8081访问dashboard主页了;

在dashboard首页的endpoint字段中,搜索机器名并点击“刷新counter列表”就可以看到数据了。

wKiom1eQc6nx1fGaAADYDB9JF6U803.png





本文转自  结束的伤感  51CTO博客,原文链接:http://blog.51cto.com/wangzhijian/1833937



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
监控 数据库
open-falcon 安装以及配置
环境准备 请参考环境准备 同时,请再次检查当前的工作目录设置: export HOME=/home/work export WORKSPACE=$HOME/open-falcon mkdir -p $WORKSPACE 安装Transfer transfer默认监听在:8433端口上,agent会通过jsonrpc的方式来push数据上来。
2416 0
|
29天前
|
存储 弹性计算 测试技术
租用阿里云服务器38元、99元和199元配置:使用场景及注意事项全解析
阿里云三款云服务器:38元轻量应用服务器适合个人博客与小型应用;99元ECS经济型实例适用于中小型Web应用与开发测试;199元ECS u1实例提供高性能,适合企业官网及数据处理场景,新老用户均可选购。
198 0
|
Oracle Java 编译器
Java 中如何生成字节码?
Java 中如何生成字节码?
|
9月前
|
缓存 网络协议 安全
融合DNS技术产品和生态
本文介绍了阿里云在互联网基础资源领域的最新进展和解决方案,重点围绕共筑韧性寻址、赋能新质生产展开。随着应用规模的增长,基础服务的韧性变得尤为重要。阿里云作为互联网资源的践行者,致力于推动互联网基础资源技术研究和自主创新,打造更韧性的寻址基础服务。文章还详细介绍了浙江省IPv6创新实验室的成立背景与工作进展,以及阿里云在IPv6规模化部署、DNS产品能力升级等方面的成果。此外,阿里云通过端云融合场景下的企业级DNS服务,帮助企业构建稳定安全的DNS系统,确保企业在数字世界中的稳定运行。最后,文章强调了全链路极致高可用的企业DNS解决方案,为全球互联网基础资源的创新提供了中国标准和数字化解决方案。
|
10月前
|
数据采集 存储 XML
Python实现网络爬虫自动化:从基础到实践
本文将介绍如何使用Python编写网络爬虫,从最基础的请求与解析,到自动化爬取并处理复杂数据。我们将通过实例展示如何抓取网页内容、解析数据、处理图片文件等常用爬虫任务。
1647 1
|
机器学习/深度学习 人工智能 算法
认识AI,探索AI如何奇思妙想
AI的快速演进正在加速AGI的到来,不止步于工具的AI让我们意识到它也绝不仅仅意味着算法和代码。当我们真的把人工智能当作智能体的时候总要去思考“AI是什么”这一个问题。关于意识的理论模型各自提供了意识产生机制于AI的不同解释,目前尚无定论,但它们都在学术界激发了广泛的讨论与研究。也欢迎你在评论区聊聊你会怎么向别人介绍AI?你认为AI是如何奇思妙想的,它具有意识吗?
440 0
|
自然语言处理 数据可视化 大数据
R语言《红楼梦》文本挖掘:词频统计、词云可视化及前后对比分析
R语言《红楼梦》文本挖掘:词频统计、词云可视化及前后对比分析
R语言《红楼梦》文本挖掘:词频统计、词云可视化及前后对比分析
|
Docker 容器
docker 换国内镜像源,docker换源
docker 换国内镜像源,docker换源
9766 5