运用Go编程语言的监测软件
小米开源的监控系统 open-falcon 和滴滴开源的日志采集工具 falcon-log-agent 作为一组黄金搭档,被互联网公司广泛使用。 本文介绍怎么使用这组黄金搭档监控业务系统的日志。 open-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.git cd $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.sql mysql -h 127.0.0.1 -u root -p < 2_portal-db-schema.sql mysql -h 127.0.0.1 -u root -p < 3_dashboard-db-schema.sql mysql -h 127.0.0.1 -u root -p < 4_graph-db-schema.sql mysql -h 127.0.0.1 -u root -p < 5_alarms-db-schema.sql cd $GOPATH/src/github.com/open-falcon/falcon-plus/ # make all modules make all # make specified module make agent # pack all modules make pack 在执行 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-falcon 启动所有模块 cd ~/open-falcon ./open-falcon start # 检查模块状态 ./open-falcon check 安装仪表盘 在安装 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-dev 安装 Dashboard: cd ~/open-falcon git clone https://github.com/open-falcon/dashboard.git cd dashboard virtualenv ./env ./env/bin/pip install -r pip_requirements.txt 需要注意的是,这里有一个 Bug,会导致无法在仪表盘注册账号(点击按钮无反应),需要将 falcon api 的端口号 18080 改为 8080。18080 改为 8080。 cd ~/open-falcon/dashboard vim rrd/config.py # 端口 18080 改为 8080 API_ADDR = os.environ.get("API_ADDR","http://81.70.201.193:8080/api/v1") 在启动 Dashboard 之前,我们再检查一下 open-falcon 的 api 模块是否已启动: cd ~/open-falcon ./open-falcon check 启动 Dashboard: $ cd ~/open-falcon/dashboard $ ./control start 在浏览器中,打开 http://127.0.0.1:8081。http://127.0.0.1:8081。 falcon-log-agent 不同于 ELK,它不是日志查看系统,而是日志计算系统。 它通过外挂式的日志采集方式,实时读取日志文件中的内容,实时计算,并将计算结果直接推送到 open-falcon。 它有几个限定条件,分别是要求日志必须包含时间,不支持文件软链接,日志时间必须有序。 (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |