文档章节

Open-Falcon监控系统安装和使用

jimmywa
 jimmywa
发布于 2018/12/26 18:19
字数 826
阅读 66
收藏 2

0. 运维监控工具选择

1. 安装脚本(主服务)

常规安装环境搭建太复杂, dashboard安装碰到python依赖不容易解决, 直接使用docker安装, 这里总结除了一个安装 shell script, 如下:

#!/bin/sh

## env params
MYSQL_HOST=my.falcon.local
MYSQL_PASSWORD=falcon
MYSQL_USER=falcon

## init mysql table before the first running
# cd /tmp && \
# git clone --depth=1 https://github.com/open-falcon/falcon-plus && \
# cd /tmp/falcon-plus/ && \
# for x in `ls ./scripts/mysql/db_schema/*.sql`; do
#     echo init mysql table $x ...;
#     docker exec -i falcon-mysql mysql -h $MYSQL_HOST -u $MYSQL_USER -p $MYSQL_PASSWORD < $x;
# done

## falcon redis
docker run --name falcon-redis --restart always -p 6380:6379 -d redis:4-alpine3.8

## falcon plus
mkdir -p /seniverse/data/falcon
mkdir -p /seniverse/log/falcon

docker run -itd --name falcon-plus \
  --restart always \
  --link=falcon-redis:redis.falcon \
  -p 8433:8433 \
  -p 8080:8080 \
  -p 6060:6060 \
  -p 6030:6030 \
  -e MYSQL_PORT=$MYSQL_USER:$MYSQL_PASSWORD@tcp\($MYSQL_HOST:3306\) \
  -e REDIS_PORT=redis.falcon:6379  \
  -v /seniverse/data/falcon:/open-falcon/data \
  -v /seniverse/log/falcon:/open-falcon/logs \
  openfalcon/falcon-plus:v0.2.1

docker exec falcon-plus sh ctrl.sh start \
  graph hbs judge transfer nodata aggregator agent gateway api alarm

ls -l /seniverse/log/falcon

## falcon dashboard
docker run -itd --name falcon-dashboard \
  -p 8081:8081 \
  --restart always \
  --link=falcon-plus:api.falcon \
  -e API_ADDR=http://api.falcon:8080/api/v1 \
  -e PORTAL_DB_HOST=$MYSQL_HOST \
  -e PORTAL_DB_PORT=3306 \
  -e PORTAL_DB_USER=$MYSQL_USER \
  -e PORTAL_DB_PASS=$MYSQL_PASSWORD \
  -e PORTAL_DB_NAME=falcon_portal \
  -e ALARM_DB_HOST=$MYSQL_HOST \
  -e ALARM_DB_PORT=3306 \
  -e ALARM_DB_USER=$MYSQL_USER \
  -e ALARM_DB_PASS=$MYSQL_PASSWORD \
  -e ALARM_DB_NAME=alarms \
  -w /open-falcon/dashboard openfalcon/falcon-dashboard:v0.2.1  \
  './control startfg'

2. 其他机器(代理服务)

2.1 下载二进制文件

export FALCON_HOME=/home/wj
export WORKSPACE=$FALCON_HOME/falcon
mkdir -p $WORKSPACE
wget https://github.com/open-falcon/falcon-plus/releases/download/v0.2.1/open-falcon-v0.2.1.tar.gz
tar -xzvf open-falcon-v0.2.1.tar.gz -C $WORKSPACE

2.2 修改host

增加一个指向主服务的别名

vim /etc/hosts

# falcon server
10.0.1.34       host.server.local

2.3 修改 agent 配置

  • heartbeat.addr
  • transfer.addrs
  • hostname[可选]
  • ip[可选]
cd $WORKSPACE
vim transfer/config/cfg.json

{
    "debug": true,
    "hostname": "my.servermaster.local",
    "ip": "192.168.132.152",
    "plugin": {
        "enabled": false,
        "dir": "./plugin",
        "git": "https://github.com/open-falcon/plugin.git",
        "logs": "./logs"
    },
    "heartbeat": {
        "enabled": true,
        "addr": "host.server.local:6030",
        "interval": 60,
        "timeout": 1000
    },
    "transfer": {
        "enabled": true,
        "addrs": [
            "host.server.local:8433"
        ],
        "interval": 60,
        "timeout": 1000
    },
    "http": {
        "enabled": true,
        "listen": ":1988",
        "backdoor": false
    },
    "collector": {
        "ifacePrefix": ["eth", "em"],
        "mountPoint": []
    },
    "default_tags": {
    },
    "ignore": {
        "cpu.busy": true,
        "df.bytes.free": true,
        "df.bytes.total": true,
        "df.bytes.used": true,
        "df.bytes.used.percent": true,
        "df.inodes.total": true,
        "df.inodes.free": true,
        "df.inodes.used": true,
        "df.inodes.used.percent": true,
        "mem.memtotal": true,
        "mem.memused": true,
        "mem.memused.percent": true,
        "mem.memfree": true,
        "mem.swaptotal": true,
        "mem.swapused": true,
        "mem.swapfree": true
    }
}

