运维监控-Open-Falcon安装Agent实战篇

              运维监控-Open-Falcon安装Agent实战篇

                                       作者:尹正杰 

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

  本文参考链接来自:http://book.open-falcon.org/zh/install_from_src/agent.html 

 

一.介绍

  agent用于采集机器负载监控指标,比如cpu.idle、load.1min、disk.io.util等等,每隔60秒push给Transfer。agent与Transfer建立了长连接,数据发送速度比较快,agent提供了一个http接口/v1/push用于接收用户手工push的一些数据,然后通过长连接迅速转发给Transfer。

 

二.部署

  agent需要部署到所有要被监控的机器上,比如公司有10万台机器,那就要部署10万个agent。agent本身资源消耗很少,不用担心。

1>.部署环境

 

2>.拷贝agent工具包到需要安装的服务器上

[root@node101 ~]# cd /yinzhengjie/open-falcon/workspace/open-falcon
[root@node101 open-falcon]# 
[root@node101 open-falcon]# ll
total 3896
drwxrwxr-x. 7  501  501      72 Aug 15  2017 agent
drwxrwxr-x. 5  501  501      43 Aug 15  2017 aggregator
drwxrwxr-x. 5  501  501      43 Aug 15  2017 alarm
drwxrwxr-x. 6  501  501      55 Aug 15  2017 api
drwxr-xr-x. 3 root root      18 Dec 11 17:33 data
drwxrwxr-x. 5  501  501      43 Aug 15  2017 gateway
drwxrwxr-x. 6  501  501      55 Aug 15  2017 graph
drwxrwxr-x. 5  501  501      43 Aug 15  2017 hbs
drwxrwxr-x. 5  501  501      43 Aug 15  2017 judge
drwxrwxr-x. 5  501  501      43 Aug 15  2017 nodata
-rwxrwxr-x. 1  501  501 3987469 Aug 15  2017 open-falcon
lrwxrwxrwx. 1  501  501      16 Aug 15  2017 plugins -> ./agent/plugins/
lrwxrwxrwx. 1  501  501      15 Aug 15  2017 public -> ./agent/public/
drwxrwxr-x. 5  501  501      43 Aug 15  2017 transfer
[root@node101 open-falcon]# 
[root@node101 ~]# cd /yinzhengjie/open-falcon/workspace/open-falcon            #进入到“node101.yinzhengjie.org.cn”的open-Falcon安装目录
[root@node101 open-falcon]# scp -r agent/ root@node102.yinzhengjie.org.cn:~
The authenticity of host 'node102.yinzhengjie.org.cn (172.30.1.102)' can't be established.
ECDSA key fingerprint is SHA256:aGk7Wv77uRVAElcihCH0Zu0sAPp6qEs2sSA1Zsj3o7g.
ECDSA key fingerprint is MD5:2b:74:b8:ad:f8:92:78:04:38:90:f1:28:e7:70:68:fb.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'node102.yinzhengjie.org.cn,172.30.1.102' (ECDSA) to the list of known hosts.
root@node102.yinzhengjie.org.cn's password: 
agent.log                                                                                                                                           100%   41KB 520.6KB/s   00:00    
scheduler.go                                                                                                                                        100% 2479   156.5KB/s   00:00    
reader.go                                                                                                                                           100% 1011   298.4KB/s   00:00    
plugins.go                                                                                                                                          100%  970    61.9KB/s   00:00    
odometer.js                                                                                                                                         100% 7564   192.3KB/s   00:00    
jquery.dataTables.min.js                                                                                                                            100%   69KB   2.9MB/s   00:00    
jquery.js                                                                                                                                           100%   93KB   2.3MB/s   00:00    
jquery-ui.min.js                                                                                                                                    100%  223KB  17.5MB/s   00:00    
dashboard.js                                                                                                                                        100% 7975     2.4MB/s   00:00    
bootstrap.js                                                                                                                                        100%   47KB   8.2MB/s   00:00    
base.js                                                                                                                                             100% 2220   934.5KB/s   00:00    
code.png                                                                                                                                            100%  540    37.9KB/s   00:00    
favicon.ico                                                                                                                                         100%   97KB  18.5MB/s   00:00    
font-awesome.min.css                                                                                                                                100%   22KB   1.0MB/s   00:00    
font-awesome-ie7.min.css                                                                                                                            100%   37KB  10.5MB/s   00:00    
font-awesome-ie7.css                                                                                                                                100%   40KB   5.7MB/s   00:00    
font-awesome.css                                                                                                                                    100%   27KB  12.8MB/s   00:00    
fontawesome-webfont.eot                                                                                                                             100%   37KB 969.0KB/s   00:00    
FontAwesome.otf                                                                                                                                     100%   60KB  12.9MB/s   00:00    
fontawesome-webfont.woff                                                                                                                            100%   43KB  11.5MB/s   00:00    
fontawesome-webfont.svg                                                                                                                             100%  193KB  13.5MB/s   00:00    
fontawesome-webfont.ttf                                                                                                                             100%   77KB   6.9MB/s   00:00    
odometer.css                                                                                                                                        100% 3849     1.8MB/s   00:00    
dashboard.css                                                                                                                                       100% 5150   206.1KB/s   00:00    
bootstrap-responsive.min.css                                                                                                                        100% 9149   500.0KB/s   00:00    
OpenSans-Regular-webfont.woff                                                                                                                       100%   83KB   5.1MB/s   00:00    
OpenSans-Regular-webfont.eot                                                                                                                        100%   71KB   3.4MB/s   00:00    
OpenSans-Regular-webfont.svg                                                                                                                        100%  266KB   6.5MB/s   00:00    
OpenSans-Regular-webfont.ttf                                                                                                                        100%  160KB   9.9MB/s   00:00    
style.css                                                                                                                                           100%   23KB   7.8MB/s   00:00    
bootstrap.min.css                                                                                                                                   100%   88KB  20.3MB/s   00:00    
g.css                                                                                                                                               100% 2637   175.5KB/s   00:00    
index.html                                                                                                                                          100%   15KB  10.1MB/s   00:00    
falcon-agent                                                                                                                                        100% 9849KB  37.1MB/s   00:00    
cfg.json                                                                                                                                            100% 1254    79.8KB/s   00:00    
[root@node101 open-falcon]# 
[root@node101 open-falcon]# scp -r agent/ root@node102.yinzhengjie.org.cn:~        #拷贝agent目录到需要监控的"node102.yinzhengjie.org.cn"服务器上
[root@node101 open-falcon]# scp -r agent/ root@node103.yinzhengjie.org.cn:~
The authenticity of host 'node103.yinzhengjie.org.cn (172.30.1.103)' can't be established.
ECDSA key fingerprint is SHA256:aGk7Wv77uRVAElcihCH0Zu0sAPp6qEs2sSA1Zsj3o7g.
ECDSA key fingerprint is MD5:2b:74:b8:ad:f8:92:78:04:38:90:f1:28:e7:70:68:fb.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'node103.yinzhengjie.org.cn,172.30.1.103' (ECDSA) to the list of known hosts.
root@node103.yinzhengjie.org.cn's password: 
agent.log                                                                                                                                           100%   47KB   2.1MB/s   00:00    
scheduler.go                                                                                                                                        100% 2479     3.1MB/s   00:00    
reader.go                                                                                                                                           100% 1011     1.7MB/s   00:00    
plugins.go                                                                                                                                          100%  970     1.5MB/s   00:00    
odometer.js                                                                                                                                         100% 7564   408.0KB/s   00:00    
jquery.dataTables.min.js                                                                                                                            100%   69KB   3.0MB/s   00:00    
jquery.js                                                                                                                                           100%   93KB  24.0MB/s   00:00    
jquery-ui.min.js                                                                                                                                    100%  223KB  13.4MB/s   00:00    
dashboard.js                                                                                                                                        100% 7975     5.9MB/s   00:00    
bootstrap.js                                                                                                                                        100%   47KB  32.1MB/s   00:00    
base.js                                                                                                                                             100% 2220     1.2MB/s   00:00    
code.png                                                                                                                                            100%  540   786.0KB/s   00:00    
favicon.ico                                                                                                                                         100%   97KB  29.9MB/s   00:00    
font-awesome.min.css                                                                                                                                100%   22KB  21.8MB/s   00:00    
font-awesome-ie7.min.css                                                                                                                            100%   37KB  12.2MB/s   00:00    
font-awesome-ie7.css                                                                                                                                100%   40KB  15.6MB/s   00:00    
font-awesome.css                                                                                                                                    100%   27KB   8.6MB/s   00:00    
fontawesome-webfont.eot                                                                                                                             100%   37KB   1.7MB/s   00:00    
FontAwesome.otf                                                                                                                                     100%   60KB  18.6MB/s   00:00    
fontawesome-webfont.woff                                                                                                                            100%   43KB  13.8MB/s   00:00    
fontawesome-webfont.svg                                                                                                                             100%  193KB  23.1MB/s   00:00    
fontawesome-webfont.ttf                                                                                                                             100%   77KB   3.4MB/s   00:00    
odometer.css                                                                                                                                        100% 3849     2.1MB/s   00:00    
dashboard.css                                                                                                                                       100% 5150     5.3MB/s   00:00    
bootstrap-responsive.min.css                                                                                                                        100% 9149     8.9MB/s   00:00    
OpenSans-Regular-webfont.woff                                                                                                                       100%   83KB  17.9MB/s   00:00    
OpenSans-Regular-webfont.eot                                                                                                                        100%   71KB  25.4MB/s   00:00    
OpenSans-Regular-webfont.svg                                                                                                                        100%  266KB  30.4MB/s   00:00    
OpenSans-Regular-webfont.ttf                                                                                                                        100%  160KB   6.1MB/s   00:00    
style.css                                                                                                                                           100%   23KB   8.9MB/s   00:00    
bootstrap.min.css                                                                                                                                   100%   88KB  24.3MB/s   00:00    
g.css                                                                                                                                               100% 2637     3.0MB/s   00:00    
index.html                                                                                                                                          100%   15KB  17.0MB/s   00:00    
falcon-agent                                                                                                                                        100% 9849KB  37.5MB/s   00:00    
cfg.json                                                                                                                                            100% 1254   394.1KB/s   00:00    
[root@node101 open-falcon]# 
[root@node101 open-falcon]# scp -r agent/ root@node103.yinzhengjie.org.cn:~        #拷贝agent目录到需要监控的"node103.yinzhengjie.org.cn"服务器上
[root@node101 open-falcon]# scp open-falcon root@node102.yinzhengjie.org.cn:~
root@node102.yinzhengjie.org.cn's password: 
open-falcon                                                                                                                                         100% 3894KB  34.9MB/s   00:00    
[root@node101 open-falcon]# 
[root@node101 open-falcon]# scp open-falcon root@node102.yinzhengjie.org.cn:~      #拷贝open-falcon脚本到需要监控的服务器上面
[root@node101 open-falcon]# scp open-falcon root@node103.yinzhengjie.org.cn:~
root@node103.yinzhengjie.org.cn's password: 
open-falcon                                                                                                                                         100% 3894KB  56.7MB/s   00:00    
[root@node101 open-falcon]# 
[root@node101 open-falcon]# scp open-falcon root@node103.yinzhengjie.org.cn:~      #拷贝open-falcon脚本到需要监控的服务器上面

