存档

2011年1月 的存档

更新check_nginx插件

2011年1月25日 eric 143 条评论

新增功能:
增加 BasicAuth 认证功能,
去掉了显示:serveraccepts handled requests
只显示主要的: ActiveConn reading writing waiting
优化代码可以省去不需要的参数。

源码:

# -*- coding: utf-8 -*-
#!/usr/bin/python
# check_nginx is a Nagios to monitor nginx statu
# my blog: http://www.nginxs.com
# The version is 1.0.1
# MSN: yangzi2008@126.com

import string
import urllib2
import getopt
import sys

def usage():
   print """check_nginx is a Nagios to monitor nginx status
   Usage:

   check_nginx [-h|--help][-u|--url][-p|--path][-w|--warning][-c|--critical]

   Options:
          --help|-h)
分类: nginx 标签: ,

func install in ubuntu-server

2011年1月21日 eric 144 条评论

简介:
func: fedora 上的同意网络控制器

func为我们带来了什么:
· 你曾经试图命令或查询的系统大量使用SSH? 你想要一个更好的办法?
·你需要一个方法来审核你的系统你所有的远程命令呢?
·厌倦了编写shell脚本和解析命令的输出?
·你是美联储通过CIM,WBEM的,复杂的通信系统,防止doing /real/ work??
·那么我们有没有给你买了一个解决方案。 它的 功能 。

func几乎可以解决运维上任何问题:
一个方案,系统和一些工具,需要大量的沟通方式。功能提供了一种双向认证的统称做这些事情的排序制度。你可以建立自己的在顶部,这样,很容易扩大应用在其他模块添加功能,无论你 希望通过这些工作func命令行或其他一些应用的手段。如果你只是想用命令行的功能,这是伟大的。如果你想建立应用程序的功能工具,那也很好。如果这听起来很笼统空泛,它只是因为它确实是容易扩展。

下载源码:

git clone git://git.fedorahosted.org/certmaster.git
git clone git://git.fedorahosted.org/func.git
或者:
wget https://fedorahosted.org/releases/f/u/func/func-0.27.tar.gz
wget https://fedorahosted.org/releases/c/e/certmaster/certmaster-0.27.tar.gz

#修改 master机器 hosts

127.0.0.1       localhost
127.0.1.1       mysql
127.0.1.1       certmaster
192.168.6.161   master
192.168.6.160   minions
分类: linux 标签: , ,

转 svn常用命令

2011年1月21日 eric 162 条评论

1、checkout文件到本地目录
svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co
2、添加新的文件到版本库中
svn add file
例如:svn addtest.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)
3、将改动的文件提交到版本库
svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
例如:svn commit -m “add test file for my test“ test.php
简写:svn ci
4、加锁/解锁
svn lock -m “LockMessage“ [--force] PATH
例如:svn lock -m “lock test file“ test.php
svn unlock PATH
5、更新到某个版本
svn update -r m path
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
简写:svn up

分类: linux 标签: ,

转老外一篇NGINX 防DDOS配置

2011年1月19日 eric 276 条评论

FreeBSD, network card: Intel fxp, port: 100Мбит, polling, http accept-filter. in sysctl: sysctl kern.maxfiles=90000 sysctl kern.maxfilesperproc=80000 sysctl net.inet.tcp.blackhole=2 sysctl net.inet.udp.blackhole=1 sysctl kern.polling.burst_max=1000 sysctl kern.polling.each_burst=50 sysctl kern.ipc.somaxconn=32768 sysctl net.inet.tcp.msl=3000 sysctl net.inet.tcp.maxtcptw=40960 sysctl net.inet.tcp.nolocaltimewait=1 sysctl net.inet.ip.portrange.first=1024 sysctl net.inet.ip.portrange.last=65535 sysctl net.inet.ip.portrange.randomized=0 in nginx configuration: worker_processes 1; worker_rlimit_nofile 80000; events { worker_connections 50000; } server_tokens off; log_format IP `$remote_addr’; [...]

分类: nginx 标签: , ,

check_log检查日志关键词for nagios

2011年1月12日 eric 184 条评论

基于 python-2.5.2 版本写的一个小插件,巡检日志里的关键词,可以设置阀值,超过阀值报警!
开始写的时候没有太多注意,结果处理一个大的日志文件脚本执行时间有点长,看了下日志有 70M,想了一下的确啊·如果一次读取么多字符串处理起来肯定会漫长!随后在python.org 上看到了MMAP,这个模块,看到这个一下让我想起,以前编译lustre的时候,添加这个小模块时候的作用,虚拟文件·哈哈大大提升了读取大文件内容的速度! 下面看脚本,例子是我检测nginx日志有多少个 No such file or directory

nagios $> cat check_log
# -*- coding: utf-8 -*-
#!/usr/bin/python
# QQ:277057817
import mmap
import os
import sys
import getopt

def usage():
    print """
    check_log is a Nagios monitor logs Script

    Usage:

    check_log [-h|--help][-l|--log][-s|--string][-w|warning][-c|critical]

    Options:
           --help|-h)
                 check_log help.
           --log|-l)
                 sets log file path.
           --string|-s)
                 sets monitor Keywords.
           --warning|-w)
                 sets Keywords quantity.Default is: off
           --critical|-c)
                 sets Keywords quantity.Default is: off
     example:
            ./check_log -l /var/log/nginx.log -s "502 Bad Gateway" -w 5 -c 10 ""                                                                                                 "
