The Mirages

樱桃沟夹事

网上有很多文章写的是iptables通过nat模块进行端口映射,其实这是错误的概念,只是在ipables上做了来和回的2个forward而已。 因为有个项目要一个端口转发,而转发的还刚好是ssh端口。基本架构如下: A:  1.1.1.1 B:  公网地址 2.2.2.2 内网地址 10.10.10.2 C: 10.10.10.3 现在在B上面对10.10.10.3的22端口映射成2.2.2.2:3322端口。   当A ssh 到2.2.2.2:3322端口的时候每次都是通过2.2.2.2来进行内外网转发的。而A 得到的know_hosts里面的key也是真是10.10.10.3的公钥。但是在A的know_hosts文件里10.10.10.3的公钥对应的IP却是2.2.2.2,而不是10.10.10.3。.所以会出现一个情况,当你以后ssh 2.2.2.2的22端口的时候会提示key出错了。   这个也是没有办法的,A一直连接的都是2.2.2.2。   由于一般做forward的机器都是一个公网,一个内网,而tcpdump不能在混杂模式下监听所有端口,所以必须开2个tcpdump进程,后期再用wireshark进行merge后再进行分析。   从分析结果来看,只是在所有的连接中当中会多一步而已,而不会有其他更多的,key交换的时候也同样会进行forward的。

想设置一下Linux下系统登录用户密码输错次数的限制。由于知道是/etc/pam.d/system-auth文件来进行控制的,所以就查看了一下这个文件。   system-auth是由以下几个部分组成的 auth,account,password,session。每个部分又都有不同的方法,针对方法的使用也有不同的控制选项,一般有这些控制选项:required,requisite,sufficient,optional,include 这5种   具体内容man pam.d就都能看到,而很明显的,验证登录是通过auth这个部分来的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
account
this module type performs non-authentication based account management. It is typically used to restrict/permit access to a service
based on the time of day, currently available system resources (maximum number of users) or perhaps the location of the applicant
user -- ’root’ login only on the console.

auth
this module type provides two aspects of authenticating the user. Firstly, it establishes that the user is who they claim to be, by
instructing the application to prompt the user for a password or other means of identification. Secondly, the module can grant
group membership or other privileges through its credential granting properties.

password
this module type is required for updating the authentication token associated with the user. Typically, there is one module for
each ’challenge/response’ based authentication (auth) type.

session
this module type is associated with doing things that need to be done for the user before/after they can be given service. Such
things include the logging of information concerning the opening/closing of some data exchange with a user, mounting directories,
etc.

The third field, control, indicates the behavior of the PAM-API should the module fail to succeed in its authentication task. There
are two types of syntax for this control field: the simple one has a single simple keyword; the more complicated one involves a
square-bracketed selection of value=action pairs.

For the simple (historical) syntax valid control values are:

required
failure of such a PAM will ultimately lead to the PAM-API returning failure but only after the remaining stacked modules (for this
service and type) have been invoked.

requisite
like required, however, in the case that such a module returns a failure, control is directly returned to the application. The
return value is that associated with the first required or requisite module to fail. Note, this flag can be used to protect against
the possibility of a user getting the opportunity to enter a password over an unsafe medium. It is conceivable that such behavior
might inform an attacker of valid accounts on a system. This possibility should be weighed against the not insignificant concerns
of exposing a sensitive password in a hostile environment.

sufficient
success of such a module is enough to satisfy the authentication requirements of the stack of modules (if a prior required module
has failed the success of this one is ignored). A failure of this module is not deemed as fatal to satisfying the application that
this type has succeeded.

optional
the success or failure of this module is only important if it is the only module in the stack associated with this service+type.

include
include all lines of given type from the configuration file specified as an argument to this control.

而所有的pam的方法都在/lib64/security/ 目录下,查询到登录验证是通过pam_tally2这个来进行的。通过man pam_tally2找到了很多对应的方法。因为之前查了很多网上的方法都是只针对普通用户的,不针对root用户的。root的方法跟普通的是不一样的。从这个来看以后还是得多看man帮助。   下面这个就是修改的system-auth,这是修改了auth部分的第2行而已。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
cat /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_tally2.so deny=3 onerr=fail no_magic_root even_deny_root unlock_time=120 root_unlock_time=120
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so

account required pam_unix.so
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so

password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so

session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so

