监控软件之open-falcon安装、配置篇

2019-07-10

1、open-falcon简介

  open-falcon是由小米运维团队,从互联网公司角度为出发点,开发出来的一套面向互联网行业的企业级的开源监控系统,截至2019年7月,open-falcon最新稳定版本为v0.2html

2、open-falcon特性

  • 数据采集方式多样灵活:支持agent、snmp、用户主动push、自定义插件等多种方式进行数据采集
  • 高效率报警策略管理
  • 人性化的告警设置
  • dashboard多维度数据展现
  • 模板支持继承的同时支持覆盖策略项
  • server端无需作配置,只须要在client端按照agent则能够自动监控
  • 引入tag概念,经过tag多维度对数据进行查询展现

3、open-falcon系统架构

4、open-falcon组件功能

  • falcon-agent:负责采集监控目标的数据,agent自己有一个http接口,用户能够经过http接口将数据主动push到agent。agent和transfer保持长链接,将采集到的数据上报给transfer。
  • transfer:会将数据分别转发给judge和graph,judge和graph使用一致性hash进行数据的分片。
  • judge:从heartbeat中获取报警策略,进行策略报警判断,并将判断是否告警的事件放进redis队列。
  • alerm:从redis中取出事件,根据配置作告警处理,如发送邮件通知等。
  • graph:负责数据的存储和归档以及数据查询功能。
  • heartbeat:统计agent上报信息,下发报警策略。
  • dashboard: 数据展现,用户配置。

5、open-falcon单机版安装

5.1安装redis前端

#建立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.9 mkdir logs make && make install #修改配置文件 vim redis.conf bind 0.0.0.0 daemonize 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

 

5.2安装mysqlpython

#安装yum-utils yum -y install yum-utils #mysql官网上下载mysql的yum源安装包 wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
#添加yum源 rpm -ivh mysql80-community-release-el7-1.noarch.rpm #开启5.7安装,关闭8.0安装源 yum-config-manager --disable mysql80-community yum-config-manager --enable mysql57-community #yum安装mysql yum -y install mysql-community-server #修改mysql配置文件,关闭复杂密码策略 echo "validate-password=OFF" >> /etc/my.cnf #启动mysql 并加入开机启动项 systemctl start mysqld.service systemctl status mysqld.service systemctl enable mysqld.service #查看默认root密码 grep 'temporary password' /var/log/mysqld.log #登录mysql后修改root密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; #root用户受权 GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456'; GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '123456'; flush privileges;

 

5.3初始化表结构mysql

#clone项目至本地
git clone https://github.com/open-falcon/falcon-plus.git
#导入表结构 cd ./falcon-plus/scripts/mysql/db_schema/ mysql -uroot -p123456 < 1_uic-db-schema.sql mysql -uroot -p123456 < 2_portal-db-schema.sql mysql -uroot -p123456 < 3_dashboard-db-schema.sql mysql -uroot -p123456 < 4_graph-db-schema.sql mysql -uroot -p123456 < 5_alarms-db-schema.sql
#删除目录
rm -rf falcon-plus/

 

5.4安装golanglinux

#下载go安装包 https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz
#解压至/home目录下 tar -zxvf go1.12.7.linux-amd64.tar.gz -C /home #声明PATH echo "export PATH=$PATH:/home/go/bin" >> /etc/profile source /etc/profile #查看go版本 go version

 

5.5建立工做目录git

export FALCON_HOME=/home export WORKSPACE=$FALCON_HOME/open-falcon mkdir -p $WORKSPACE

 

5.6下载安装包github

#下载安装包 wget https://github.com/open-falcon/falcon-plus/releases/download/v0.2.0/open-falcon-v0.2.0.tar.gz
#解压 cd /home/open-falcon tar  -zxvf open-falcon-v0.2.0.tar.gz

 

5.7后端启动golang

#修改配置文件为本身设置的mysql用户和密码 grep -Ilr 3306  ./ | xargs -n1 -- sed -i 's/root:/real_user:real_password/g' #启动服务 /home/open-falcon/open-falcon start /home/open-falcon/open-falcon check #显示以下则所有启动成功

  falcon-graph UP 27685
  falcon-hbs UP 27697
  falcon-judge UP 27707
  falcon-transfer UP 27716
  falcon-nodata UP 27724
  falcon-aggregator UP 27732
  falcon-agent UP 27743
  falcon-gateway UP 27753
  falcon-api UP 27761
  falcon-alarm UP 28201 redis

 

 

5.8前端启动sql

#下载dashboard项目至本地 cd $WORKSPACE git clone https://github.com/open-falcon/dashboard.git
#安装所需依赖包 yum install -y python-virtualenv yum install -y python-devel yum install -y openldap-devel yum install -y mysql-devel yum groupinstall "Development tools" #建立独立的虚拟环境 cd $WORKSPACE/dashboard/ virtualenv ./env #pip安装依赖 ./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple
#修改配置文件 vim rrd/config # TODO: read from api instead of db PORTAL_DB_HOST = os.environ.get("PORTAL_DB_HOST","127.0.0.1") PORTAL_DB_PORT = int(os.environ.get("PORTAL_DB_PORT",3306)) PORTAL_DB_USER = os.environ.get("PORTAL_DB_USER","root") PORTAL_DB_PASS = os.environ.get("PORTAL_DB_PASS","123456") PORTAL_DB_NAME = os.environ.get("PORTAL_DB_NAME","falcon_portal") # alarm database # TODO: read from api instead of db ALARM_DB_HOST = os.environ.get("ALARM_DB_HOST","127.0.0.1") ALARM_DB_PORT = int(os.environ.get("ALARM_DB_PORT",3306)) ALARM_DB_USER = os.environ.get("ALARM_DB_USER","root") ALARM_DB_PASS = os.environ.get("ALARM_DB_PASS","123456") ALARM_DB_NAME = os.environ.get("ALARM_DB_NAME","alarms") #启动 bash control start bash control status #查看日志 bash control tail

 

5.9安装agent

#将agent目录及启动命令拷贝至客户端上 scp -r agent/ root@192.168.1.66:/home/open-falcon/
scp open-falcon root@192.168.1.66:/home/open-falcon/ #编辑agent配置文件,修改hostname、transfer、heaetbeat配置项 vim agent/config/cfg.json #启动agent,查看agent状态 ./open-falcon start agent ./open-falcon check agent tailf agent/logs/agent.log #重载配置文件 curl 127.0.0.1:1988/config/reload

 

5.10访问测试

agent访问地址: http://ip:1988/
dashboard访问地址: http://ip:8081/

 

 

6、open-falcon相关资料

中文手册:http://book.open-falcon.com/zh_0_2/
项目地址:https://github.com/open-falcon/falcon-plus
相关文章
相关标签/搜索