从服务器docker中导出镜像保存到本地
# docker images //查看所有镜像
# docker save imageid> /root/imagename.tar
//将镜像保存为本地文件
//imageid为查看到的镜像的id
//imagename为要保存的镜像的名字
//保存的路径为/root目录下,也可以自行更改
将服务器本地镜像导入到docker
从一台服务器的本地文件传送给另一台服务器,网络是相通的话直接scp命令
# scp imagename.tar [email protected]:~
// imagename为本地文件名
//[email protected]为上传的服务器的ip地址
//:~表示上传到另一台服务器的本地位置为/root
使用load方法加载刚才上传的tar文件
# docker load < /root/imagename.tar
在新的机器上再此使用docker images命令查看本机的镜像,检查刚才load的镜像有没有加载进来,发现加载进来的镜像名称、标签均为none,使用下面命令修改为原来的镜像名称和标签名称
# docker tag imageid imagename:latest
验证镜像是否能够成功的“run”
# docker run -itd containername:latest
参考网址
agent用于采集机器负载监控指标,比如cpu.idle、load.1min、disk.io.util等等,每隔60秒push给Transfer。agent与Transfer建立了长连接,数据发送速度比较快,agent提供了一个http接口/v1/push用于接收用户手工push的一些数据,然后通过长连接迅速转发给Transfer。
agent需要部署到所有要被监控的机器上,比如公司有10万台机器,那就要部署10万个agent。agent本身资源消耗很少,不用担心。
# docker ps -a
//查看docker当前容器
# docker start open-falcon的id
//使用open-falcon的id启动open-falcon
# docker exec -it open-falcon的id /bin/bash
//通过open-falcon的id进入到open-falcon容器
bash-4.4# cd agent
bash-4.4# cd config
bash-4.4# cat csf.json
bash-4.4# vi csf.json
//按i键进入插入模式
//修改"heartbeat"中 addr,ip改为监控主机的ip
//修改"transfer"中addrs,ip改为监控主机的ip
// 按Esc键结束插入模式
// 输入 :wq 保存并退出vi
{
"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端口,修改为监控主机的ip
"interval": 60, # 心跳周期,单位是秒
"timeout": 1000 # 连接hbs的超时时间,单位是毫秒
},
"transfer": {
"enabled": true,
"addrs": [
"127.0.0.1:18433"
], # transfer的地址,端口是transfer的rpc端口, 可以支持写多个transfer的地址,agent会保证HA,修改为监控主机的ip
"interval": 60, # 采集周期,单位是秒,即agent一分钟采集一次数据发给transfer
"timeout": 1000 # 连接transfer的超时时间,单位是毫秒
},
"http": {
"enabled": true, # 是否要监听http端口
"listen": ":1988",
"backdoor": false
},
"collector": {
"ifacePrefix": ["eth", "em"], # 默认配置只会采集网卡名称前缀是eth、em的网卡流量,配置为空就会采集所有的,lo的也会采集。可以从/proc/net/dev看到各个网卡的流量信息
"mountPoint": []
},
"default_tags": {
},
"ignore": { # 默认采集了200多个metric,可以通过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
}
}
bash-4.4# exit
// 退出
修改配置文件完成,重新启动服务
# docker stop open-falcon的id
# docker start open-falcon的id
# docker exec -it open-falcon的id /bin/bash
bash-4.4# ./open-falcon start agent 启动进程
bash-4.4# ./open-falcon stop agent 停止进程
bash-4.4# ./open-falcon monitor agent 查看日志
看var目录下的log是否正常,或者浏览器访问其1988端口。另外agent提供了一个--check参数,可以检查agent是否可以正常跑在当前机器上
bash-4.4# ./falcon-agent --check
打开监控主机open-falcon服务,不会可以查看上一章最后一节内容
进入监控界面查看: