系统环境
监控主机:Centos5.5(32bit) Nginx平台 Cacti0.87g net-snmp5.3.2192.168.93.135
被监控机:Centos5.5(32bit) net-snmp5.3.2 192.168.93.134
Cacti的安装参考:
下面是我将两台机器的网卡流量图合并的操作过程,有错误的地方请大虾们指出:
一、创建一个新的CDEF(即新建一个计算公式),主要用于计算两台机器的流量图合并后数据:
1、点击 "Management"��"Graph Management"��"CDEFs" 一栏
2、点击右边窗口中"CDEF's"栏最右边的"Add",增加一个新的CDEF项名为:Turn All Data into Bits,名称可以随你喜欢
3、然后add三个item,作用就是把统计出来的数据乘上8,然后显示出来:
完成的效果图:
二、合并流量图:
1、创建空白图:打开 "Management"��"Graph Management" 一栏,点击右边的"add"出现下面的图,不用选择模板和主机,直接create
Title写上名称,这个名称会在数据图的上方显示,
Vertical Label写上一个别名,这个名称会在数据图的左边显示
……
创建完成后如下图:
2、把两台机器的网卡流量添加进去图里:
点击"add"如下图,需要注意的是:
graph item type 这个选项,首次添加要先area
CDEF Function这个选项,这里不是应用我们刚才创建的算法
接着添加第二台机器:这里要注意的还是刚才那两个地方,第二次添加graph item type要选stack,意思是叠加上去
完成后如下图,图中为什么什么都没有呢?因为我们添加的时候选的颜色是白色吧,所以什么都没看见
3、汇总流量
再次点击"add"添加汇总流量图形,这次我们要选一种我们喜欢的颜色了,CDEF Function那里也要选我们之前创建的算法,如下图:
完成后如下图:
现在看见图形了,呵呵~~~
4、添加图形下面的统计数据:
继续添加,添加统计数据graph item type都是应用GPRINT,CDEF都是应用我们创建的新算法
Insert Hard Return 的意思是"换行",如果下面再有统计数据的话就会在第二行显示
完成后如下图:
这样一张简单的流量合并图就完成了,我们可以把这张图添加在相应的tree中:
然后我们在就可以在graphs中的tree中方便地查看刚才添加的图:
本文转自:http://lihuipeng.blog.51cto.com/3064864/638895
本文出自 "nmshuishui的博客" 博客,请务必保留此出处http://nmshuishui.blog.51cto.com/1850554/1596047
今日内网断电后,有一台机器没有如往常一样起来,该服务器是docke上的一个容器,然后登录docker宿主机,开始问题分析及解决:
一、寻找问题
1、启动iframe-test机器
root@ubuntu:~#docker start iframe-test
iframe-test
2、发现没有容器进程
root@ubuntu:~#docker ps |grep iframe-test
3、查看日志,发现是nginx配置有问题,导致中断。
root@ubuntu:~# docker logs iframe-test
Startingnginx: Starting periodic command scheduler: cron.
nginx: unexpected end of file, expecting ";" or "}" in/etc/nginx/nginx.conf:21
nginx:configuration file /etc/nginx/nginx.conf test failed
二、思考解决方法
问题原因找到,就是nginx文件检测不通过,导致中断。
解决思路暂有两个:
方法一:把这个问题容器用docker commit提交到一个新的镜像,然后用docker run -i -d基于新镜像运行一个临时终端进去改变配置文件,然后把临时终端的id提交到一个新的镜像,然后在基于新的镜像重新启动容器。(这个方法步骤多,而且提交了新的镜像,对于后续维护增加了复杂性)
方法二:直接改变容器里的配置文件,不需要新提交镜像。但是这个容器是宕状态,怎么改呢?下面进行详细说明。在此多谢网友Lingx是供解决思路。
三、修改宕机容器配置
所有的容器数据都存在/var/lib/docker/aufs/diff/路径下。下面容器ID目录,以init结尾的是放配置文件的,有/etc/host、reselv.conf,/dev等。另一个是放的文件目录,比如/home,/var/及自己安装的服务等等,aufs需要内核3.10以上的支持。
1、查看容器id
root@ubuntu:~#docker ps -a|grep iframe-test
fa02f8084b63 debian06-base:latest
2、查找nginx.conf配置文件路径
root@ubuntu:~#find / -name 'nginx.conf'
/root/nginx.conf
/var/lib/docker/aufs/diff/7c7b3438586e0653cdca7977a4f889cfdca300f008771462f8a2e6e9d3bc5b84/etc/nginx/nginx.conf
/var/lib/docker/aufs/diff/6bc6a9a5aeb59e19cae8bb78daa481cc465051069c7854528cbfdb3c9c1f2bfb/etc/nginx/nginx.conf
/var/lib/docker/aufs/diff/c7b6b87cfda72701229eebca868eb047aa01c255b62e56ad223dc75396c584e4/etc/nginx/nginx.conf
/var/lib/docker/aufs/diff/fa02f8084b631c371c6c050e5f0315017d327f84746b064246803a6a90a39456/etc/nginx/nginx.conf
3、进入对应容器id的目录,修改问题文件
root@ubuntu:cd /var/lib/docker/aufs/diff/fa02f8084b631c371c6c050e5f0315017d327f84746b064246803a6a90a39456
执行ls命令,容器的根目录展现在面前,是不是很熟悉?
root@ubuntu:/var/lib/docker/aufs/diff/fa02f8084b631c371c6c050e5f0315017d327f84746b064246803a6a90a39456#ls
etc rootrun srv tmpusr var
接下来找到这个容器里面nginx.conf的语法错误处修改。
4、修改后启动容器
root@ubuntu:~# docker start iframe-test
root@ubuntu:~# docker ps grep iframe-test
fa02f8084b63 debian06-base:latest "/etc/rc.local" 6 weeks ago Up 13 minutes 10.18.103.2:22->22/tcp,10.18.103.2:80->80/tcp, 10.18.103.2:443->443/tcp,10.18.103.2:3306->3306/tcp, 10.18.103.2:6379->6379/tcp,10.18.103.2:6381->6381/tcp, 10.18.103.2:8000->8000/tcp,10.18.103.2:8888->8888/tcpiframe-test
容器启动成功,问题解决。以后再也不用担心docker容器坏掉,导致数据丢失了。
我的其它docker相关文章:
运维人员的解放----Docker快速部署
http://yangrong.blog.51cto.com/6945369/1551327
docker容器端口IP规划及端口动态扩容
没有评论:
发表评论