美文网首页
小米监控部署agent

小米监控部署agent

作者: 老夫刘某 | 来源:发表于2017-08-15 16:43 被阅读0次

    centos6.9

    工作目录:

    [root@centos2 services]# /usr/local/services
    

    安装环境

    open-falcon的后端组件都是使用Go语言编写的,本节我们搭建Go语言开发环境,clone代码

    我们使用64位Linux作为开发环境,与线上环境保持一致。如果你所用的环境不同,请自行解决不同平台的命令差异

    首先安装Go语言开发环境:

    [root@centos2 services]# wget https://storage.googleapis.com/golang/go1.6.3.linux-amd64.tar.gz
    

    配置环境变量:

    添加以下配置
    [root@centos2 agent]# vim /etc/profile
    export HOME=/usr/local/service
    export GOROOT=$HOME/go
    export GOPATH=$HOME/workspace
    export PATH=$GOROOT/bin:$GOPATH/bin:$PATH
    然后执行命令使其生效:
    [root@centos2 agent]# source /etc/profile
    

    解压go包。
    下载小米监控安装包:

    wget  https://github.com/open-falcon/of-release/releases/download/v0.1.0/open-falcon-v0.1.0.tar.gz  -O  open-falcon-latest.tar.gz
    

    解压:

    for x in `find ./tmp/ -name "*.tar.gz"`;do \
        app=`echo $x|cut -d '-' -f2`; \
        mkdir -p $app; \
        tar -zxf $x -C $app; \
    done
    

    我这里是用git 拉下来的代码:

    [root@centos2 github.com]# pwd
    /usr/local/services/go/src/github.com
    [root@centos2 github.com]#  git clone --recursive https://github.com/open-falcon/of-release.git
    然后: mv of-release open-falcon
    

    进入agent:

    [root@centos2 github.com]# ll open-falcon/
    total 76
    drwxr-xr-x 10 root root 4096 Aug 16 00:23 agent
    drwxr-xr-x  7 root root 4096 Aug 15 23:47 aggregator
    drwxr-xr-x 11 root root 4096 Aug 15 23:48 alarm
    drwxr-xr-x  8 root root 4096 Aug 15 23:48 common
    drwxr-xr-x  4 root root 4096 Aug 15 23:49 dashboard
    drwxr-xr-x 12 root root 4096 Aug 15 23:49 fe
    drwxr-xr-x  8 root root 4096 Aug 15 23:50 gateway
    drwxr-xr-x 12 root root 4096 Aug 15 23:50 graph
    drwxr-xr-x  8 root root 4096 Aug 15 23:50 hbs
    drwxr-xr-x  8 root root 4096 Aug 15 23:50 judge
    drwxr-xr-x  6 root root 4096 Aug 15 23:50 links
    drwxr-xr-x 10 root root 4096 Aug 15 23:50 nodata
    drwxr-xr-x  6 root root 4096 Aug 15 23:51 portal
    drwxr-xr-x  9 root root 4096 Aug 15 23:51 query
    -rw-r--r--  1 root root  310 Aug 15 23:46 README.md
    drwxr-xr-x  4 root root 4096 Aug 15 23:51 scripts
    drwxr-xr-x  9 root root 4096 Aug 15 23:51 sender
    drwxr-xr-x  9 root root 4096 Aug 15 23:53 task
    drwxr-xr-x  9 root root 4096 Aug 15 23:53 transfer
    
    [root@centos2 github.com]# cd open-falcon/agent/
    [root@centos2 agent]# ll
    
    -rw-r--r-- 1 root root     1233 Aug 15 23:47 cfg.example.json
    -rwxr-xr-x 1 root root     2291 Aug 15 23:47 control
    drwxr-xr-x 2 root root     4096 Aug 15 23:47 cron
    -rwxr-xr-x 1 root root 10933496 Aug 16 00:16 falcon-agent
    -rw-r--r-- 1 root root  3900610 Aug 16 00:16 falcon-agent-5.1.0.tar.gz
    drwxr-xr-x 2 root root     4096 Aug 15 23:47 funcs
    drwxr-xr-x 2 root root     4096 Aug 15 23:47 g
    -rw-r--r-- 1 root root        8 Aug 16 00:16 gitversion
    drwxr-xr-x 2 root root     4096 Aug 15 23:47 http
    -rw-r--r-- 1 root root    11358 Aug 15 23:47 LICENSE
    -rw-r--r-- 1 root root      780 Aug 15 23:47 main.go
    -rw-r--r-- 1 root root      462 Aug 15 23:47 NOTICE
    drwxr-xr-x 2 root root     4096 Aug 15 23:47 plugins
    drwxr-xr-x 5 root root     4096 Aug 15 23:47 public
    -rw-r--r-- 1 root root      659 Aug 15 23:47 README.md
    drwxr-xr-x 2 root root     4096 Aug 16 00:16 var
    [root@centos2 agent]#  go get ./...
    [root@centos2 agent]#  ./control build
    [root@centos2 agent]#  ./control pack
    

    最后一步会pack出一个tar.gz的安装包,拿着这个包去部署服务即可。
    配置说明

    配置文件必须叫cfg.json,可以基于cfg.example.json修改

    {
        "debug": true, # 控制一些debug信息的输出,生产环境通常设置为false
        "hostname": "", # agent采集了数据发给transfer,endpoint就设置为了hostname,默认通过`hostname`获取,如果配置中配置了hostname,就用配置中的
        "ip": "", # agent与hbs心跳的时候会把自己的ip地址发给hbs,agent会自动探测本机ip,如果不想让agent自动探测,可以手工修改该配置
        "plugin": {
            "enabled": false, # 默认不开启插件机制
            "dir": "./plugin", # 把放置插件脚本的git repo clone到这个目录
            "git": "https://github.com/open-falcon/plugin.git", # 放置插件脚本的git repo地址
            "logs": "./logs" # 插件执行的log,如果插件执行有问题,可以去这个目录看log
        },
        "heartbeat": {
            "enabled": true, # 此处enabled要设置为true
            "addr": "127.0.0.1:6030", # hbs的地址,端口是hbs的rpc端口
            "interval": 60, # 心跳周期,单位是秒
            "timeout": 1000 # 连接hbs的超时时间,单位是毫秒
        },
        "transfer": {
            "enabled": true, # 此处enabled要设置为true
            "addrs": [
                "127.0.0.1:8433",
                "127.0.0.1:8433"
            ], # transfer的地址,端口是transfer的rpc端口, 可以支持写多个transfer的地址,agent会保证HA
            "interval": 60, # 采集周期,单位是秒,即agent一分钟采集一次数据发给transfer
            "timeout": 1000 # 连接transfer的超时时间,单位是毫秒
        },
        "http": {
            "enabled": true, # 是否要监听http端口
            "listen": ":1988" # 如果监听的话,监听的地址
        },
        "collector": {
            "ifacePrefix": ["eth", "em"] # 默认配置只会采集网卡名称前缀是eth、em的网卡流量,配置为空就会采集所有的,lo的也会采集。可以从/proc/net/dev看到各个网卡的流量信息
        },
        "ignore": { # 默认采集了200多个metric,可以通过ignore设置为不采集
            "cpu.busy": true,
            "mem.swapfree": true
        }
    }
    

    进程管理

    我们提供了一个control脚本来完成常用操作

    ./control start 启动进程
    ./control stop 停止进程
    ./control restart 重启进程
    ./control status 查看进程状态
    ./control tail 用tail -f的方式查看var/app.log
    

    ionice -c 3 nice -n 10 ./control start

    参考 :https://book.open-falcon.org/zh/install_from_src/agent.html

    相关文章

      网友评论

          本文标题:小米监控部署agent

          本文链接:https://www.haomeiwen.com/subject/rxrvrxtx.html