<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>network on 老王的日志</title>
    <link>http://superwf.github.io/categories/network/</link>
    <description>Recent content in network on 老王的日志</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <lastBuildDate>Mon, 01 Jul 2013 04:18:10 +0000</lastBuildDate>
    
	<atom:link href="http://superwf.github.io/categories/network/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>cacti poller error, Cannot find module (SNMPv2-TC)</title>
      <link>http://superwf.github.io/p533/</link>
      <pubDate>Mon, 01 Jul 2013 04:18:10 +0000</pubDate>
      
      <guid>http://superwf.github.io/p533/</guid>
      <description>cacti 运行一阵子之后发现监控主机的根分区快满了。一查发现log里的poller-error.log文件特别大。
里面有好多类似
Cannot find module (SNMPv2-TC)
的错误。
开始以为是少了什么snmp的依赖库，用apt-file search也没有找到这些东西。
http://www.podciborski.co.uk/miscellaneous/snmp-cannot-find-module/
竟然还有个snmp-mibs-downloader这么个东西
之后download-mibs，自动安装。不再报错。
今天看了一下cacti的图，发现一台机器的 load average 非常大，达到800多，别的机器峰值也没过10，还以为是数据采集出错了。
上去top看了一下也没发现cpu占用很多的进程。ps 后发现好多mongodump的进程死了，原因是前几天备份分区满了每天的备份任务不能继续执行。
mongodump的进程状态为D，-9也杀不掉，只好重启了。之后load average总算是正常了，惯性思维导致忽略重要的报警信息。</description>
    </item>
    
    <item>
      <title>awstats logrotate prerotate</title>
      <link>http://superwf.github.io/p442/</link>
      <pubDate>Fri, 17 May 2013 09:10:03 +0000</pubDate>
      
      <guid>http://superwf.github.io/p442/</guid>
      <description>首先感谢这页资料
http://kamisama.me/2013/03/20/install-configure-and-protect-awstats-for-multiple-nginx-vhost-on-debian/
开始用splunk看的很好，不过终归是试用的，还是得找个合适的免费软件代替。
看上了awstats，本来以为是个cgi程序，看了半天原来是个生成静态文件的工具。
别人写的动态用php生成的弄出来，不过这东西要是动态的，太耗系统。
好多资料里还需要手动日志切割，大概是年代太久了，当前系统里基本都会有自动的日志切割工具，debian里就会预装logrotate
看资料写的在/etc/logrotate.d/nginx里
prerotate 里加东西，省去了再加crontab的麻烦
就看了看当前系统的
发现这里有个run-parts httpd-prerotate
于是就建立了一个httpd-prerotate的文件夹
把需要执行的脚本放里面加上x权限。
脚本为
#!/bin/bash为
if [ -x /usr/share/awstats/tools/awstats_buildstaticpages.pl]; then
/usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=proxy -lang=cn -dir=/var/www/awstats -awstatsprog=/usr/lib/cgi-bin/awstats.pl
fi
然后配置好nginx的一个虚拟目录给 /var/www/awstats
后来有一次看mysql的二进制日志，发现全都是非常小，而且看时间都是每天早上6.45生成的。
明明my.cnf里配置了max_binlog_size = 1000M，但没起作用。
原来就是/etc/logrotate.d/mysql-server里更新为daily，虽然这里的配置没有指定binlog，但是每次分割日志后都会通过postrotate重启mysql，也就生成了新的二进制日志。
果断改成monthly</description>
    </item>
    
    <item>
      <title>cacti</title>
      <link>http://superwf.github.io/p432/</link>
      <pubDate>Thu, 16 May 2013 07:46:38 +0000</pubDate>
      
      <guid>http://superwf.github.io/p432/</guid>
      <description>cacti又折腾了两天，主要是之前snmp的一些东西都忘了，又重新看了一下。
弄明白了点觉得挺简单的，不过要是不明白，全都跟天书一样。
软件全都aptitude安装，让系统默认配置。
需要被监控的机器都要装snmpd
看说明，要是想禁用snmpd v1 和 v2，在snmpd.conf里注释掉带community的行就行了，v3的认证不需要community
在snmpd.conf里更改要监听的ip地址
然后net-snmp-config –create-snmpv3-user -ro -a xxxxxxxx -x yyyyyyyy -X DES -A MD5 snmpuser
man一下看看更好
-a是验证密码，-x是是privpass，理解是snmp进行set时的写入密码，不过我感觉cacti都是读操作，应该用不到这个密码。
建立snmpv3的用户与验证密码
密码强制至少8位
顺带一说cacti没法放到网站的根域名下，由于程序本身的设计必须被放在/cacti的虚拟目录下，不然总是redirect错误。
在cacti里建立device
填的和刚才建立的用户名和密码一致就行。
template选择 ucd/net SNMP Host，这个模板基本想要的图都包括了。
其他模板也行，就是带的图不一样而已。
如果没出图，在graph management里找这个主机的随便一个图，开debug模式调试。
图没问题了，在grahp trees 里添加新主机
Tree Item Type选Host
然后选中新主机添加
后来看图里显示的硬盘和内存，都比实际的要小大概五分之一，难道是本机和snmp的算法不一样？回头问问老于。
nagios里的nagios-snmp-plugin要用snmp v3的话，需要装以下东西
libnet-snmp-perl libcrypt-hcesha-perl libcrypt-des-perl libdigest-hmac-perl</description>
    </item>
    
    <item>
      <title>iptables nginx 透明代理顺带加上ntop监个控</title>
      <link>http://superwf.github.io/p410/</link>
      <pubDate>Mon, 13 May 2013 08:08:40 +0000</pubDate>
      
      <guid>http://superwf.github.io/p410/</guid>
      <description>公司最外层的华为最近动不动老死机，作为半网管，还是得亲自折腾这个事。
正好弄个老服务器把华为换掉，一来可以部署监控，二来可以随意根据iptables调整，不用弄那些专业设备的晦涩难懂的命令。
精力有限，作为一个coder思科华为这些专业设备的命令我是不想去学了，不如学精点iptables更通用些也能达到一样的效果。
一开始看到用varnish代替squid的。想上varnish。后来看了写资料发现varnish是单一或某几个网站做后端缓存代理的，并不具备透明代理的能力。
本来想写个iptables +　varnish的教程就泡汤了，怪不得网上没有人写过这个搭配的文章，原来没戏…
不过也好，如果以后网站性能有问题时，可以上varnish，这个对rails的程序可能还真有些必要，有些地方的逻辑占用数据库和内存资源太多了，比如即时生成pdf或数据统计什么的。
squid那玩意没弄过，不过正好nginx也能做透明代理。顺带夸一下nginx，学习回报大！学一个工具，会中N种功能。
首先
绑定网卡名称
ntop安装的时候选择监控网卡,之后可以在 /var/lib/ntop/init.cfg 更改
之后开启ntop可以用3000端口访问但是需要做限制,要不到处都能访问这个3000端口十分不靠谱
在/etc/init.d/ntop里
ntop_start函数里加上启动参数 -w 127.0.0.1:3000
再在ngnix里加一个主机，请求全部转发给127.0.0.1:3000
然后用nginx的这个主机名访问。
后记：因为加了http验证，设置了一个浏览权限，但是后来要改ntop配置的时候，进入admin页面的时候又需要另一个http验证。
双重验证的用户名和密码不一致导致冲突无法进入admin管理页面。开始我还以为是admin密码记错了，后来重新设置了密码ntop -A xxx仍然没用才意识到这点。
当需要进入admin页面的时候先暂时注释掉nginx的http验证那两行好了….
ntop里有个plugin round-robin database
看名字应该是调用rrdtool制图的，一开始不知道，把插件都打开看看，后来马上硬盘就被填满了，发现是rrd这个插件可能是为了制图用了太多硬盘文件，务必关掉。
运行了一周多，ntop常开没问题，cpu在cacti里的监控最高20%多，负载没上2，看来在一个路由上只运行ntop不要装太多东西是可以长期稳定运行的。
cacti
安装好之后cacti的网站根目录下竟然没有jquery.js 和 jquery.cookie.js两个文件导致不出图
自己网上找好这俩文件放到根目录的javascript文件夹里。
因为本机当作路由器，监控的是本机的物理网卡，确不出图。
因为没有安装snmpd服务。
后来打算先暂装cacti，看一阵子如果负载太大就放到其他机器上，路由器的机器先只进行路由、ntop和nginx透明代理的作用。
据于工程师说ntop的负载太大，应该随用随开。
nginx 透明代理
服务器先设置nat
若nginx和网关这个是同机，直接转发端口，默认转到本机上
同时要加上限制，不让自己内网之外的地址滥用该端口进行代理
set +o history # 需要先禁用!的转义，并且man手册里的！位置错了，现在需要写在-s或-d的前面而不是ip前面了。
若不同机则转发到nginx代理地址
将上述iptables 命令放到一个脚本上，加上x权限,放到/usr/local/bin/fw_nat
再在/etc/init.d/里编写个fw_nat也加上x
最后update-rc.d firewall start 01 2 3 4 5 . stop 99 0 1 6 .
添加服务自动启动</description>
    </item>
    
    <item>
      <title>452 4.3.1 Insufficient system storage</title>
      <link>http://superwf.github.io/p356/</link>
      <pubDate>Tue, 27 Nov 2012 06:44:23 +0000</pubDate>
      
      <guid>http://superwf.github.io/p356/</guid>
      <description>今天邮件服务器突然发不出去邮件，报这个错误。
应该是空间不足。上服务器看了一下，root还剩900多M的可用空间。
突然想到ext分区有一些保留空间。果断lvextend了一下就恢复了。
查了一下发现这个
http://forum.ubuntu.org.cn/viewtopic.php?p=2601803
不过vg还很大，先稳定重要。</description>
    </item>
    
    <item>
      <title>pptp设置</title>
      <link>http://superwf.github.io/p348/</link>
      <pubDate>Wed, 31 Oct 2012 14:32:55 +0000</pubDate>
      
      <guid>http://superwf.github.io/p348/</guid>
      <description>openvpn的推广阻力很大，主要是由于客户端太麻烦，客户不好控制。
还是选一个能用自带拨号的东西吧，经老于推荐用了pptpd
http://www.cnblogs.com/wusthjp/archive/2012/04/05/2433704.html
参考了以上设置，还挺容易的。
关键的几步就是
net.ipv4.ip_forward = 1
和
iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -j SNAT –to-source 192.168.1.108
这个</description>
    </item>
    
  </channel>
</rss>