水电改造 这个是最重要的隐蔽工程。为了防止工长的线不好,我都是自己来买电线。都是买 的海燕的,本来想买熊猫的,可是北京好像没有这个品牌卖的。

  其次,要考虑好家里走几路线,走的路数越多,那总米数就越多。所以这个也是需 要权衡的。我们家总共就60平,走了5路线,分别为灯,厨 房,卫生间,其他插 座,空调。确定好这些之后,我们就要买漏电保护器和空开,空开有2P和1P的。漏 电保护器一般要占4个位置,2P的空 开一般是占2个位置,总共买了3个2P和2个 1P,总共要占用12个位置,所以买了一个13位的强电箱。电路这个东西是很重要 的,所以还 是买有点品牌的东西。一般是西门子,ABB,国产的比较好的也行。反正我自己买的是ABB。但是其实ABB做的好是高压电气的产品。 为了防止买到假货,这些电相关的东西(漏电保护器,空开,电箱,电线)都是在该死的居然之家买的。 东西买好了,然后电工就开工了。电工首先跟你探讨好哪些地方放开关,哪些地方 用4平方线,哪些是2.5平方线,那些地方放空调和热水器, 水管怎么走,热水管 怎么走。这些都是需要有图的。 等确定好这些后,电工就开始弹线,弹线后你确定位置后就可以开始开槽然后布线 了。 需要注意的是,卫生间和厨房最好所有线都从房顶走,因为这2个地方容易漏 水,如果你埋地下,那以后万一要检修的话就麻烦大了。 看我们家卫生间顶上的这些水管。 同时在墙上开槽千万不能开横槽,所以你知道这个特点的话,所以插座分布上下同 一条线上分布的话会比较省线省钱。 另外一个是尽量不要走双路开关,我个人觉 得没什么用,而且非常费线费钱,如果非要实现这种功能,现在有一种无线开关都 可以达到这样的功能。 在水电工完工后,需要对每个地方的线路都要照相好。不然以后要在墙上打孔就得 注意了。下面这个是我们家卫生间一面墙的走线,左边是水路, 右边是电路。而 现在水电工为了方便,所以所有水路都是用的热水管的PPR材料。其实我问过,2个 价钱也都没有差别多少。为了检查水电,我 从管的真伪,走向,线的真伪都查过 了。最终还是非常肯定我们家这位水电工,以后这方面的活直接找他就是了。 我们家电表箱附近的走向。基本所有主线都是用的4平方线。 在水电好了之后就是最牛的工种瓦工开始开工了,这个时候也是比较乱的时候。在 这前需要确定好哪些地方贴瓷砖,什么样的瓷砖。为了这个可是 跑了无数次的各 种市场。最终还是在闽龙买的便宜砖。团购会上也有卖瓷砖的,但是这上面的一般 都是大路活,没有我们家要求的仿古砖,所以必 须自己去淘。有2个品牌的产品精 艺陶和罗马瓷砖。但是看了下价格都偏贵,最便宜的每平米都要100元以上,可瓷 砖这个东西并没有多大的技 术含量。所以只要有自己的测试标准就可以了。我个 人的标准是四周平准度和是否吸水以及硬度。 这些技术标准是比较好确定的,但是要选定风格对应的瓷砖确实难事啊。厨房四周 墙面的砖是否一样,是否需要腰线,砖的大小如何确定,是否需 要斜铺,从厨房 到厨房阳台如何过度,从厨房到客厅如何过度,卫生间相对简单点。 下面这个是我们家厨房的墙砖。最后还送了点垃圾砖,这个是用来铺在橱柜后面 的。所以在这个时候我们其实要把橱柜给定好了。再下面是我们橱 柜设计师的设 计草图。应该说德斯曼的冉师傅是我碰到几个设计师里面最靠谱的,他还对我们家 厨房的电线如何布线,下水,洗菜盆的安放位置都 给考虑好了,而且还给了很好 的意见。 橱柜设计草图。 但是其实瓦工刚进场的时候,马上需要做的是做防水,这个也是非常重要的。不然 以后漏水到楼下就有点你头疼的了。好多朋友只知道做防水都是 用的东方雨虹, 可东方雨虹有很多种不同的型号,有好仕途,吉仕途,水立顿,还有柔性的,通用 型的,各个不同的差别可是非常大的。但是我的 看法是用柔性的比较好,最好是 水立顿,其实也没多少钱,一个卫生间用一桶足够了,当然我们家卫生间就4平方米。 我们家瓦工一开始用的吉仕途101,后来媳妇说这刷的什么呀都没到位,于是工长又买了一桶水立顿来刷了,又刷了1/3把。 防水不光地面要做,还有墙面最好做到2米的样子,这样才能保证洗澡水啥的不会 流到楼下去。在做完防水后要进行防水实验和拉毛。 防水实验我们家就拿沙袋把所有孔和门口全部都堵上,然后进行放水实验,放了大 概有10厘米高的水,这样做了大概有3天时间,做防水实验可 一定要跟楼下打好招 呼,留个电话,不然一旦真漏水了才能尽快补上。 我们家瓦工最让我媳妇恼火的就是拉毛,跟网上标准拉毛的照片都不一样,但是瓦 工老说就按他们的来,结果实在扭不过我媳妇,按照她的照片又 重新拉了一次。 可就这样让我媳妇对于瓦工的印象差了很多。其实我们家瓦工的活确实不错,贴的 砖都没有空鼓,对线也都非常直。就是对于美观没啥概念,都要说好了,不说好的地方虽然贴的很直,但是明显半块砖的应该贴外面,他却贴到了里面。 瓦工在我们家另外一个比人家多的工作就是贴马赛克和找拱形。我们家所有的室内 门洞都是拱形的,这个可把瓦工说害苦了。但是最终的效果还是 非常不错的。 瓦工最重要的活就是贴砖和找平了,这2个做不好,那就非常难受了。

从第一个开始说起吧。 需要在确定工长前确定好的事情: 暖气: 这个制造过程会比较长,而且要上门上次。第一次上门弄好截门和确定暖气线路走向。所以最还先确定。 对于暖气的采购,我们跑了不下5个会场,有家博会的,有森德特卖会的,还有居然和百安居, 最后我们就去了ljlj买的诺奥罗的,暖气片有分钢的和铜铝的,如果是自采暖的,那适合用铜铝的,因为这个加热快,冷的也快,也就是比热容低,而集中供暖 的还是钢的更好点。可钢的也分好多不同的钢材,老实说我也不清楚哪个好点。最后选了比森德低一个档次的怒奥罗。 但是奴奥罗内部也分各种型号和子品牌,所以还是得小心才是。 暖气片是按片数来收费的,然后安装费是按组来收费的(好像一组暖气片安装费是150还是140来着,所以一组暖气片多点还是比较合算),连接管线是每组2米免费,超过的单独收费。最后我们在管线设计上很好的控制住了总体预 算。 暖气片这个项目是7分材料3分安装,所以让给推荐个好的安装师傅也是重要的。我们那个安装师傅据说是给ljlj老总家安装的,至少在我看来活 还是不错的。 暖气安装一般分为2次,分别为:拆除旧暖气,确定新的暖气安放位置和暖气管走向,安装截门(这个非常重要,这个安装好了,暖气片啥时候来安装 都可以了,而不用非等到供暖季节结束再安装了。)。 第2次上门就根据上次确定的位置来进行走线和安装了。 师傅正在绕线中 小工准备挂暖气片中。 窗户: 这个也是制造工期比较长,同时也是隐藏项目非常多的一个项目。 在确定工长的时候最好确定好窗户,现在主要有断桥铝和塑刚两种,断桥铝平开上悬的密封性还是比塑刚推拉的要高很多。但是得注意,必须都是钢化 玻璃,而且像北方地区还得是双层钢化中空玻璃。由于钢化玻璃的制造时间就要15天左右,所以必须要提前确定好。 从最后使用的情况来看,断桥铝的密封性确实高。但是看到七彩门窗有一种通风又隔音的窗户,不知道原理是啥,据说还挺贵,还好我们家不在路边不需要买这样的。 为了这个我们也跑了3次各种不同的市场,最后是在团购会上定的。 而窗户是一般装修中被坑的大头。一般报价650以内的断桥铝的基本都是假的。 下面这个就是之前我们断桥铝窗户的报价单。 可以看到很多项啊。 玻璃 立柱 横栏 五金件 密封胶 玻璃胶 隐形纱窗 定位器等等,如果你的报价没有包含上面所有,那就危险了。这个断桥铝市场在北京基本都被江西人给垄断了。其实这东西成本就那些,可就是价格不 透明,而且很多都不规范,导致很容易被黑。 要不是有有团购会客服,我们家也许也会被坑。 玻璃说是200一平,可要是不懂,到时候说钢化要价钱,升级成浮法玻璃还要加钱。 上门来测量的时候刚好不在,回来一算居然好多都是错误的。居然还把1米2的长度算成1米5,这要都那么算,得多收多少啊。安 装的师傅来来回回5次,不是玻璃有问题,就是颜色有问题。真是够乱的,从这里就看到前期测量的人得多重要,要是测量的胡乱来,那安装必定 出问题,我们家窗户和室内门就是反面的典型例子。 但是一般装修行业负责测量的都是老板他们家亲戚,而安装工人才是从外面找的,我们家安装的武师傅还是很不错的,就是测量的人太2B了。 下面这个是武师傅安装窗户中 防盗门: 如果不是定做的话很快,但是要定做的话大品牌都需要一个月的时间。 这个就看了两次,定了盼盼的防盗门,都是标准尺寸里面最大的。拆门是30元,卖给收破烂的是100元。因为我们家门洞是一个非标准尺寸的,比 一般的要大,所以之前考虑了很久是不是要做非标准的字母门,最后还是算了,一个是价格高,另外是工期太长了。 防盗门一般都是看防盗级别,分甲乙丙丁,可这个有锁的防盗级别和门本身的防盗级,这个你可得问清楚了。但是一般家用的随便点也就成了。   确定工长: 不是说地域歧视,由于现在油工瓦工水电一般都是工长的亲戚邻居啥的,所以为了干活好点的,最好还是找江苏和安徽的。 这河南和山东的瓦工干活还是相对糙一点,一方水土养一方人嘛。 在确定工长的时候还是没有必要找很专业的装修公司,一般的设计师还不如自己来呢。 决定一个工长的好坏,其实从他的量房开始,到出来报价就能得知个一二。经常有些工长一开始报价不高,但是后期增项太多,这样的就不太靠谱了。 所以早期能够很好的量房,跟你确定好设计方案,然后报价又报的非常细致的,基本可以考虑下。最好去他们的其他的施工工地上看看就可以确定下 了。 确定付款方式: 最好是最后验收后付款,但是你找大的装修公司一般都是一开始70%的付款,这样其实很危险的。但是水电部分是单收的,水电做完验收完成就要付款。 最后看他活多不多,如果活太多的工长,那样他根本没有精力照顾到所有人家,这样难免这当中会有各种沟通不及时。 下面这个就是我们之前工长报价的截图,然后他也把他的身份证让我拍照了,这个就不展示了。 拆: 这个都是按平米和米数计算钱的,没多少技术含量,就是尽量别在邻居休息时间干 活,这个期间是整个家里最乱的时候,也 会产生很多建筑垃圾。这个 时候就要找 好收垃圾的了。一般一辆1.5吨的车是300, 像我们家拆的多的话要3车左右。但是 后期还是会有很多垃圾,所以必须压一部分钱,越多越好,我们家压100就少了。

  拆也分水平,有的人可以拆的只剩毛坯房的样子,有的人却连表面的瓷砖什么都不 会拆,所以这个合同里也得注意。 另外一个是拆的时候要注意封闭好排风管道和暖气管道。 不然会有好多后期隐患。同时注意拆的时候别把水管和暖气以及下水道给堵了,这个瓦工也要注意。