分类: nagios 标签: , ,

nginx 错误日志分析

2011年1月11日 eric 263 条评论

nginx 错误日志: 转帖: 错误 accept() failed (53: Software caused connection abort) [error] 25361#0: accept() failed (53: Software caused connection abort) while accepting new connection on 0.0.0.0:80 [error] 25361#0: accept() failed (53: Software caused connection abort) while accepting new connection on 0.0.0.0:80 [error] 25365#0: accept() failed (53: Software caused connection abort) while accepting new connection on [...]

分类: nginx 标签: , ,

网站更新脚本

2011年1月7日 eric 189 条评论

shell版本:

nginxs $> cat  upload.sh

#!/bin/bash
usage() {
    echo "basename $0" [-g] [-p] args
    echo "-h"
    echo "print script help"
    echo "-g:"
    echo "   is a gzip filename"
    echo "-p:"
    echo "   File absolute path"
    echo "   must \" \""
    echo "   \"/var/www /var/data\""
    exit 0
}

while getopts "hg:p:" opt; do
   case $opt in
      h)
         usage
         ;;
      g)
         Filename=$OPTARG
      #打包的文件名!
         ;;
      p)
         path=$OPTARG
     #要上传的目录和文件,要输入绝对地址例如 /var/www/123.jpg,/var/www/eric/
         ;;
      :)
         echo "The opt is unknown"
         ;;
      ?)
         echo "ERROR"
         ;;
    esac
done
[ -z $1 ] && usage
tar -Pzcvf $Filename $path 
分类: linux 标签: ,

windows 挂载 linux nfs

2011年1月5日 eric 131 条评论

以前就研究过 Windows下如何挂载linux NFS共享目录,那个时候没有仔细研究就掠过了,今天回过头来下载微软的 Services for UNIX 3.5 再次试验了下,成功了,就把方法贴上来。其实蛮简单的·只要新建两个文件或者从linux系统上拷贝 两个文件下来 passwd 和group 安装的时候选上这两个文件,或者安装完毕后,在 User Name Mapping on local computer 选项页面选上这两个文件。 查看linux NFS共享目录, 在windows系统上,点开始–>点程序–>点Windows Services for UNIX–>Korn Shell Welcome to the Interix UNIX utilities. DISPLAY=localhost:0.0 $ showmount -e 192.168.6.102 # 192.168.6.102 是linux NFS服务器IP Exports list on 192.168.6.102: /web/nas * /web/data * $ mount 192.168.6.102:/web/nas g: # g: [...]

分类: linux 标签: , ,