新增功能:
增加 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)
简介:
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
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
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’; [...]
基于 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 "" "
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 [...]
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
以前就研究过 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: [...]
近期评论