由于用redis太多,而在程序中实现pre-hashing的方法导致扩展比较麻烦,每次要新的redis进来都需要重新改下代码。于是就测试了一下twitter开源出来的twemproxy。   项目地址为:https://github.com/twitter/twemproxy 安装方式很简单,配置文件也十分简单易懂。就是hash函数和distribution 这2个部分不知道怎么选。 distribution的hash算法用的是一致性hash的ketama算法。但是前面的hash函数部分不是特别明白具体的,因为一开始选用的fnv1a_64哈希算法,导致我在2个redis后端的时候100个set居然都在一台服务器上,有点不是特别靠谱,所以选用了murmur哈希算法。具体的算法如下   哈希算法:

  • one_at_a_time
  • md5
  • crc16
  • crc32
  • fnv1_64
  • fnv1a_64
  • fnv1_32
  • fnv1a_32
  • hsieh
  • murmur
  • jenkins

distribution 算法:

  • ketama
  • modula
  • random

  具体的配置文件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
redistest1: 
listen: 0.0.0.0:21121 #使用哪个端口启动Twemproxy
redis: true #是否是Redis的proxy
hash: murmur #指定具体的hash函数
distribution: ketama #具体的hash算法
auto_eject_hosts: true #是否在结点无法响应的时候临时摘除结点
timeout: 400 #超时时间(毫秒)
server_retry_timeout: 1000 #重试的时间(毫秒)
server_failure_limit: 2 #结点故障多少次就算摘除掉
servers: #下面表示所有的Redis节点(IP:端口号:权重)
- 10.10.10.232:6379:1
- 10.10.10.233:6379:1
- 10.10.10.234:6379:1
阅读全文 »

tengine是一个不错的nginx增强版本,特别是在统计request time的部分,以前必须要通过日志来进行后期统计,但是无法很实时。但是现在却是比较方便的。 但是也有点问题,在nginx status的部分显示的request time是nginx启动开始所有请求的request time的一个合计。也就是说nginx平均的request time是nginx status里的request time值除以request值。但是这个却无法展现最近的request time时间。用了一个取巧的办法,就是取检查当时5秒的平均request time。 最后展示的结果就是如下 稍微修改了一下get_nginx_socket_status.pl 这个文件和对应的xml文件 ```c

#!/usr/bin/perl if (! eval “require LWP::UserAgent;”) { $ret = “LWP::UserAgent not found”; } if ( exists $ARGV[0]) { if ($ret) { print “no ($ret)n”; exit 1; } my $ua = LWP::UserAgent->new(timeout => 5); my $req = HTTP::Headers->new; $req = HTTP::Request->new(GET => $ARGV[0]); $req->user_agent(‘no-monitor’); my $response = $ua->request($req); my @content = split (/n/, $response->content); sleep(10); my $response = $ua->request($req); my @newcontent = split (/n/, $response->content); # my $response = $ua->request(HTTP::Request->new(‘GET’,$ARGV[0])); # my @content = split (/n/, $response->content); # my $newcontent = split (/n/, $newresponse->newcontent); my $active_connections = -1; if ($content[0] =~ /^Active connections:s+(d+)s*$/i) { $active_connections = $1; } my $accepts = -1; my $handled = -1; my $requests = -1; my $requests_time = -1; if ($content[2] =~ /^s+(d+)s+(d+)s+(d+)s+(d+)s*$/) { $accepts = $1; $handled = $2; $requests = $3; $oldrequests_time = $4; } if ($newcontent[2] =~ /^s+(d+)s+(d+)s+(d+)s+(d+)s*$/) { $newrequests = $3; $requests_time = int(($4-$oldrequests_time) / ($newrequests-$requests)); } my $reading = -1; my $writing = -1; my $waiting = -1; if ($content[3] =~ /Reading: (d+) Writing: (d+) Waiting: (d+)s*$/) { $reading = $1; $writing = $2; $waiting = $3; } print “nginx_accepts:$accepts nginx_handled:$handled nginx_requests:$requests nginx_requests_time:$requests_time”; print “n”; }

```c
1
2