3>.修改node102.yinzhengjie.org.cn的cfg.json配置文件并启动agent

[root@node102 ~]# ll
total 3896
drwxrwxr-x. 7 root root      72 Dec 12 10:57 agent
-rwxr-xr-x. 1 root root 3987469 Dec 12 11:04 open-falcon
[root@node102 ~]# 
[root@node102 ~]# cat agent/config/cfg.json 
{
    "debug": true,
    "hostname": "node102.yinzhengjie.org.cn",
    "ip": "",
    "plugin": {
        "enabled": false,
        "dir": "./plugin",
        "git": "https://github.com/open-falcon/plugin.git",
        "logs": "./logs"
    },
    "heartbeat": {
        "enabled": true,
        "addr": "node101.yinzhengjie.org.cn:6030",
        "interval": 60,
        "timeout": 1000
    },
    "transfer": {
        "enabled": true,
        "addrs": [
            "node101.yinzhengjie.org.cn: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
    }
}
[root@node102 ~]# 
{
    "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
    }
}
配置文件必须叫cfg.json,可以基于cfg.example.json修改(想要了解上述配置参数说明戳我)
./open-falcon start agent  启动进程
./open-falcon stop agent  停止进程
./open-falcon monitor agent  查看日志
看var目录下的log是否正常,或者浏览器访问其1988端口。另外agent提供了一个--check参数,可以检查agent是否可以正常跑在当前机器上
./falcon-agent --check