2.4 启动 agent

cd $WORKSPACE
./open-falcon restart agent

./open-falcon monitor agent

通过 monitor 可以看到 agent和主服务通信.

3. 检查&体验

默认falcon没有创建用户, 需要自己创建, 第一个用户视为root用户.

4. 实战

配置一个监控redis的监控, 首先准备脚本redis-monitor.py, 内容略,点解链接可在github上查看到.

mkdir -p /home/wj/falcon-plugins
### 新建脚本复制github上脚本内容
touch /home/wj/falcon-plugins/redis-monitor.py
### 编辑crontab, 并创建一个定时任务, 上报redis信息
sudo crontab -e

### debug
* * * * * python /home/wj/falcon-plugins/redis-monitor.py >> /home/wj/falcon-plugins/redis-monitor.log

定时任务运行结果可以通过redis-monitor.log查看, 最后看看监控的redis.connected_clients的效果(生成环境监控了一一天):

5. 遇到问题

  • 采集agent服务信息收集不上:

    主服务端口可能没有开通, 可以通过monitor命令查看详情.

  • 手欠/重装/其他原因删除endpoint重新收集endpoint信息

    在住服务节点, 更新索引执行: curl -s http://127.0.0.1:6071/index/updateAll

6. 参考资料

© 著作权归作者所有

共有 人打赏支持
jimmywa

jimmywa

粉丝 2
博文 17
码字总数 12417
作品 0
朝阳
高级程序员
私信 提问
单机部署open-falcon 0.2

如果对falcon不了解,建议先对下这篇文章《open-falcon介绍》(http://book.open-falcon.org/zh/intro/index.html) 为什么要选择open-falcon? * 灵活的数据采集,支持自定义数据上报 * 支持...

legehappy
2018/06/14
0
0
启动falcon的后台监控程序时提示找不到libinotifytools.so.0模块

@Vindong 你好,想跟你请教个问题: [root@localhost Release]# cat falcon.log ./falcon: error while loading shared libraries: libinotifytools.so.0: cannot open shared object file:......

無言過去
2012/07/18
1K
4
DiDi-opensource/falcon-log-agent

falcon-log-agent 目录 简介 Feature 什么是日志采集 falcon-log-agent如何工作 限定条件 开始使用log-agent 构建 修改配置文件 启动/停止服务 基础配置项 日志相关 worker相关 资源限制 策略...

DiDi-opensource
02/18
0
0
Open Falcon部署随记

系统环境:Centos 6.5 最小化安装 在此 我不去介绍 具体的功能是什么 网上有很多,我只是记录一下我安装过程中所使用命令与与环境中出现的问题 安装open-falcon时所需的 账户与目录 groupadd...

techservice
2018/06/26
0
0
golang toolkits包的使用方法介绍

在查看 open-falcon 项目源码时,经常会看到其引用了一个类库 https://github.com/toolkits ,而仔细查看该类库的作者为秦晓辉(UlricQin)--- 原Open-Falcon主程,现滴滴云运维负责人 。所以...

Linux就该这么学
2018/12/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

LTS

长期技术支持 Long-Term Support,长期技术支持(版本)。Ubuntu Long Term Support:Ubuntu 长期技术支持版(三年),一般的版本支持为18个月。注意,这里的T是term而不是time。Ubuntu的母公...

嘿嘿嘿IT
6分钟前
0
0
SpringSecurity的基本原理

SpringSecurity的基本原理

chendom
7分钟前
0
0
完美解决tomcat启动速度相当慢 快死的状态了

先粘一下日志 ---- Started Application in 3319.145 seconds (JVM running for 3324.59) 3319.145 seconds 多么感人的时间,快一个小时了 重新编译神马的操作根本没有效果,最后看了一下断点...

jaffreyen
15分钟前
1
0
C/C++可变参数,“## __VA_ARGS__”宏的介绍和使用

下面是C99的方法: 1 #define dgbmsg(fmt,...) printf(fmt,__VA_ARGS__) 代码 #include <stdarg.h>#include <stdio.h>#define LOGSTRINGS(fm, ...) printf(fm,__VA_ARGS__) int main(......

青春无极限
21分钟前
0
0
es6默认参数

es5 要实现默认参数,一般是 在大括号里 写, function calc(x, y) { x = x || 0; y = y || 0; // to do with x, y // return x/y} es6后,直接用语言本身来处理, 写...

东东笔记
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部