<cacti> <hash_02002121ea7f2064be4bb8c2a71a52ff96fdc1> <name>tengine</name> <graph_templates>hash_000021c35dc317aadf8219dabae7c29fd98694|hash_000021dca2bc381d19c91ceb1603b5062c83e2</graph_templates> <data_queries></data_queries> </hash_02002121ea7f2064be4bb8c2a71a52ff96fdc1> <hash_000021c35dc317aadf8219dabae7c29fd98694> <name>Nginx Clients Stat</name> <graph> <t_title></t_title> <title>|host_description| - Nginx Clients Stat</title> <t_image_format_id></t_image_format_id> <image_format_id>1</image_format_id> <t_height></t_height> <height>120</height> <t_width></t_width> <width>500</width> <t_slope_mode></t_slope_mode> <slope_mode>on</slope_mode> <t_auto_scale></t_auto_scale> <auto_scale>on</auto_scale> <t_auto_scale_opts></t_auto_scale_opts> <auto_scale_opts>2</auto_scale_opts> <t_auto_scale_log></t_auto_scale_log> <auto_scale_log></auto_scale_log> <t_scale_log_units></t_scale_log_units> <scale_log_units></scale_log_units> <t_auto_scale_rigid></t_auto_scale_rigid> <auto_scale_rigid></auto_scale_rigid> <t_auto_padding></t_auto_padding> <auto_padding>on</auto_padding> <t_export></t_export> <export>on</export> <t_upper_limit></t_upper_limit> <upper_limit>100</upper_limit> <t_lower_limit></t_lower_limit> <lower_limit>0</lower_limit> <t_base_value></t_base_value> <base_value>1000</base_value> <t_unit_value></t_unit_value> <unit_value></unit_value> <t_unit_exponent_value></t_unit_exponent_value> <unit_exponent_value></unit_exponent_value> <t_vertical_label></t_vertical_label> <vertical_label></vertical_label> </graph> <items> <hash_10002108f6db75c900100b68f5e707ea7651bf> <task_item_id>hash_0800216aa36fa51315e2d6d15b708307f2c53c</task_item_id> <color_id>005D57</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Active</text_format> <hard_return></hard_return> <sequence>1</sequence> </hash_10002108f6db75c900100b68f5e707ea7651bf> <hash_100021d0e3bbf50c29a3069342cd408826b753> <task_item_id>hash_0800216aa36fa51315e2d6d15b708307f2c53c</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>2</sequence> </hash_100021d0e3bbf50c29a3069342cd408826b753> <hash_100021161e34504642f56fef3225d5b506b8ae> <task_item_id>hash_0800216aa36fa51315e2d6d15b708307f2c53c</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Average:</text_format> <hard_return></hard_return> <sequence>3</sequence> </hash_100021161e34504642f56fef3225d5b506b8ae> <hash_100021da81390a6e5ba8a4f31aec4875cafb02> <task_item_id>hash_0800216aa36fa51315e2d6d15b708307f2c53c</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>4</sequence> </hash_100021da81390a6e5ba8a4f31aec4875cafb02> <hash_10002187617c277de94698bdc3d784e2257595> <task_item_id>hash_080021729d4b3fa3813f2974ce01b29ca6850e</task_item_id> <color_id>4444FF</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Reading</text_format> <hard_return></hard_return> <sequence>5</sequence> </hash_10002187617c277de94698bdc3d784e2257595> <hash_100021e88db2dfe01d9a68242f3b00af85da06> <task_item_id>hash_080021729d4b3fa3813f2974ce01b29ca6850e</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>6</sequence> </hash_100021e88db2dfe01d9a68242f3b00af85da06> <hash_10002191cbdb8c81005e78564efaa2c7045408> <task_item_id>hash_080021729d4b3fa3813f2974ce01b29ca6850e</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Average:</text_format> <hard_return></hard_return> <sequence>7</sequence> </hash_10002191cbdb8c81005e78564efaa2c7045408> <hash_100021659f92f53f26f1dbb9ae3238e9fca3e8> <task_item_id>hash_080021729d4b3fa3813f2974ce01b29ca6850e</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>8</sequence> </hash_100021659f92f53f26f1dbb9ae3238e9fca3e8> <hash_100021ad886e1f4f835761fddf7979e06cc06b> <task_item_id>hash_08002150e895b90a6d17b7a212997b7cb1afba</task_item_id> <color_id>F24AC8</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Waiting</text_format> <hard_return></hard_return> <sequence>9</sequence> </hash_100021ad886e1f4f835761fddf7979e06cc06b> <hash_1000212a650f2015d0cd2075a13090e99c2e88> <task_item_id>hash_08002150e895b90a6d17b7a212997b7cb1afba</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>10</sequence> </hash_1000212a650f2015d0cd2075a13090e99c2e88> <hash_100021d960bb2d2aa8e2013f1a6e6ec005f348> <task_item_id>hash_08002150e895b90a6d17b7a212997b7cb1afba</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Average:</text_format> <hard_return></hard_return> <sequence>11</sequence> </hash_100021d960bb2d2aa8e2013f1a6e6ec005f348> <hash_10002176e9b62101708aee0815b2e01508d41a> <task_item_id>hash_08002150e895b90a6d17b7a212997b7cb1afba</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>12</sequence> </hash_10002176e9b62101708aee0815b2e01508d41a> <hash_1000211210e4ae921055593929a9f41703cf25> <task_item_id>hash_08002175698c6bd226db0b7cd67089e651f382</task_item_id> <color_id>00CF00</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Writing</text_format> <hard_return></hard_return> <sequence>13</sequence> </hash_1000211210e4ae921055593929a9f41703cf25> <hash_10002144359da88929bda518ca1c8809708993> <task_item_id>hash_08002175698c6bd226db0b7cd67089e651f382</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>14</sequence> </hash_10002144359da88929bda518ca1c8809708993> <hash_100021ac404e13020ab6f400dca560f37922d1> <task_item_id>hash_08002175698c6bd226db0b7cd67089e651f382</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Average:</text_format> <hard_return></hard_return> <sequence>15</sequence> </hash_100021ac404e13020ab6f400dca560f37922d1> <hash_10002115ec3c66d07404a13ad6e3c8178cd8f0> <task_item_id>hash_08002175698c6bd226db0b7cd67089e651f382</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return></hard_return> <sequence>16</sequence> </hash_10002115ec3c66d07404a13ad6e3c8178cd8f0> </items> <inputs> <hash_0900219eefdb6640f3f9fa2f6bfdf9135b0cd0> <name>Data Source \[nginx_writing\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_0000211210e4ae921055593929a9f41703cf25|hash_00002144359da88929bda518ca1c8809708993|hash_000021ac404e13020ab6f400dca560f37922d1|hash_00002115ec3c66d07404a13ad6e3c8178cd8f0</items> </hash_0900219eefdb6640f3f9fa2f6bfdf9135b0cd0> <hash_090021308e8e7eed3de1b7c06a8b0106f685e9> <name>Data Source \[nginx_reading\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_00002187617c277de94698bdc3d784e2257595|hash_000021e88db2dfe01d9a68242f3b00af85da06|hash_00002191cbdb8c81005e78564efaa2c7045408|hash_000021659f92f53f26f1dbb9ae3238e9fca3e8</items> </hash_090021308e8e7eed3de1b7c06a8b0106f685e9> <hash_090021b0c0622d26d92272f75b7b080b4db020> <name>Data Source \[nginx_waiting\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_000021ad886e1f4f835761fddf7979e06cc06b|hash_0000212a650f2015d0cd2075a13090e99c2e88|hash_000021d960bb2d2aa8e2013f1a6e6ec005f348|hash_00002176e9b62101708aee0815b2e01508d41a</items> </hash_090021b0c0622d26d92272f75b7b080b4db020> <hash_090021ea7f568913627a2846e874fc99ed9e4f> <name>Data Source \[nginx_active\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_00002108f6db75c900100b68f5e707ea7651bf|hash_000021d0e3bbf50c29a3069342cd408826b753|hash_000021161e34504642f56fef3225d5b506b8ae|hash_000021da81390a6e5ba8a4f31aec4875cafb02</items> </hash_090021ea7f568913627a2846e874fc99ed9e4f> </inputs> </hash_000021c35dc317aadf8219dabae7c29fd98694> <hash_000021dca2bc381d19c91ceb1603b5062c83e2> <name>nginx new socket status</name> <graph> <t_title></t_title> <title>|host_description| - nginx new socket status</title> <t_image_format_id></t_image_format_id> <image_format_id>1</image_format_id> <t_height></t_height> <height>120</height> <t_width></t_width> <width>500</width> <t_slope_mode></t_slope_mode> <slope_mode>on</slope_mode> <t_auto_scale></t_auto_scale> <auto_scale>on</auto_scale> <t_auto_scale_opts></t_auto_scale_opts> <auto_scale_opts>2</auto_scale_opts> <t_auto_scale_log></t_auto_scale_log> <auto_scale_log></auto_scale_log> <t_scale_log_units></t_scale_log_units> <scale_log_units></scale_log_units> <t_auto_scale_rigid></t_auto_scale_rigid> <auto_scale_rigid></auto_scale_rigid> <t_auto_padding></t_auto_padding> <auto_padding>on</auto_padding> <t_export></t_export> <export>on</export> <t_upper_limit></t_upper_limit> <upper_limit>100</upper_limit> <t_lower_limit></t_lower_limit> <lower_limit>0</lower_limit> <t_base_value></t_base_value> <base_value>1000</base_value> <t_unit_value></t_unit_value> <unit_value></unit_value> <t_unit_exponent_value></t_unit_exponent_value> <unit_exponent_value></unit_exponent_value> <t_vertical_label></t_vertical_label> <vertical_label></vertical_label> </graph> <items> <hash_100021c4e5c5bff13fa014835a58f0afa52839> <task_item_id>hash_080021fa92c49c5bd4360018b39053964860ad</task_item_id> <color_id>008A6D</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Accept</text_format> <hard_return></hard_return> <sequence>1</sequence> </hash_100021c4e5c5bff13fa014835a58f0afa52839> <hash_10002199f3d6ea10e2dd9ec781da06e6842ea7> <task_item_id>hash_080021fa92c49c5bd4360018b39053964860ad</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>2</sequence> </hash_10002199f3d6ea10e2dd9ec781da06e6842ea7> <hash_100021fccbc67b30290bde7df75ed3b421e7de> <task_item_id>hash_080021fa92c49c5bd4360018b39053964860ad</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Avg:</text_format> <hard_return></hard_return> <sequence>3</sequence> </hash_100021fccbc67b30290bde7df75ed3b421e7de> <hash_10002142f34addd922328413beb2798281f2bb> <task_item_id>hash_080021fa92c49c5bd4360018b39053964860ad</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>4</sequence> </hash_10002142f34addd922328413beb2798281f2bb> <hash_10002196b0c4967a97e35e016f44e76492e993> <task_item_id>hash_080021d0687854b0fc4cfa9f739d52eeed7944</task_item_id> <color_id>0000FF</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Handled</text_format> <hard_return></hard_return> <sequence>5</sequence> </hash_10002196b0c4967a97e35e016f44e76492e993> <hash_100021f0c5e45def97c9d37ba3e8a1e9c8df0a> <task_item_id>hash_080021d0687854b0fc4cfa9f739d52eeed7944</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>6</sequence> </hash_100021f0c5e45def97c9d37ba3e8a1e9c8df0a> <hash_1000218b3b96978766aca9da12d15345f1bccb> <task_item_id>hash_080021d0687854b0fc4cfa9f739d52eeed7944</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Avg:</text_format> <hard_return></hard_return> <sequence>7</sequence> </hash_1000218b3b96978766aca9da12d15345f1bccb> <hash_100021061507df9ab92c7ae2d09b5f50a0bf67> <task_item_id>hash_080021d0687854b0fc4cfa9f739d52eeed7944</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>8</sequence> </hash_100021061507df9ab92c7ae2d09b5f50a0bf67> <hash_1000215f097e55c7ab687d12c5ece5e0c5c831> <task_item_id>hash_0800212791d488dfb6b474464803abe233d7ef</task_item_id> <color_id>6EA100</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Requests:</text_format> <hard_return></hard_return> <sequence>9</sequence> </hash_1000215f097e55c7ab687d12c5ece5e0c5c831> <hash_100021f457ee12576ad3f5ba36d0ca6bb80ede> <task_item_id>hash_0800212791d488dfb6b474464803abe233d7ef</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>10</sequence> </hash_100021f457ee12576ad3f5ba36d0ca6bb80ede> <hash_10002127b33c5bf2e09e097c6cc989b5f4c58a> <task_item_id>hash_0800212791d488dfb6b474464803abe233d7ef</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Avg:</text_format> <hard_return></hard_return> <sequence>11</sequence> </hash_10002127b33c5bf2e09e097c6cc989b5f4c58a> <hash_1000217ddb167861fc158c3a7950eee1eadfc9> <task_item_id>hash_0800212791d488dfb6b474464803abe233d7ef</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>12</sequence> </hash_1000217ddb167861fc158c3a7950eee1eadfc9> <hash_1000216e177d45cfe5a3e9bc4eb5f9b5b5eb90> <task_item_id>hash_0800213b832f9cba86e201cd5a74318b0c8454</task_item_id> <color_id>FF0000</color_id> <alpha>FF</alpha> <graph_type_id>4</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Rt:</text_format> <hard_return></hard_return> <sequence>13</sequence> </hash_1000216e177d45cfe5a3e9bc4eb5f9b5b5eb90> <hash_1000215725c9cdf5d42b6e343b5f4697804ad1> <task_item_id>hash_0800213b832f9cba86e201cd5a74318b0c8454</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>4</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Current:</text_format> <hard_return></hard_return> <sequence>14</sequence> </hash_1000215725c9cdf5d42b6e343b5f4697804ad1> <hash_1000211d2be4d50c68750ed1ea13ec435f13e5> <task_item_id>hash_0800213b832f9cba86e201cd5a74318b0c8454</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>1</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Avg:</text_format> <hard_return></hard_return> <sequence>15</sequence> </hash_1000211d2be4d50c68750ed1ea13ec435f13e5> <hash_100021183ae753e27d28d8607b68ef7617e342> <task_item_id>hash_0800213b832f9cba86e201cd5a74318b0c8454</task_item_id> <color_id>0</color_id> <alpha>FF</alpha> <graph_type_id>9</graph_type_id> <consolidation_function_id>3</consolidation_function_id> <cdef_id>0</cdef_id> <value></value> <gprint_id>hash_060021e9c43831e54eca8069317a2ce8c6f751</gprint_id> <text_format>Max:</text_format> <hard_return>on</hard_return> <sequence>16</sequence> </hash_100021183ae753e27d28d8607b68ef7617e342> </items> <inputs> <hash_09002117add52492a065cdd7abb50ea89c4c96> <name>Data Source \[nginx_accepts\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_000021c4e5c5bff13fa014835a58f0afa52839|hash_00002199f3d6ea10e2dd9ec781da06e6842ea7|hash_000021fccbc67b30290bde7df75ed3b421e7de|hash_00002142f34addd922328413beb2798281f2bb</items> </hash_09002117add52492a065cdd7abb50ea89c4c96> <hash_090021dfa9a67c325da545b0ee928fe920b2bf> <name>Data Source \[nginx_handled\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_00002196b0c4967a97e35e016f44e76492e993|hash_000021f0c5e45def97c9d37ba3e8a1e9c8df0a|hash_0000218b3b96978766aca9da12d15345f1bccb|hash_000021061507df9ab92c7ae2d09b5f50a0bf67</items> </hash_090021dfa9a67c325da545b0ee928fe920b2bf> <hash_0900219b11ad285b24ad904f0c7057e7980004> <name>Data Source \[nginx_requests\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_0000215f097e55c7ab687d12c5ece5e0c5c831|hash_000021f457ee12576ad3f5ba36d0ca6bb80ede|hash_00002127b33c5bf2e09e097c6cc989b5f4c58a|hash_0000217ddb167861fc158c3a7950eee1eadfc9</items> </hash_0900219b11ad285b24ad904f0c7057e7980004> <hash_09002128ebd13668327f56a71dc853f3c9b1a0> <name>Data Source \[nginx_requests_time\]</name> <description></description> <column_name>task_item_id</column_name> <items>hash_0000216e177d45cfe5a3e9bc4eb5f9b5b5eb90|hash_0000215725c9cdf5d42b6e343b5f4697804ad1|hash_0000211d2be4d50c68750ed1ea13ec435f13e5|hash_000021183ae753e27d28d8607b68ef7617e342</items> </hash_09002128ebd13668327f56a71dc853f3c9b1a0> </inputs> </hash_000021dca2bc381d19c91ceb1603b5062c83e2> <hash_010021e0657ab786701649f57bdd91b48a2f14> <name>Nginx Clients Stat</name> <ds> <t_name></t_name> <name>|host_description| - Nginx Clients Stat</name> <data_input_id>hash_030021960615ed5ce72756b8e7a787439d0a2d</data_input_id> <t_rra_id></t_rra_id> <t_rrd_step></t_rrd_step> <rrd_step>300</rrd_step> <t_active></t_active> <active>on</active> <rra_items>hash_150021c21df5178e5c955013591239eb0afd46|hash_1500210d9c0af8b8acdc7807943937b3208e29|hash_1500216fc2d038fb42950138b0ce3e9874cc60|hash_150021e36f3adb9f152adfa5dc50fd2b23337e|hash_150021283ea2bf1634d92ce081ec82a634f513</rra_items> </ds> <items> <hash_0800216aa36fa51315e2d6d15b708307f2c53c> <t_data_source_name></t_data_source_name> <data_source_name>nginx_active</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>1</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_070021cccbd578f0c2868c1e0a6f5f3329fc0b</data_input_field_id> </hash_0800216aa36fa51315e2d6d15b708307f2c53c> <hash_080021729d4b3fa3813f2974ce01b29ca6850e> <t_data_source_name></t_data_source_name> <data_source_name>nginx_reading</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>1</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_0700212520eb79ec6e083c89a1056140fd741b</data_input_field_id> </hash_080021729d4b3fa3813f2974ce01b29ca6850e> <hash_08002175698c6bd226db0b7cd67089e651f382> <t_data_source_name></t_data_source_name> <data_source_name>nginx_writing</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>1</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_070021170a796e21241e35063ecf3a62a62269</data_input_field_id> </hash_08002175698c6bd226db0b7cd67089e651f382> <hash_08002150e895b90a6d17b7a212997b7cb1afba> <t_data_source_name></t_data_source_name> <data_source_name>nginx_waiting</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>1</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_070021cf6292f045b8cec3ec1784f559d5883e</data_input_field_id> </hash_08002150e895b90a6d17b7a212997b7cb1afba> </items> <data> <item_000> <data_input_field_id>hash_0700218cd1791fab89b88a3ff3ca112c6534b7</data_input_field_id> <t_value>on</t_value> <value>http://|host|/server-status</value> </item_000> </data> </hash_010021e0657ab786701649f57bdd91b48a2f14> <hash_010021616fb6fb1f1680db7189868d258b765f> <name>Nginx New Sockets Stat</name> <ds> <t_name></t_name> <name>|host_description| - Nginx New Sockets Stat</name> <data_input_id>hash_03002149705386e433946082cb113112b9659e</data_input_id> <t_rra_id></t_rra_id> <t_rrd_step></t_rrd_step> <rrd_step>300</rrd_step> <t_active></t_active> <active>on</active> <rra_items>hash_150021c21df5178e5c955013591239eb0afd46|hash_1500210d9c0af8b8acdc7807943937b3208e29|hash_1500216fc2d038fb42950138b0ce3e9874cc60|hash_150021e36f3adb9f152adfa5dc50fd2b23337e</rra_items> </ds> <items> <hash_0800213b832f9cba86e201cd5a74318b0c8454> <t_data_source_name></t_data_source_name> <data_source_name>nginx_requests_time</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>1</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_0700219bc1b272b4e3019fbc0f32f9661f79a9</data_input_field_id> </hash_0800213b832f9cba86e201cd5a74318b0c8454> <hash_0800212791d488dfb6b474464803abe233d7ef> <t_data_source_name></t_data_source_name> <data_source_name>nginx_requests</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>3</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_0700211be81ce0f8d85ea2a47ef92e3d2aba46</data_input_field_id> </hash_0800212791d488dfb6b474464803abe233d7ef> <hash_080021d0687854b0fc4cfa9f739d52eeed7944> <t_data_source_name></t_data_source_name> <data_source_name>nginx_handled</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>3</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_07002153a02dd9a224657e030a82c77689899d</data_input_field_id> </hash_080021d0687854b0fc4cfa9f739d52eeed7944> <hash_080021fa92c49c5bd4360018b39053964860ad> <t_data_source_name></t_data_source_name> <data_source_name>nginx_accepts</data_source_name> <t_rrd_minimum></t_rrd_minimum> <rrd_minimum>0</rrd_minimum> <t_rrd_maximum></t_rrd_maximum> <rrd_maximum>0</rrd_maximum> <t_data_source_type_id></t_data_source_type_id> <data_source_type_id>3</data_source_type_id> <t_rrd_heartbeat></t_rrd_heartbeat> <rrd_heartbeat>600</rrd_heartbeat> <t_data_input_field_id></t_data_input_field_id> <data_input_field_id>hash_0700213b78c38f0571e68fb18cab9cb906b4aa</data_input_field_id> </hash_080021fa92c49c5bd4360018b39053964860ad> </items> <data> <item_000> <data_input_field_id>hash_0700210ca81cc6c7c4a33bec63ea4f25cb2d1d</data_input_field_id> <t_value>on</t_value> <value>http://|host|/server-status</value> </item_000> </data> </hash_010021616fb6fb1f1680db7189868d258b765f> <hash_030021960615ed5ce72756b8e7a787439d0a2d> <name>nginx clients stat</name> <type_id>1</type_id> <input_string>/usr/bin/perl &lt;path_cacti&gt;/scripts/get_nginx_clients_status.pl &lt;stub_status_url&gt;</input_string> <fields> <hash_0700218cd1791fab89b88a3ff3ca112c6534b7> <name>URL of nginx stub status</name> <update_rra></update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>in</input_output> <data_name>stub_status_url</data_name> </hash_0700218cd1791fab89b88a3ff3ca112c6534b7> <hash_070021cccbd578f0c2868c1e0a6f5f3329fc0b> <name>nginx_active</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_active</data_name> </hash_070021cccbd578f0c2868c1e0a6f5f3329fc0b> <hash_0700212520eb79ec6e083c89a1056140fd741b> <name>nginx_reading</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_reading</data_name> </hash_0700212520eb79ec6e083c89a1056140fd741b> <hash_070021170a796e21241e35063ecf3a62a62269> <name>nginx_writing</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_writing</data_name> </hash_070021170a796e21241e35063ecf3a62a62269> <hash_070021cf6292f045b8cec3ec1784f559d5883e> <name>nginx_waiting</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_waiting</data_name> </hash_070021cf6292f045b8cec3ec1784f559d5883e> </fields> </hash_030021960615ed5ce72756b8e7a787439d0a2d> <hash_03002149705386e433946082cb113112b9659e> <name>nginx new socket status</name> <type_id>1</type_id> <input_string>/usr/bin/perl &lt;path_cacti&gt;/scripts/new_get_nginx_socket_status.pl &lt;stub_status_url&gt;</input_string> <fields> <hash_0700210ca81cc6c7c4a33bec63ea4f25cb2d1d> <name>URL of nginx stub status</name> <update_rra></update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>in</input_output> <data_name>stub_status_url</data_name> </hash_0700210ca81cc6c7c4a33bec63ea4f25cb2d1d> <hash_0700213b78c38f0571e68fb18cab9cb906b4aa> <name>nginx_accepts</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_accepts</data_name> </hash_0700213b78c38f0571e68fb18cab9cb906b4aa> <hash_07002153a02dd9a224657e030a82c77689899d> <name>nginx_handled</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_handled</data_name> </hash_07002153a02dd9a224657e030a82c77689899d> <hash_0700211be81ce0f8d85ea2a47ef92e3d2aba46> <name>nginx_requests</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_requests</data_name> </hash_0700211be81ce0f8d85ea2a47ef92e3d2aba46> <hash_0700219bc1b272b4e3019fbc0f32f9661f79a9> <name>nginx_requests_time</name> <update_rra>on</update_rra> <regexp_match></regexp_match> <allow_nulls></allow_nulls> <type_code></type_code> <input_output>out</input_output> <data_name>nginx_requests_time</data_name> </hash_0700219bc1b272b4e3019fbc0f32f9661f79a9> </fields> </hash_03002149705386e433946082cb113112b9659e> <hash_150021c21df5178e5c955013591239eb0afd46> <name>Daily (5 Minute Average)</name> <x_files_factor>0.5</x_files_factor> <steps>1</steps> <rows>600</rows> <timespan>86400</timespan> <cf_items>1|3</cf_items> </hash_150021c21df5178e5c955013591239eb0afd46> <hash_1500210d9c0af8b8acdc7807943937b3208e29> <name>Weekly (30 Minute Average)</name> <x_files_factor>0.5</x_files_factor> <steps>6</steps> <rows>700</rows> <timespan>604800</timespan> <cf_items>1|3</cf_items> </hash_1500210d9c0af8b8acdc7807943937b3208e29> <hash_1500216fc2d038fb42950138b0ce3e9874cc60> <name>Monthly (2 Hour Average)</name> <x_files_factor>0.5</x_files_factor> <steps>24</steps> <rows>775</rows> <timespan>2678400</timespan> <cf_items>1|3</cf_items> </hash_1500216fc2d038fb42950138b0ce3e9874cc60> <hash_150021e36f3adb9f152adfa5dc50fd2b23337e> <name>Yearly (1 Day Average)</name> <x_files_factor>0.5</x_files_factor> <steps>288</steps> <rows>797</rows> <timespan>33053184</timespan> <cf_items>1|3</cf_items> </hash_150021e36f3adb9f152adfa5dc50fd2b23337e> <hash_150021283ea2bf1634d92ce081ec82a634f513> <name>Hourly (1 Minute Average)</name> <x_files_factor>0.5</x_files_factor> <steps>1</steps> <rows>500</rows> <timespan>14400</timespan> <cf_items>1|3</cf_items> </hash_150021283ea2bf1634d92ce081ec82a634f513> <hash_060021e9c43831e54eca8069317a2ce8c6f751> <name>Normal</name> <gprint_text>%8.2lf %s</gprint_text> </hash_060021e9c43831e54eca8069317a2ce8c6f751>

装修终于差不多了,下面这个就是一个基本流程图,这些都是我跟媳妇共同经历的,真是一把心酸泪啊。

装修流程图

从科尔多瓦开始就算是西班牙的南部地区了,从这里我们去到了格拉纳达。这是一个被山包围的城市,远处居然还有雪山,据说这里冬天是西班牙国内最好的滑雪胜地。另外一个比较好的地应该是北部比利牛斯山附近了。 格拉纳达在天主教的西班牙居然独立存在了几百年,所以这里到处都显示着阿拉伯风格。无论是房屋,还是清真寺,还有阿尔汉布宫,到处都是阿拉伯风格。其实这个就是西班牙的魅力所在,包容了那么多不同的风格。 在格拉纳达碰到了好多好心人,由于之前还没有买到ronda的火车票,所以要找火车站买票去。在公交车上碰到2个好心的老头,给我指出哪里下车,可惜指错了3站。下车后问了下路人,可路人好像也不怎么认识,于是我们只好再往前走,可走着走着,之前路过的那对路人又返回来找我们,说了一堆话,也没听懂,反正就是后来一个老人带我们走了三站路终于到了火车站。这里的人真是非常非常的热心,不知道在国内什么时候可以碰到这样的事情呢?不过我也会试着去帮助别人。将自己的爱心传递给别人。 阿尔汗布宫是格拉纳达最有名的建筑,非常的具有阿拉伯风情,早晨我们从阿尔汗布宫对面的阿尔拜星区远眺了一下这座宫殿,真是非常的雄伟。山间的丛林把整个宫殿包围了起来。而背后的雪山又把它给映衬了出来。而阿尔拜星区的这个有名的犹太区又让我们见识到了白房子,鲜花,绿草。 IMG_7515 这是一个值得一直常住的城市,虽然小,但是很精致的城市。在我们离开这个城市的那天,刚好是当地的某个节日,整个街道都是花车巡游,也有很多骑着马的男男女女,貌似是一个佛拉门哥相关的节日,因为大家都穿着那种特殊的演出服装。 IMG_7626 一早我们两由于整个市中心禁止汽车通行,我们只好拉着行李直接走到了火车站。火车载着我们慢悠悠的到了下一个目的地ronda。世界十大私奔之地啊,壮美的风景。

离开托莱多,来到了鲜花之城科尔多瓦。这里以前肯定有很多犹太人,果然这里有很多犹太人的房子可以供参观。白色的墙壁,黄色的房顶,每家每户的阳台上都用鲜花和绿植装扮着,以显示主人不同的风格。美丽的石板街道,蓝蓝的天空,生活在这里真是很惬意。只是千万别住临街的,不知道为什么这边晚上挺多人开摩托车兜风的,一直到半夜2,3点才会结束。 来到科尔多瓦的那天,那天气温高达37度,都快晒死我了。而可怜的小马车居然还要在高温下做生意。   可是那么热的天,在犹太人的地窖里居然还是那么的凉快,居然还在这里发现了来自中国的纺纱机。而犹太人之所以这么的富有,很大程度上是他们对于教育的重视。 这里有很多民居都可以参观,而每家的小庭院都是布置的很有特色,据说我们来的时候这边刚举行完各家的庭院布置比赛。 从托莱多来到科尔多瓦也算折腾,居然没有直接到的火车。于是不得不一早从托莱多坐大巴赶回到马德里,然后从马德里坐上西班牙高铁到达了科尔多瓦。这个西班牙高铁最高速度在270KM/H,还没天朝的快呢,这一路上也看到西班牙的铁路线也大多在完善中。这也是我们来了西班牙第一次坐的火车。

第三天我们去了小城托莱多,这个是古代西班牙的首都,而这个同样也是山上的城市。而这个城市是三面环河,一面是高山,而说是小城,其实真是一个小城,但是比赛戈维亚稍微大一点,毕竟是首都麻,看看他们古代的战争得有多频繁啊,不然干嘛要把首都搁这种地方啊,看看我们天朝的古代首都都是放在平原上。   小城托莱多里有很宏伟的教堂,另外一个就是古堡。这是来西班牙仔细看的第一个教堂,因为它是以前西班牙的首都,所以教堂内自然有很多内容。 而在这里我们也看到示威的人群,真是在哪里都少不了示威的人啊,感觉那是西班牙人生活的一部分。当然每个游行和示威的目的都是不一样的,有的是为了失业,有的抗击那么多的游人干扰了他们正常的生活,有的是为了增加本党的党员,有的是为了抗议政府削减预算。当然表现形式大多都是很平和的,有的就在广场摆开阵势就好了,难得有跟巴塞罗那那样影响到正常的交通,当然更没有暴力冲突。 而由于今天晚上也是住在这个小城里,我们难得进行了一次夜游小城,在这里也发现了西班牙人开的商店居然都早早的关门了,晚上9点就没啥商店开门了。在西班牙每个城市都有华人的商店。 本来觉得在山里,那这里的居民开的车应该都是越野吧,可真奇怪,不光这里,连其他城市大部分人开的都是小车,类似POLO,A1这种的小车,真是NB,在有些坡度我看都到35度40度了,他们居然还开的很自如,不光开的自如,还在上面停满好多车。 看来我买车也不用大车了,小POLO还是很OK的。 在西班牙我居然没有看到一辆中国品牌的车,真的是连一辆都没有,而我们隔海的同胞还是很厉害的,kia,hy,toyota,honda,mazda到处都有,而我们不是汽车制造很NB啊,可怎么连一辆都没有。而其他家电也都是日本,韩国同胞以及德国的天下。连他们自己本国的品牌都很少。 在托来多还吃了一顿很正宗的西班牙午餐,有前餐,正餐,甜点,以及饮料,我就叫它为4件套。这可把我给吃撑了,前餐就一大份意大利面加奶酪,正餐是面包加烤牛排,甜点是冰激凌,然后饮料就是矿泉水或者咖啡,一人一共是8.5欧元,换算成人民币是70元吧,估计70元无论在帝都或者魔都可不止啊。也没办法,帝都和魔都的生活开销都已经超越纽约了。

0%