4>.修改node103.yinzhengjie.org.cn的cfg.json配置文件并启动agent

[root@node103 ~]# ll
total 3896
drwxrwxr-x. 7 root root      72 Dec 12 11:02 agent
-rwxr-xr-x. 1 root root 3987469 Dec 12 11:04 open-falcon
[root@node103 ~]# 
[root@node103 ~]# cat agent/config/cfg.json 
{
    "debug": true,
    "hostname": "node103.yinzhengjie.org.cn",
    "ip": "",
    "plugin": {
        "enabled": false,
        "dir": "./plugin",
        "git": "https://github.com/open-falcon/plugin.git",
        "logs": "./logs"
    },
    "heartbeat": {
        "enabled": true,
        "addr": "node101.yinzhengjie.org.cn:6030",
        "interval": 60,
        "timeout": 1000
    },
    "transfer": {
        "enabled": true,
        "addrs": [
            "node101.yinzhengjie.org.cn: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
    }
}
[root@node103 ~]# 
[root@node103 ~]# ./open-falcon start agent
[falcon-agent] 8639
[root@node103 ~]# .
[root@node103 ~]# ./open-falcon start agent            #在node103.yinzhengjie.org.cn节点上启动agent
[root@node103 ~]# ./open-falcon monitor agent 
2018/12/12 11:01:48 var.go:95: <= <Total=7, Invalid:0, Latency=0ms, Message:ok>
2018/12/12 11:01:48 var.go:88: => <Total=6> <Endpoint:node101.yinzhengjie.org.cn, Metric:ss.estab, Type:GAUGE, Tags:, Step:60, Time:1544630508, Value:53>
2018/12/12 11:01:48 var.go:95: <= <Total=68, Invalid:0, Latency=0ms, Message:ok>
2018/12/12 11:01:48 var.go:95: <= <Total=6, Invalid:0, Latency=0ms, Message:ok>
2018/12/12 11:02:00 var.go:88: => <Total=4> <Endpoint:node101.yinzhengjie.org.cn, Metric:rate, Type:GAUGE, Tags:name=pfc.push.cnt, Step:60, Time:1544630520, Value:0.016666781240232065>
2018/12/12 11:02:00 var.go:88: => <Total=5> <Endpoint:node101.yinzhengjie.org.cn, Metric:rate, Type:GAUGE, Tags:name=pfc.push.cnt, Step:60, Time:1544630520, Value:0.01666669039142266>
2018/12/12 11:02:00 var.go:95: <= <Total=4, Invalid:0, Latency=0ms, Message:ok>
2018/12/12 11:02:00 var.go:95: <= <Total=5, Invalid:0, Latency=0ms, Message:ok>
2018/12/12 11:18:07 cfg.go:128: read config file: /root/agent/config/cfg.json successfully
2018/12/12 11:18:07 http.go:74: listening :1988
2018/12/12 11:19:07 var.go:88: => <Total=7> <Endpoint:node101.yinzhengjie.org.cn, Metric:df.bytes.free.percent, Type:GAUGE, Tags:mount=/,fstype=xfs, Step:60, Time:1544631547, Value:97.8937870429458>
2018/12/12 11:19:07 var.go:88: => <Total=68> <Endpoint:node101.yinzhengjie.org.cn, Metric:agent.alive, Type:GAUGE, Tags:, Step:60, Time:1544631547, Value:1>
2018/12/12 11:19:07 var.go:95: <= <Total=7, Invalid:0, Latency=0ms, Message:ok>
2018/12/12 11:19:07 var.go:95: <= <Total=68, Invalid:0, Latency=0ms, Message:ok>
2018/12/12 11:19:07 var.go:88: => <Total=6> <Endpoint:node101.yinzhengjie.org.cn, Metric:ss.estab, Type:GAUGE, Tags:, Step:60, Time:1544631547, Value:3>
2018/12/12 11:19:07 var.go:95: <= <Total=6, Invalid:0, Latency=0ms, Message:ok>
[root@node103 ~]# ./open-falcon monitor agent          #查看agent端的日志信息

 

三.在open-falcon中的前端界面查看是否有对应的主机列表

1>.刷新前端页面,会看到2台监控的主机信息,如下图所示:

 

2>.以Endpoint视角查看agent采集的监控项目

3>.点击后可查看到的视图信息如下:

 

posted @ 2018-12-12 22:18  尹正杰  阅读(4997)  评论(1编辑  收藏  举报