| 1.介绍 小米开源的基于监控系统 open-falcon 和滴滴开源的日志采集工具 falcon-log-agent 作为一组黄金搭档,被互联网公司广泛使用。开发控系 本文介绍怎么使用这组黄金搭档监控业务系统的基于日志。 2.open-falconopen-falcon 使用 Golang 和 Python 开发,开发控系其中 Python 主要开发的基于是 Dashboard。 限于篇幅 ,开发控系本文不准备介绍 open-falcon 的基于原理,仅介绍如何安装 。开发控系 安装 open-falcon 之前,基于必须确保已成功安装 Redis 和 MySQL,开发控系因为 open-falcon 需要使用这两个存储组件 。高防服务器基于 同时,开发控系我们还需要确保已成功安装 Golang 和 Python。基于 需要注意的开发控系是 ,我们还需要确保已设置 $GOPATH 和 $GOROOT 环境变量(也可以使用默认值) 。基于 安装 open-falcon : 下载源码和初始化数据库 复制mkdir -p $GOPATH/src/github.com/open-falcon cd $GOPATH/src/github.com/open-falcon git clone https://github.com/open-falcon/falcon-plus.gitcd $GOPATH/src/github.com/open-falcon/falcon-plus/scripts/mysql/db_schema/# 初始化数据库 mysql -h 127.0.0.1 -u root -p < 1_uic-db-schema.sqlmysql -h 127.0.0.1 -u root -p < 2_portal-db-schema.sqlmysql -h 127.0.0.1 -u root -p < 3_dashboard-db-schema.sqlmysql -h 127.0.0.1 -u root -p < 4_graph-db-schema.sqlmysql -h 127.0.0.1 -u root -p < 5_alarms-db-schema.sql1.2.3.4.5.6.7.8.9.10.编译 复制cd $GOPATH/src/github.com/open-falcon/falcon-plus/# make all modules make all # make specified module make agent # pack all modules make pack1.2.3.4.5.6.7.8.9.10.在执行 make pack 之后 ,我们得到一个压缩包 open-falcon-vx.x.x.tar.gzmake pack 之后,我们得到一个压缩包 open-falcon-vx.x.x.tar.gz 如果我们想要修改每个模块的配置文件 ,在执行 make pack 之前 ,我们可以修改模块的 config/xxx.jsonmake pack 之前 ,我们可以修改模块的 config/xxx.json 需要注意的是模板下载 ,模块的配置文件中,MySQL 的账号和密码,默认分别是 root 和空 ,如果我们的 MySQL 账号和密码与之不同,我们需要编辑模块的配置文件进行修改。root 和空,如果我们的 MySQL 账号和密码与之不同 ,我们需要编辑模块的配置文件进行修改。建站模板 部署 我们可以将得到的压缩包解压缩到指定目录进行部署,例如 : 复制make ~/open-falcon tar -zxvf open-falcon-vx.x.x.tar.gz -C ~/open-falcon1.2.启动所有模块 复制cd ~/open-falcon ./open-falcon start # 检查模块状态 ./open-falcon check1.2.3.4.5.安装仪表盘 在安装 Dashboard 之前,我们需要先安装依赖项: 复制# Centos yum install -y python-virtualenv yum install -y python-devel yum install -y openldap-devel yum install -y mysql-devel yum groupinstall "Development tools"# Ubuntu apt-get install -y python-virtualenv apt-get install -y slapd ldap-utils apt-get install -y libmysqld-dev apt-get install -y build-essential apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev1.2.3.4.5.6.7.8.9.10.11.12.13.安装 Dashboard: 复制cd ~/open-falcon git clone https://github.com/open-falcon/dashboard.gitcd dashboard virtualenv ./env ./env/bin/pip install -r pip_requirements.txt1.2.3.4.5.需要注意的是,这里有一个 Bug,会导致无法在仪表盘注册账号(点击按钮无反应),需要将 falcon api 的端口号 18080 改为 8080。18080 改为 8080。 复制cd ~/open-falcon/dashboard vim rrd/config.py# 端口 18080 改为 8080API_ADDR = os.environ.get("API_ADDR","http://81.70.201.193:8080/api/v1")1.2.3.4.在启动 Dashboard 之前,我们再检查一下 open-falcon 的 api 模块是否已启动: 复制cd ~/open-falcon ./open-falcon check1.2.启动 Dashboard: 复制$ cd ~/open-falcon/dashboard $ ./control start1.2.在浏览器中,打开 http://127.0.0.1:8081 。服务器租用http://127.0.0.1:8081。 3.falcon-log-agentfalcon-log-agent 不同于 ELK,它不是日志查看系统 ,而是日志计算系统。 它通过外挂式的日志采集方式,实时读取日志文件中的内容,实时计算,并将计算结果直接推送到 open-falcon。 它有几个限定条件 ,分别是要求日志必须包含时间,不支持文件软链接 ,云计算日志时间必须有序 。 安装 falcon-log-agent : 构建 复制make -p $GOPATH/src/github.com/didi &&cd $_ git clone https://github.com/didi/falcon-log-agent.gitmake build1.2.3.修改配置文件 复制cd $GOPATH/src/github.com/didi/falcon-log-agent cp cfg/dev.cfg cfg/cfg.json# 基础配置 cp cfg/strategy.dev.json cfg/strategy.json # 策略配置1.2.3.部署 复制cd $GOPATH/src/github.com/didi/falcon-log-agent make pack mkdir ~/open-falcon/falcon-log-agent tar -zxvf falcon-log-agent.tar.gz -C ~/open-falcon/falcon-log-agent1.2.3.4.启动 复制cd ~/open-falcon/falcon-log-agent ./control start1.2.检查 http://ip:8003/health 健康检查http://ip:8003/strategt 查看生效策略策略配置示例: 本文以 open-falcon 的 agent 模块的日志为例 ,介绍怎么配置一个新策略 。 复制[ { "id":10,# 多个策略 ,id 必须唯一 "name":"agent send data count", # 对应 open-falcon 中的 metric(监控项) "file_path":"/root/open-falcon/agent/logs/agent.log",# 日志路径(支持动态路径) "time_format":"yyyy/mm/dd HH:MM:SS",# 时间格式 "pattern":"Total=(\\d+)",# 匹配正则表达式 "exclude":"",# 排除正则表达式 "step":60,# 日志采集周期,单位秒 "tags":{ }, 对应 open-falcon 中的 tag "func":"cnt",# 日志采集方式 ,cnt、avg 、sum 、max、min "degree":6,# 精度 "comment":"",# 备注 "parse_succ":true }]1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.重启 falcon-log-agent,我们在 Dashboard 中的亿华云 Couters 列表中可以看到 agent send data count。agent send data count。 4.监控配置我们介绍完 open-falcon 和 falcon-log-agent 的安装和启动 。 已实现自动采集日志并将计算数据上报到 open-falcon ,接下来,我们介绍针对日志数据怎么配置监控 。 监控配置操作步骤: 创建用户组。创建模板 。添加策略 ,其中 metric 对应 falcon-log-agent 策略配置文件中配置项的 name ,max 是最大报警次数 ,P 是报警级别(<3 :既发短信也发邮件,>=3 :只发邮件),run 是策略生效时间(不填写代表全天生效),if 代表条件。告警条件支持函数如下 :告警条件支持函数如下 : all(#3) 最新 3 个点都满足阈值条件则报警。 max(#3) 最新 3 个点,最大值满足阈值条件则报警。 min(#3) 最新 3 个点,最小值满足阈值条件则报警 。 sum(#3) 最新 3 个点 ,其和满足阈值条件则报警 。 avg(#3) 最新 3 个点 ,其平均值满足阈值条件则报警 。 diff(#3) 将最新 push 过来的点(被减数) ,与历史最新 3 个点(减数)相减,得到 3 个差 ,有一个差满足阈值条件则报警。 pdiff(#3) 将最新 push 过来的点(被减数) ,与历史最新 3 个点(减数)相减 ,得到 3 个差 ,再将 3 个差值分别除以减数,得到 3 个商值 ,有一个商值满足阈值条件则报警。 lookup(#2,3) 最新的 3 个点中有 2 个满足阈值条件则报警。 配置报警接收用户组。5.总结本文我们介绍了基于 Go 语言开发的开源监控系统和日志采集工具的安装和使用方式 。 建议读者朋友们动手操作一遍 ,需要注意的是,尽量严格按照本文的目录结构操作。 参考资料 :https://github.com/open-falcon/falcon-plus https://github.com/open-falcon/dashboard https://github.com/didi/falcon-log-agent |
健身餐市场(健身人群的增加,为健身餐市场带来爆发式增长)江苏迪纳(江苏迪纳)HTCOneM9(探索HTCOneM9的功能和性能,了解其优势与不足)探索IntelHM70的功能与性能(揭秘HM70芯片组的关键特点与应用领域)全网通苹果7手机的功能和性能评测(全网通苹果7手机的优势和劣势分析)iOS10.02(更快、更稳定、更强大的操作系统更新)夏普海思(高性能处理器带来流畅体验,多项智能功能助力生活便捷)海尔Q6热水器的高性能和可靠性(优质热水器的选择指南)分众拓客策略的效果如何(分众拓客的关键因素及其影响因素分析)全新升级的dx二代(dx二代)企业服务器源码库香港物理机b2b信息平台亿华云云服务器网站建设