Alt+Enter是转换全屏与否的快捷键,或者输入Alt+V弹出菜单,去掉full screen
原来这样就ok了
Alt+Enter是转换全屏与否的快捷键,或者输入Alt+V弹出菜单,去掉full screen
原来这样就ok了
摘自:http://www.comeonsa.com/2010/08/nagios%e5%88%86%e5%b8%83%e5%bc%8f%e9%85%8d%e7%bd%ae/comment-page-1/#comment-237
Nagios分布式配置
2010年8月14日 k9.huang 发表评论 阅读评论
nagios的分布式是通过在主服务端开启nsca接口进行内容的接收,客户端通过调用send_nsca程序,进行内容的传输,服务端在接收到约定格式的内容后,进行告警。以下内容省略了,nagios的主服务端与分布式服务端的安装步骤。
一、NSCA插件安装与配置
http://nchc.dl.sourceforge.net/sourceforge/nagios/nsca-2.7.2.tar.gz
编译安装nsca:
查看源代码打印帮助0 ./configure && make all
nagios主服务端:
1.拷贝nsca相关文件至nagios目录
查看源代码打印帮助0 cp sample-config/nsca.cfg /usr/local/nagios/etc/
1 cp src/nsca /usr/local/nagios/bin/
2 chown nagios.nagios /usr/local/nagios/etc/nsca.cfg
3 chown nagios.nagios /usr/local/nagios/bin/nsca
2.配置nsca.cfg文件中password
查看源代码打印帮助0 vi /usr/local/nagios/etc/nsca.cfg #去掉password前面的#,设置密码
1 password=xxx
3.开启nsca程序
查看源代码打印帮助0 /usr/local/nagios/bin/nsca -c /usr/local/nagios/etc/nsca.cfg
4.开启防火墙5667端口
查看源代码打印帮助0 iptables -I RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 5667 -j ACCEPT
nagios分布式服务端:
1.拷贝send_nsca相关文件至nagios目录
查看源代码打印帮助0 cp sample-config/send_nsca.cfg /usr/local/nagios/etc/
1 cp src/send_nsca /usr/local/nagios/bin/
2 chown nagios.nagios /usr/local/nagios/etc/send_nsca.cfg
3 chown nagios.nagios /usr/local/nagios/bin/send_nsca
2.配置nsca.cfg文件中password
查看源代码打印帮助0 vi /usr/local/nagios/etc/send_nsca.cfg #去掉password前面的#,配置与主服务端相同的密码
1 password=xxx
二、Nagios主服务端与分布式服务端配置
nagios主服务端:
1.修改nagios.cfg文件
查看源代码打印帮助0 vi /usr/local/nagios/etc/nagios.cfg
1 #修改以下参数值
2 check_external_commands=1
3 accept_passive_service_checks=1
4 accept_passive_host_checks=1
2.修改服务与主机的监控,以下为配置示例,该示例定义的服务与主机应该与分布式服务端相同
查看源代码打印帮助00 define host{
01 name test
02 use generic-host
03 address 192.168.0.8 #分布式服务端内监控的主机地址
04 passive_checks_enabled 1 #开启被动检测模式
05 active_checks_enabled 0 #关闭主服务端对该主机的主动检测
06 }
07 define service{
08 use generic-service #根据实际情况修改
09 host_name test
10 service_description CPU Load
11 check_command check_nrpe!check_load
12 check_freshness 1 #开启强制刷新
13 freshness_threshold 450 #主服务端强制刷新的时间,具体含义请参考手册
14 passive_checks_enabled 1 #开启被动检测模式
15 active_checks_enabled 0 #关闭主服务端对该服务的主动检测
16 }
nagios分布式服务端:
1.修改nagios.cfg文件
查看源代码打印帮助0 vi /usr/local/nagios/etc/nagios.cfg
1 #修改以下参数值
2 enable_notifications=0
3 obsess_over_services=1
4 ocsp_command=submit_check_result
5 obsess_over_hosts=1
6 ochp_command=submit_check_result
2.创建submit_check_result脚本
查看源代码打印帮助00 vi /usr/local/nagios/libexec/submit_check_result
01 #!/bin/sh
02 # Arguments:
03 # = host_name (Short name of host that the service is
04 # associated with)
05 # = svc_description (Description of the service)
06 # = state_string (A string representing the status of
07 # the given service – “OK”, “WARNING”, “CRITICAL”
08 # or “UNKNOWN”)
09 # = plugin_output (A text string that should be used
10 # as the plugin output for the service checks)
11 #
12 # Convert the state string to the corresponding return code
13 return_code=-1
14 case “$3” in
15 OK)
16 return_code=0
17 ;;
18 WARNING)
19 return_code=1
20 ;;
21 CRITICAL)
22 return_code=2
23 ;;
24 UNKNOWN)
25 return_code=-1
26 ;;
27 esac
28 # pipe the service check info into the send_nsca program, which
29 # in turn transmits the data to the nsca daemon on the central
30 # monitoring server
31 /usr/bin/printf “%s\t%s\t%s\t%s\n” “$1” “$2” “$return_code” “$4” | /usr/local/nagios/bin/send_nsca -H 1.1.1.1(修改为主服务端的ip) -c /usr/local/nagios/etc/send_nsca.cfg
查看源代码打印帮助0 chmod +x /usr/local/nagios/libexec/submit_check_result
1 chown nagios.nagios submit_check_result
3.在command.cfg文件中定义submit_check_result命令
查看源代码打印帮助0 vi /usr/local/nagios/etc/objects/command.cfg
1 #加入以下内容
2 define command{
3 command_name submit_check_result
4 command_line /usr/local/nagios/libexec/submit_check_result $HOSTNAME$ ‘$SERVICEDESC$’ $SERVICESTATE$ ‘$SERVICEOUTPUT$’
5 }
4.配置示例
查看源代码打印帮助00 define host{
01 name test
02 use generic-host
03 address 192.168.0.8 #分布式服务端内监控的主机地址
04 }
05 define service{
06 use generic-service
07 host_name test
08 service_description CPU Load
09 check_command check_nrpe!check_load
10 }
BTW:请注意分布式服务端与主服务端定义主机与服务配置的区别,当分布式服务端定义了主机与服务时,同样需要在主服务端定义一次。freshness_threshold 强制刷新时间,主要的作用是当分布式服务端未提交新的数据时,服务端可以强制进行状态刷新,进行及时的预警。
如何在不安装分布式nagios的情况下,监控另一网络防火墙内的内网主机呢?其实方法很多,比如check_ssh,这里共享一个方法,该方法是同事nonamexz的创意,在此借花献佛。
通过nagios的自定义变量,在nrpe的命令行增加一个端口的参数,通过防火墙进行映射至内网不同的服务器
查看源代码打印帮助00 define command{
01 command_name check_NRPE #定义一个新的命令
02 command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -p $_HOSTPORT$ -t 60
03 }
04 define host{
05 name test
06 use generic-host
07 address 2.2.2.2 #需要监控的服务器的外网地址,比如防火墙地址
08 _PORT 5668 #自定义的外网端口,改端口是通过防火墙进行内的需要监控的服务器的nrpe的端口映射
09 }
10 define service{
11 use generic-service
12 host_name test
13 service_description CPU Load
14 check_command check_NRPE!check_load #这里定义的时候,使用自定义的nrpe
15 }
安装:
http://code.google.com/p/skipfish/wiki/SkipfishDoc
下载wget …….
先安装http://ftp.gnu.org/gnu/libidn/libidn-1.18.tar.gz
./configure
make
make install
完成后
wget http://code.google.com/p/skipfish/downloads/detail?name=skipfish-1.84b.tgz
直接make&&make install
需要openssl和openssl-devel
安装完成后,进入skipfish-1.84b目录,cp dictionaries/completes.wl skipfish.wl
运行:
./skipfish -o /root/scan.txt https://www.hardwork.cn即可
IIS中永久重定向的使用(包括参数设置)-301
注:一直没研究过参数,也不知道有这些参数,今天才看到,惭愧啊。。。。。
首先,解释下什么是资源的永久重定向,通俗简单理解下,当你在浏览器中输入sina.com.cn(新浪首页)的时候,网址是不是变成www.sina.com.cn了?再说一些163.com、首先,解释下什么是资源的永久重定向,通俗简单理解下,当你在浏览器中输入sina.com.cn(新浪首页)的时候,网址是不是变成www.sina.com.cn了?再说一些163.com、qq.com都会变成www.xxx.com等的样式,使用的就是资源的永久重定向,只不过他们使用的不是IIS。这里只来说说IIS中使用永久重定向的参数的方法。下面将说下IIS6.0中使用重定向的方法。
前提假设,为了简化输入这里假设两个网址:AA-代表aa.com,BB-代表www.aa.com
一、如何设置重定向的方法?
1.打开IIS管理器;
2.展开“网站”,然后选择一个网站,右键点击选择“属性”,然后点击“主目录”选项卡;
3.在“主目录”选项卡中你会看到“此资源的内容来自:”然后下面是3个选项,分别是:
“此计算机上的目录(D)”;
“另一台计算机上的共享(S)”;
“重定向到URL(U)”
4.选择“重定向到URL(U)”,下面的选项会跟着变化
会出现“重定向到(C):”的输入框,这里就是要输入资源重定向网址的地方。
二、举例子说明重定向的方法
1.目标:将AA重定向到BB
2.方法:在IIS中分别设置AA和BB的主机头,按照“一”中说明的方法将AA里“重定向到URL(U)”里面输入BB的网址就,然后选择上“上面输入的准确URL”和“资源的永久重定向”(最好选择上,不然搜索引擎会以为你在作弊,HTTP返回值也会被正确响应为301了),这样可以完成AA重定向到BB。
3.测试:在浏览器中输入AA,看下是不是变成BB了?
三、带参数的AA如何重定向到BB
如果按照“二”中的方法测试http://aa.com/view.asp?id=1&host=www.hl6666.cn这个网址的时候,浏览器会访问www.aa.com,后面的参数是不会重定向的,那么如何带参数重定向?继续往下看吧
1.目标:将http://aa.com/view.asp?id=1&host=www.hl6666.cn重定向到http://www.aa.com/view.asp?id=1&host=www.hl6666.cn
2.方法:这个时候要在“重定向到URL(U)”里面输入参数了,输入的参数在本文结尾归纳,在输入框里面输入http://www.aa.com$S$Q
3.测试:这个时候再次输入http://aa.com/view.asp?id=1&host=www.hl6666.cn的时候看看是不是正确的被重定向到http://www.aa.com/view.asp?id=1&host=www.hl6666.cn了?
四、重定向的参数
$S-将请求的 URL 的后缀传递给新的 URL。后缀是用重定向的 URL 代替之后,初始 URL 中所保留的部分。如果未设置 EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
$P-将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,不包括问号 (?)。
$Q-将初始 URL 中的参数(如 querystring 参数)传递至新的 URL,包括问号 (?)。
$V-传递请求的 URL,不包括服务器名和任何参数。要包含参数,可使用 $P 或 $Q 变量及 $V 变量。如果未设置 EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。
参数还有很多,基本上最常用的就是$S和$Q,任意网址想要实现301的永久重定向只需设置$S和$Q就可以了。
文章举例子说明了IIS中使用重定向实现301的方法,例子中的网址,如果这些网址给您带来不便,请告之本人会尽快删除。
这两哥太逗了,恐龙哥后面那几步颠的真是销魂啊,不过鸡鸡哥太阴险了,
现在终于知道恐龙为什么会灭绝了!都是因为惹了鸡啊!
$ sudo sysctl -a | grep ipv4 | grep syn
输出类似下面:
net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_syncookies = 0 net.ipv4.tcp_synack_retries = 5 net.ipv4.tcp_syn_retries = 5
把如下加入到/etc/sysctl.conf即可,之后执行“sysctl -p”!
net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2
提高TCP连接能力
net.ipv4.tcp_rmem = 32768 net.ipv4.tcp_wmem = 32768 net.ipv4.sack=0
命令:
# netstat -an | grep ":80" | grep ESTABLISHED
来查看哪些IP可疑~比如:221.238.196.83这个ip连接较多,并很可疑,并不希望它再次与221.238.196.81有连接。可使用命令:
iptables -A INPUT -s 221.238.196.81 -p tcp -d 221.238.196.83 --dport 25 --syn -j ACCEPT
将其deny。
防止同步包洪水(Sync Flood)
# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
也有人写作
# iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
–limit 1/s 限制syn并发数每秒1次,可以根据自己的需要修改防止各种端口扫描
# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
Ping洪水攻击(Ping of Death)
# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
理想:
学一门语言,简单的就行
赚钱
做个好父亲,爱而不溺爱
做个好老公,勇敢的担当起自己的责任,给家人安全
做个好儿子,尽自己最大的努力让父母过得更好,不要让自己后悔
审计并跟踪Linux系统的异常活动详解
# up2date psacct
$ sudo apt-get install acct
或# apt-get install acct
# chkconfig psacct on
# /etc/init.d/psacct start
# chkconfig acct on
# /etc/init.d/acct start
现在我们可以了解如何运用这些工具来监视用户的命令和时间。 $ ac
输出:total 100.10
ac 命令从 /var/log/wtmp 文件中的登录和退出时间记录计算并输出用户的连接时间和总计连接时间,记帐文件 /var/log/wtmp 由 init 和 login 维护。ac 和 login 均不生成 /var/log/wtmp 文件。若记帐文件不存在,则不做记帐工作。
文件 /var/log/wtmp 可能很快就变得非常大,所以默认情况下 CentOS 在 /etc/logrotate.conf 中 配置了此文件的日志滚动。配置片段如下:
/var/log/wtmp {
monthly # 指定日志滚动周期为每月
create 0664 root utmp # 使用指定的文件模式创建新的日志文件
rotate 1 # 只保留一个滚动日志备份,即只保留 /var/log/wtmp.1
}
ac常用参数:
-d : 为每天输出一个总计时间。
-p : 为每个用户输出总计时间,并在最后追加一个所有用户的总计时间。
-a : 输出每天的记录,而不忽略没有登录活动的日子。
-y : 在显示日期时输出年份。
-z : 显示值为0的类别总计(除了全部总计)。默认禁止输出值为0的总计。
userlist : 显示指定用户的连接时间。多个用户之间用空格间隔,不允许有通配符。
$ ac -d
Nov 7 total 5.36
Nov 8 total 3.27
Nov 9 total 8.69
Nov 10 total 4.15
Nov 11 total 5.46
Nov 12 total 9.37
显示每一个用户的总计连线时间和所有用户总计连线时间:$ ac -p
editor 5.58
sqlbackup 6.62
root 7.10
.......
total 100.13
4). 查找用户过去执行的命令
可以运用lastcomm命令打印出用户过去执行的命令.
如,lastcomm root
也可以通过用户名, tty名或命令名来搜索以往执行的命令.
通过命令:lastcomm ls
通过tty:lastcomm pts/0
service root pts/0 0.00 secs Sun Nov 22 14:22
psacct root pts/0 0.00 secs Sun Nov 22 14:22
touch root pts/0 0.00 secs Sun Nov 22 14:22
注意如果,lastcomm命令没有输出,则说明linux的记账功能accton没有开启,accton用于打开或关闭进程记帐功能,它是运行lastcomm和sa命令的前提,可以使用如下的命令打开或关闭进程记帐功能,
# service psacct start
# service psacct stop
也可以查看其状态service psacct status
[root@ccidcom phpcode]# service psacct status
Process accounting is enabled.
则表明打开,如果显示disabled则说明没有开启,那么lastcomm命令将什么也不会显示,为避免进程记帐日志文件过大,通常在使用进程记帐功能时才打开,不用时就将其
关闭。
默认情况下,psacct 服务没有打开。若想在系统启动时就打开进程记帐功能,
请执行如下命令:
chkconfig acct on
lastcomm 输出字段说明
1.命令名
2.当命令执行时记帐设备收集的标志:
S – 命令由超级用户执行
F – 命令由 fork 产生,但是没有 exec (执行)
D – 命令终止并生成一个core(核心)文件
X – 命令被 SIGTERM 信号终止
3.运行进程的用户名
4.运行进程的终端
5.这个进程用的 CPU 时间
6.进程开始的时间
5). 统计记帐信息
可以运用
sa。sa命令打印过去执行命令的统计信息。另外, sa命令保存了一个叫做savacct文件, 文件包含了命令被调用的次数和资源运用的次数。而且sa还提供每一个用户的统计信息, 这些信息保存在一个叫做usracct的文件当中。sa命令从 /var/account/pacct 原始记帐数据文件中读取信息并进行信息汇总
sa 命令的显示结果可以包含以下字段:
1. calls – 命令的调用次数。
2. 记帐设备收集的信息:
re – 实际使用时间(单位为分钟)。
cpu – 通常简写为 cp,表示用户和系统时间之和(单位为分钟)。
k – 平均 CPU 时间(单元的大小为1K)。
u – 用户 CPU 时间(单位为分钟)。
s – 系统 CPU 时间(单位为分钟)。
3. command – 调用的命令。
不带任何参数的 sa 命令,将显示 calls、re、cpu、k 和 command 字段,以 CPU 字段排序。并将只用过一次的命令放在 ***other
类别中显示。
例如:
4 0.36re 0.12cp 31156k up2date
◆4表示调用了4次
◆0.36re "实际时间" 单位为分钟
◆0.12cp 系统和用户时间总数(CPU时间, 单位为分钟)。
◆31156K 核心运用所占的平均CPU时间, 一个单元的大小为1KB。 ◆up2date 命令名。
显示每一个用户执行的每个命令的信息:# sa -u
root 0.00 cpu 793k mem accton
root 0.00 cpu 956k mem initlog
显示每个用户执行命令的汇总信息
# sa -m
1369 3870.85re 0.79cp 775k
root 1091 3693.33re 0.77cp 746k
osmond 224 177.00re 0.02cp 928k
crq 54 0.52re 0.00cp 724k
可以通过查看 re, k, cp/cpu 等字段的值找出可疑的活动。
例如: 某个用户或某个命令占用了所有的CPU时间
如果某个命令的 CPU 时间和内存使用在不断增加,说明命令存在问题。
按平均 CPU 时间排序
# sa -k
1363 3870.85re 0.79cp 776k
10 0.02re 0.00cp 2221k rpmq
12 12.28re 0.00cp 2008k sendmail
12 0.01re 0.00cp 1465k troff
170 13.12re 0.02cp 1318k crond*
-b、-k、-n 和 –sort-real-time 参数确定如何进行输出排序。
如果在命令行中指定了不止一个排序参数,则只有最后那个参数生效。
sa [ 参数 ]常用参数:
-a : 显示所有命令的名称(包括那些带有不可打印字符的和只用过一次的命令)。
-c : 同时显示百分比字段。
-l : 将 CPU 时间字段拆分为系统时间和用户时间两个字段显示。
-t : 同时显示实际使用时间与 CPU 总时间之比,即 re/cp。
-u : 忽略所有其它参数并显示每个命令执行时的 CPU 时间。
-m : 显示每个用户的汇总信息。
–sort-real-time : 将输出按实际使用时间进行排序。
-b : 将输出按用户和系统时间的总和除以调用次数来进行排序,即 cp/calls。
-k : 将输出按平均 CPU 时间进行排序。
-n : 将输出按命令的调用次数进行排序。
-r : 将输出按逆序排列,可与其他排序参数一起使用
http://www.netsarang.com/products/xmg_faq.html#a-1
其实就是官方的faq文档:
For XDMCP connection to Red Hat 7, Red Hat 8, Red Hat 9, Red Hat 3.0 AS | ||||||||||||||||||
|
For XDMCP connection to Red Hat 5 EL | ||||||||||||||||||
|
For XDMCP connection to Red Hat 4 EL | ||||||||||||||||||
|
没看明白的给我留言,我来翻译。呵呵。
将/etc/ssh/sshd_config中的“ClientAliveInterval”设置取消注释,并把0改为一个较小的数值即可。具体说明参看下面的解释:
Using an OpenSSH server’s ClientAliveInterval, it is possible for the ssh server to send periodic “keep alive” messages to the ssh client, keeping the connection open indefinitely. This is useful when a firewall or other packet filtering device drops idle connections after a certain period of time. Note that this is different from the KeepAlive directive in ssh_config.
From the sshd_config manpage:
ClientAliveInterval
Sets a timeout interval in seconds after which if no data has
been received from the client, sshd will send a message through
the encrypted channel to request a response from the client. The
default is 0, indicating that these messages will not be sent to
the client. This option applies to protocol version 2 only.
Example (send “keep alive” messages every 5 minutes) on Red Hat Linux:
1. Add ClientAliveInterval 300 to /etc/ssh/sshd_config
2. Reload the sshd server configuration with /sbin/service sshd reload
Note: you may want to configure the ClientAliveCountMax value in sshd_config to set the number of times that “keep alive” messages are sent. If ClientAliveCountMax number of “keep alive” messages are not acknowledged by the ssh client, the connection is terminated by the ssh server. The default value of 3 should be sufficient for most users.