<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8660803620433434350</id><updated>2024-09-05T12:31:05.644-07:00</updated><category term="POSTGRESQL"/><title type='text'>atmail</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-7931344248269029222</id><published>2014-07-22T18:19:00.001-07:00</published><updated>2014-07-22T18:19:08.904-07:00</updated><title type='text'>vmware10中如何隐藏菜单栏</title><content type='html'>pref.allowHideControls = &quot;TRUE&quot;&lt;br /&gt;
vmware10 Hide Controls&lt;br /&gt;
%APPDATA%\VMware\preferences.ini&lt;br /&gt;
&lt;br /&gt;虚拟机目录下的配置文件&lt;br /&gt;
以上几条就是关键，我在%APPDATA%\VMware\preferences.ini文件里以及虚拟机的配置文件里加上了pref.allowHideControls = &quot;TRUE&quot;这一行参数，然后就和vm7一样在顶栏里点右键就有了&quot;Hide Controls&quot;（英文），“隐藏控件”这个选项了，高版本的vmware也能和vm7一样隐藏控制台了；</content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/7931344248269029222/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2014/07/vmware10.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/7931344248269029222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/7931344248269029222'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2014/07/vmware10.html' title='vmware10中如何隐藏菜单栏'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-451643579470966132</id><published>2013-03-10T21:52:00.001-07:00</published><updated>2013-03-10T21:52:33.324-07:00</updated><title type='text'>postfix优化</title><content type='html'>&lt;p&gt;专门作为转信服务器的postfix的一些优化，参考postfix官方性能优化文档：&lt;br&gt;禁用header和body checker&lt;br&gt;禁用chroot&lt;br&gt;在hosts文件里做好域名反解&lt;br&gt;做个本地DNS cache加速域名解析&lt;br&gt;编辑master.cf，修改maxproc为2048&lt;br&gt;修改smtpd_client_connection_count_limit为1024&lt;br&gt;修改smtpd_client_connection_rate_limit为0&lt;br&gt;ulimit -n 819200 &lt;p&gt;参数不是最合适的，但应该是足够大的，500用户，在dell 1950标配机上跑着没问题。&lt;br&gt;1、修改/usr/lib/courier-imap/etc/pop3d&lt;br&gt;MAXDAEMONS=512&lt;br&gt;MAXPERIP=9000&lt;br&gt;2、修改/etc/authlib/authdaemonrc&lt;br&gt;daemons=256&lt;br&gt;3、修改/etc/amavisd.conf&lt;br&gt;$max_servers = 50;&lt;br&gt;4、修改/usr/sbin/apachectl&lt;br&gt;HTTPD=’/usr/sbin/httpd.worker’&lt;br&gt;5、修改/etc/httpd/conf/httpd.conf&lt;br&gt;&amp;lt;IfModule worker.c&amp;gt;&lt;br&gt;StartServers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;br&gt;MaxClients&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1500&lt;br&gt;ServerLimit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100&lt;br&gt;MinSpareThreads&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 25&lt;br&gt;MaxSpareThreads&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 75&lt;br&gt;ThreadsPerChild&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 25&lt;br&gt;MaxRequestsPerChild&amp;nbsp; 0&lt;br&gt;&amp;lt;/IfModule&amp;gt;&lt;br&gt;6、修改/etc/clamd.conf&lt;br&gt;MaxThreads 50&lt;br&gt;7、修改/etc/my.cnf&lt;br&gt;max_connections=2048&lt;br&gt;8、去除rar打包exe会被ban的问题&lt;br&gt;编辑/etc/amavisd.conf，把$banned_filename_re = new_RE 这段内容相应的修改下&lt;br&gt;如果你知道该重启哪些服务，就重启这些服务，不清楚的话重启下系统就好。&lt;br&gt;9、加强发信人限制策略&lt;br&gt;编辑/etc/postfix/master.cf，把-o smtpd_client_restrictions=permit_sasl_authenticated,reject这行注释去掉。&lt;br&gt;10、仅允许同域用户给别名群发邮件。&lt;br&gt;原来的思路是用邮件列表做控制，后来发现邮件列表越搞越复杂越多事，又搜索了一把，发现用postfix的发信和收信人策略搞更方便，分享之。&lt;br&gt;A、&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 创建local_recipient和local_domains两个文件&lt;br&gt;[root@a postfix]# pwd&lt;br&gt;/etc/postfix&lt;br&gt;[root@a postfix]# cat local_recipient&lt;br&gt;&lt;a href=&quot;mailto:allstaff@a.com&quot;&gt;allstaff@a.com&lt;/a&gt; local_only&lt;br&gt;[root@a postfix]# cat local_domains&lt;br&gt;a.com OK&lt;br&gt;127.0.0.1 OK&lt;br&gt;youip OK&lt;br&gt;B、&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 产生db文件，如果修改过/etc/postfix/local_recipient和/etc/postfix/local_domains文件内容，需要重新执行下面的命令才可生效。&lt;br&gt;postmap hash:/etc/postfix/local_recipient&lt;br&gt;postmap hash:/etc/postfix/local_domains&lt;br&gt;C、&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在main.cf里加入两行&lt;br&gt;smtpd_restriction_classes = local_only&lt;br&gt;local_only = check_sender_access hash:/etc/postfix/local_domains, reject&lt;br&gt;D、&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在main.cf里给smtpd_sender_restrictions加个规则check_recipient_access hash:/etc/postfix/local_recipient，结果如下：&lt;br&gt;smtpd_sender_restrictions =&lt;br&gt;permit_mynetworks,&lt;br&gt;reject_sender_login_mismatch,&lt;br&gt;reject_authenticated_sender_login_mismatch,&lt;br&gt;reject_unauthenticated_sender_login_mismatch,&lt;br&gt;reject_unknown_sender_domain,&lt;br&gt;check_recipient_access hash:/etc/postfix/local_recipient&lt;br&gt;F、&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 重启postfix。&lt;br&gt;此时非a.com用户无法给allstaff发信。&lt;br&gt;弹回信息如下：&lt;br&gt;你发送到&lt;a href=&quot;mailto:allstaff@a.com&quot;&gt;allstaff@a.com&lt;/a&gt;的邮件由于以下原因被退回 :&lt;br&gt;&lt;a href=&quot;mailto:allstaff@a.com&quot;&gt;allstaff@a.com&lt;/a&gt; SMTP error, RCPT TO: 554 5.7.1 &amp;lt;&lt;a href=&quot;mailto:allstaff@a.com&quot;&gt;allstaff@a.com&lt;/a&gt;&amp;gt;: Recipient address rejected: Access denied&lt;br&gt;请到&lt;a href=&quot;http://help.163.com/special/00752CTC/126_tran_withdrawal_letter.html&quot;&gt;http://help.163.com/special/0075 ... hdrawal_letter.html&lt;/a&gt; 查询退信原因。&lt;br&gt;参考了&lt;a href=&quot;http://www.extmail.org/forum/viewthread.php?tid=4102&amp;amp;extra=&amp;amp;%20amp;page=1&quot;&gt;http://www.extmail.org/forum/vie ... ra=&amp;amp; amp;page=1&lt;/a&gt;和&lt;a href=&quot;http://www.extmail.org/forum /vi ... peid%3D1&amp;amp;page=1&quot;&gt;http://www.extmail.org/forum /vi ... peid%3D1&amp;amp;page=1&lt;/a&gt;&lt;br&gt; &lt;p&gt;对postfix 的性能进行控制，是通过对postfix 一些参数的配置来调节postfix的性能，这些参数都是通过mail.cf 配置文件进行配置的.下面主要介绍下这些参数:&amp;nbsp; &lt;br&gt;&amp;nbsp; 1. smtpd_delay_reject参数&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 作用:rcpt to指令前的过滤动作,设置为no来使过滤动作立刻生效.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;信封过滤分为四个阶段：&lt;br&gt;•连接ip(client)在.Smtp连接时，由smptd_client_restrictions参数来限制&lt;br&gt;•连接方(helo)在发送HELO/EHLO指令时,由smtpd_helo_restrictions参数来限制&lt;br&gt;•发信方(sender)在发送Mail from指令时,由smtpd_sendert_restrictions参数来限制&lt;br&gt;• 收信方(recipient)在发送Rcpt to指令时,可由smtpd_recipient_restrictions参数来限制&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;默认拒绝动作不会在匹配拒绝规则后就立刻断开连接,通过把smtpd_delay_reject设置为no来立刻断开连接.从而有效的节约垃圾邮件造成的带宽和处理能力的浪费.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;2. disable_vrfy_command 参数&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 作用:限制外界使用VERY命令来侦测收件地址的有效性,垃圾邮件发送者常用这种技巧来收集邮件地址.&amp;nbsp; 如:disable_vrfy_command =yes&amp;nbsp; &lt;br&gt;3.&amp;nbsp; 进程数限制&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 通过default_process_limit 参数来控制postfix 系统同时可以运行的最大进程数目,缺省值是50 个.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 如:default_process_limit = 100&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;4．对同一目标主机的并发连接限制&amp;nbsp;&amp;nbsp;&amp;nbsp; 当向同一目标主机发出SMTP 连接时，postfix 初始化发出两个SMTP 连接，如果投递成功则增加并发的SMTP 连接数目，遇到拥塞时又减少并发连接的数目。postfix 中通过以下的参数对同一目标主机的并发连接进行控制：&lt;br&gt;•initial_destination_concurrency：控制对同一目标主机的初始化并发连接数目。缺省值为2。&lt;br&gt;•default_destination_concurrency_limit：控制初始化连接后对同一目标主机的最大并发连接数目。缺省值为10。&lt;br&gt;•local_destination_concurrency_limit：控制对同一本地收件人的最大同时投递的邮件数目。缺省值为2，因为对本地同一收件人投递邮件时投递工作只能一个接一个的进行，所以设得在大也没用。&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;5.&amp;nbsp; 对同一封邮件的收件人数目限制&amp;nbsp;&amp;nbsp;&amp;nbsp; 通过default_destination_recipient_limit 参数来控制postfix 的投递代理（如smtp 进程）可以将同&amp;nbsp;&amp;nbsp;&amp;nbsp; 一封邮件发送给多少个收件人。也可以用smtpd_recipient_limit明确指出该投递代理的参数来覆盖该缺省值.&amp;nbsp;&amp;nbsp; 如:smtpd_recipient_limit = 100&amp;nbsp; &lt;br&gt;6．关于延迟邮件的再投递控制&amp;nbsp;&amp;nbsp;&amp;nbsp; 可以通过以下的几个参数实现对延迟邮件的再投递控制：&lt;br&gt;•queue_run_delay：设置队列管理进行扫描deferred 邮件队列的频率，缺省值为1000 秒。&lt;br&gt;•maximal_queue_lifetime：设置postfix 在放弃投递而返回不可投递信息前，被延迟邮件再deferred 邮件队列中的生存时间。&lt;br&gt;•minimal_backoff_time：当一封邮件投递失败后，邮件队列将在一段时间内忽视该邮件的存在，也就是我们前面讲的时间邮票。该参数就是用来设置最小的时间邮票。缺省值为1000 秒。&lt;br&gt;•maximal_backoff_time：设置最大的时间邮票。&lt;br&gt;7. 对拒绝服务攻击的处理&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; postfix 对每一个SMTP 会话都设置一个错误计数器，当该客户端的请求未被接受或违反那UCE 规则时，该&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 计数器就增1。随着计数器的增加，postfix将采取不同的措施来防止恶意用户的拒绝服务攻击。&lt;br&gt;•smtpd_error_sleep_time：当该错误计数器的值还很小时，postfix 将暂停.&lt;br&gt;•smtpd_error_sleep_time 指定的时间，然后向客户端报告一个错误。该参数的缺省值为5 秒。&lt;br&gt;•smtpd_soft_error_limit：当错误计数器的值超过该参数指定的值时，postfix 在响应该客户端请求前将沉睡一段时间。&lt;br&gt;•smtpd_hard_error_limit：当错误计数器的值超过该参数指定的值时，postfix中断同该客户端的连接.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 如:smtpd_hard_error_limit = 10 &lt;p&gt;#this file replace main.cf of postfix&lt;br&gt;soft_bounce = no&lt;br&gt;(设定成yes时,原本应该退信的动作,会改成将邮件放回队列,等待下次递送；此外,原本应该响应永久错误（5xx）的状况,一律改成以暂时性错误码（4xx）响应)&lt;br&gt;queue_directory = /var/spool/postfix&lt;br&gt;(队列目录路径,queue_minfree：邮件队列中可用的空间大小。缺省为无限制。建议该值最好时message_size_limit 的数倍以便于处理大邮件。)&lt;br&gt;command_directory = /usr/sbin&lt;br&gt;(postfix的命令行管理工具（postcat、postqueue等）的存放目录)&lt;br&gt;daemon_directory = /usr/libexec/postfix&lt;br&gt;mail_owner = postfix&lt;br&gt;(设置邮件及邮件队列的所有者为postfix)&lt;br&gt;default_privs = nobody&lt;br&gt;myhostname = mail.mail23.cn4e.com&lt;br&gt;(设置邮件服务器的主机名)&lt;br&gt;mydomain = mail23.cn4e.com&lt;br&gt;(设置邮件服务器的域名)&lt;br&gt;myorigin = $myhostname&lt;br&gt;（网域名称,要附加到只含人名部份不完整邮件地址的网域名称）&lt;br&gt;inet_interfaces = all&lt;br&gt;(设置postfix 服务监听的端口)&lt;br&gt;unknown_local_recipient_reject_code = 450&lt;br&gt;（响应码,客户端试图寄信给不存在的本地网域用户时,Postfix用于拒绝客户端的SMTP响应码）&lt;br&gt;mynetworks = 127.0.0.1/32,202.67.xxx.xxx/32&lt;br&gt;(设置可转发(Relay)哪些网络的邮件,通过本邮件系统寄出邮件的网络地址或IP地址)&lt;br&gt;alias_maps =&amp;nbsp; mysql:/etc/postfix/mysql_virtual.cf&lt;br&gt;(指定使用的别名数据库,当邮件在本地投递时,local 投递代理进程会在别名数据库（linux 下为/etc/aliases）中查询收件人的别名。该操作不会作用于邮件信头中的地址。)&lt;br&gt;alias_database = mysql:/etc/postfix/mysql_virtual.cf&lt;br&gt;(可以通过alias_database 参数控制别名数据库的路径)&lt;br&gt;home_mailbox = Maildir/&lt;br&gt;(表示要使用maildir格式的邮箱)&lt;br&gt;header_checks = regexp:/etc/postfix/header_check&lt;br&gt;(限制接收邮件的信头格式,如果符合指定的格式,则拒绝接收该邮件)&lt;br&gt;local_destination_concurrency_limit = 1&lt;br&gt;(并发进程的限制,local_destination_concurrency_limit：控制对同一本地收件人的最大同时投递的邮件数目。因为对本地同一收件人投递邮件时投递工作只能一个接一个的进行,所以设得在大也没用。)&lt;br&gt;debug_peer_level = 2&lt;br&gt;debugger_command =&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xxgdb $daemon_directory/$process_name $process_id &amp;amp; sleep 5&lt;br&gt;(这两项默认,不要去改)&lt;br&gt;sendmail_path = /usr/sbin/sendmail&lt;br&gt;(Postfix的sendmail兼容程序的完整路径.sendmail主要是供脚本或命令行用来寄送邮件)&lt;br&gt;newaliases_path = /usr/bin/newaliases&lt;br&gt;(用于重建别名数据库的newaliaser程序的完整路径)&lt;br&gt;mailq_path = /usr/bin/mailq&lt;br&gt;setgid_group = postdrop&lt;br&gt;(Postfix用来提交邮件或管理队列的组标识符)&lt;br&gt;manpage_directory = /usr/local/man&lt;br&gt;(Postfix在线说明书的存放目录)&lt;br&gt;sample_directory = /etc/postfix&lt;br&gt;(存放Postfix配置文件样本的目录)&lt;br&gt;readme_directory = no&lt;br&gt;tls设置&lt;br&gt;smtpd_use_tls = yes&lt;br&gt;smtp_tls_note_starttls_offer = yes&lt;br&gt;smtpd_tls_key_file = /etc/postfix/key.pem&lt;br&gt;smtpd_tls_cert_file = /etc/postfix/cert.pem&lt;br&gt;smtpd_tls_CAfile = /etc/postfix/CAcert.pem&lt;br&gt;smtpd_tls_loglevel = 1&lt;br&gt;smtpd_tls_received_header = yes&lt;br&gt;smtpd_tls_session_cache_timeout = 3600s&lt;br&gt;tls_random_source = dev:/dev/urandom&lt;br&gt;allow_untrusted_routing = no&lt;br&gt;smtpd_sasl_auth_enable = yes&lt;br&gt;(指定是否启用SASL作为SMTP认证,默认为no)&lt;br&gt;smtpd_sasl_local_domain =&lt;br&gt;(采用Cyrun-SASL V2版进行认证,这里不作设置)&lt;br&gt;smtpd_recipient_restrictions=check_sender_access hash:/etc/postfix/local_out_senders,permit_mynetworks,mysql:/etc/postfix/mysql_smtpd_rec_limit.cf,permit_sasl_authenticated,permit_auth_destination, reject&lt;br&gt;(通过收件人地址进行过滤,通过发件人在执行RCPT TO 命令时提供的地址进行限制.&lt;br&gt;permit_auth_destination：不管客户端的主机名,只要符合以下的条件,就接受SMTP 连接请求：&lt;br&gt;* 解析后的目标地址符合$relay_domains 及其子域&lt;br&gt;* 解析后的目标地址符合$inet_interfaces、$mydestination 或$virtual_maps&lt;br&gt;reject_unauth_destination：不管客户端的主机名,只要符合以下的条件,就拒绝该客户端SMTP 连接请求：&lt;br&gt;* 解析后的目标地址符合$relay_domains 及其子域&lt;br&gt;* 解析后的目标地址符合$inet_interfaces、$mydestination 或$virtual_maps&lt;br&gt;check_recipient_access：根据解析后的目标地址、父域搜索access 数据库。如果搜索的结果为REJECT 或者 “[45]XX text” 则拒绝该客户端的连接请求；如果搜索的结果为OK、RELAY 或数字则接受该客户端的连接请求。&lt;br&gt;reject_unknown_recipient_domain：如果收件人的邮件地址在DNS 中没有相应的A 或 MX 记录则拒绝该客户端的连接请求)&lt;br&gt;smtpd_restriction_classes = local_only&lt;br&gt;(自定义规范等级的名称,每一组规范等级,都是由一系统UBE限制条件组成)&lt;br&gt;local_only = check_recipient_access hash:/etc/postfix/local_domains,reject&lt;br&gt;broken_sasl_auth_clients = yes&lt;br&gt;(表示是否兼容非标准的SMTP认证)&lt;br&gt;smtpd_sasl_security_options = noanonymous&lt;br&gt;(用来限制某些登录方式,参数设置为noanonymous,则表示禁止采用匿名登录方式)&lt;br&gt;virtual_gid_maps = static:12&lt;br&gt;virtual_alias_maps = mysql:/etc/postfix/mysql_virtual.cf&lt;br&gt;(指定含有虚拟别名域定义的文件路径)&lt;br&gt;virtual_mailbox_base = /mail&lt;br&gt;(虚拟邮箱文件的相对路径起点)&lt;br&gt;virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf&lt;br&gt;virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf&lt;br&gt;message_size_limit = 524288000&lt;br&gt;(限制postfix 队列文件的大小。)&lt;br&gt;mailbox_size_limit = 629145600&lt;br&gt;(单封邮件的邮箱大小)&lt;br&gt;virtual_transport = maildrop&lt;br&gt;(用于投递邮件到虚拟邮箱地址的默认传输服务)&lt;br&gt;virtual_uid_maps = static:12346&lt;br&gt;bounce_size_limit = 50000&lt;br&gt;（限制某一邮件不可投递时,返回给发件人不可投递报告的大小）&lt;br&gt;smtpd_client_restrictions = mysql:/etc/postfix/mysql_smtpd_client_limit.cf,permit_sasl_authenticated&lt;br&gt;(限制可以向Postfix发起SMTP连接的客户端的主机名或IP地址,限制规则是按照查询的顺序进行的,)&lt;br&gt;smtpd_sender_restrictions = permit_mynetworks,mysql:/etc/postfix/mysql_smtpd_sender_limit.cf,reject_sender_login_mismatch,permit_sasl_authenticated,reject_unknown_sender_domain&lt;br&gt;(通过发件人地址进行限制,通过发件人在执行MAIL FROM 命令时提供的地址进行限制。可以指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行.&lt;br&gt;reject_unknown_sender_domain：如果MAIL FROM 命令提供的主机名在DNS中没有相应的A 或 MX 记录则拒绝该客户端的连接请求。&lt;br&gt;check_sender_access:根据MAIL FROM 命令提供的主机名、父域搜索access 数据库。如果搜索的结果为REJECT 或者 “[45]XX text” 则拒绝该客户端的连接请求；如果搜索的结果为OK、RELAY 或数字则接受该客户端的连接请求。可以通过该参数过滤来自某些不受欢迎的发件人的邮件。)&lt;br&gt;smtpd_delay_reject=no&lt;br&gt;(RCPT TO指令前的过滤动作,设置为no来使过滤动作立刻生效)&lt;br&gt;maildrop_destination_recipient_limit = 1&lt;br&gt;(Postfix默认会一次性的给多个收件人发邮件,而maildrop每次只处理一个收件人,所以只有第一个收件人能收到邮件,其他的则会被 maildrop不留痕迹的丢弃。把maildrop_destination_recipient_limit设置为1迫使Postfix每次只处理一个收件人,使maildrop能正常工作。)&lt;br&gt;disable_vrfy_command =yes&lt;br&gt;(限制外界使用VERY命令来侦测收件地址的有效性,垃圾邮件发送者常用这种技巧来收集邮件地址)&lt;br&gt;smtpd_helo_restrictions = mysql:/etc/postfix/mysql_smtpd_client_limit.cf,mysql:/etc/postfixsmtpd_recipient_limitmysql_smtpd_helo_limit.cf&lt;br&gt;(指定客户端在执行HELO命令时发送给POSTFIX的主机名,缺省地,postfix 接收客户端发送的任意形式的主机名。可以指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。)&lt;br&gt;default_destination_recipient_limit = 10&lt;br&gt;(对同一封邮件的收件人数目限制,通过default_destination_recipient_limit 参数来控制postfix 的投递代理（如smtp 进程）可以将同一封邮件发送给多少个收件人。也可以用明确指出该投递代理的参数来覆盖该缺省值。如用smtpd_recipient_limit来指定 smtp 投递代理可以将同一封邮件发送给多少个收件人)&lt;br&gt;smtpd_helo_required = yes(参数指定客户端在SMTP会话的开始是否发送一个HELO命令)&lt;br&gt;smtpd_helo_required = yes&lt;br&gt;smtpd_sender_login_maps = mysql:/etc/postfix/mysql_sender_login_maps.cf&lt;br&gt;maximal_queue_lifetime = 6h&lt;br&gt;(设置postfix 在放弃投递而返回不可投递信息前,被延迟邮件再deferred 邮件队列中的生存时间。&lt;br&gt;minimal_backoff_time：当一封邮件投递失败后,邮件队列将在一段时间内忽视该邮件的存在,也就是时间邮票。该参数就是用来设置最小的&lt;br&gt;时间邮票。缺省值为1000 秒。&lt;br&gt;maximal_backoff_time：设置最大的时间邮票。)&lt;br&gt;queue_run_delay = 3600s&lt;br&gt;(关于延迟邮件的再投递控制,设置队列管理进行扫描deferred 邮件队列的频率)&lt;br&gt;sender_bcc_maps = mysql:/etc/postfix/mysql_sender_bcc.cf&lt;br&gt;(将发信人包含在map文件中的邮件被分到指定邮箱；)&lt;br&gt;recipient_bcc_maps = mysql:/etc/postfix/mysql_rec_bcc.cf&lt;br&gt;(将收件人包含在map文件中的邮件被分到指定邮箱。)&lt;br&gt;fallback_relay = mysql:/etc/postfix/mysql_fallbackrelay.cf&lt;br&gt;(如果找不到或无法到达正常的目的地,则将邮件转交给此参数列出的IP地址,主机或网域)&lt;br&gt;smtpd_reject_unlisted_sender = yes&lt;br&gt;(域伪装)&lt;br&gt;html_directory = no&lt;br&gt;smtpd_hard_error_limit = 10&lt;br&gt;(当错误计数器的值超过该参数指定的值时,postfix中断同该客户端的连接。)&lt;br&gt;smtpd_banner = $myhostname MAIL@35 – ESMTP Mail Service x64 Version: 3.00.00&lt;br&gt;(设置向用户显示的主机名和版本信息)&lt;br&gt;default_process_limit = 100&lt;br&gt;(进程数限制,可以通过default_process_limit 参数来控制postfix 系统同时可以运行的最大进程数目)&lt;br&gt;default_destination_concurrency_limit = 10&lt;br&gt;(控制初始化连接后对同一目标主机的最大并发连接数目。缺省值为10。&lt;br&gt;当向同一目标主机发出SMTP 连接时,postfix 初始化发出两个SMTP 连接,&lt;br&gt;如果投递成功则增加并发的SMTP 连接数目,遇到拥塞时又减少并发连接的&lt;br&gt;数目。postfix 中通过以下的参数对同一目标主机的并发连接进行控制：&lt;br&gt;* initial_destination_concurrency：控制对同一目标主机的初始化并发连接数目。缺省值为2。)&lt;br&gt;default_recipient_limit = 100&lt;br&gt;(限制queue manager为各个传输服务保留在内存里的收件人数量)&lt;br&gt;smtpd_recipient_limit = 100&lt;br&gt;(指定smtp 投递代理可以将同一封邮件发送给多少个收件人)&lt;br&gt;bounce_queue_lifetime = 3h&lt;br&gt;(退信（弹回）在队列中的保留时间。超过此时间,被认为是无法投递的)&lt;br&gt;smtpd_client_connection_count_limit=200&lt;br&gt;smtp_data_done_timeout=3600&lt;br&gt;(SMTP client送出”.”表示信息内容结束之后,最多可以等待SMTP server在多长时间内响应)&lt;br&gt;smtp_data_init_timeout=3600&lt;br&gt;smtp_data_xfer_timeout=3600&lt;br&gt;(SMTP client在传送信息的过程中,可以容忍的等待时间)&lt;br&gt;hopcount_limit = 50&lt;br&gt;(信头中Received的最大数,阻止邮件的一直循环)&lt;br&gt;bounce_template_file = /etc/postfix/bounce.cf&lt;br&gt;data_directory = /var/lib/postfix&lt;br&gt;always_add_missing_headers = yes&lt;br&gt;(Postfix总是自动为没有message-id的邮件添加message-id：)&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/451643579470966132/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2013/03/postfix.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/451643579470966132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/451643579470966132'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2013/03/postfix.html' title='postfix优化'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-4101709186432095746</id><published>2013-02-16T18:16:00.001-08:00</published><updated>2013-02-16T18:16:39.391-08:00</updated><title type='text'>heartbeat 2.x简单配置</title><content type='html'>&lt;p&gt;&amp;nbsp;&amp;nbsp; 高可用集群是指一组通过硬件和软件连接起来的独立计算机，它们在用户面前表现为一个单一系统，在这样的一组计算机系统内部的一个或者多个节点停止工作，服务会从故障节点切换到正常工作的节点上运行，不会引起服务中断。从这个定义可以看出，集群必须检测节点和服务何时失效，何时恢复为可用。这个任务通常由一组被称为“心跳”的代码完成。在Linux-HA里这个功能由一个叫做heartbeat的程序完成。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Heartbeat是Linux-HA工程的一个组件，自1999年开始到现在，发布了众多版本，是目前开源Linux-HA项目最成功的一个例子，在行业内得到了广泛的应用。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 下面以2.1.3版本为例讲解其框架和基础概念。&lt;a name=&quot;entrymore&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;strong&gt;一、基本框架&lt;/strong&gt;&lt;br&gt;Heartbeat分1.x和2.x两个大版本，v2版本是可以兼容之前v1的配置文件的，但从功能的角度来看，v2要强不少： &lt;p&gt;引用 &lt;p&gt;a）2.x支持CRM管理，资源文件由原来的haresources变为cib.xml；&lt;br&gt;b）支持ocf、lsb、stonith等格式的resource agent；&lt;br&gt;c）可以对多资源组进行独立监控，不再需要依赖mon或ldirectord等第三方脚本；&lt;br&gt;d）支持多节点；&lt;br&gt;e）提供GUI图形配置和管理工具。 &lt;p&gt;Heartbeat 2.x基于集群资源管理器（Cluster Resource Manager-CRM）CRM模式：可以支持最多16个节点，这些模式使用基于XML的集群信息（Cluster Information Base-CIM）配置。CIB文件（/var/lib/heartbeat/crm/cib.xml）会在各个节点间自动复制，可以实现下面的对象和动作： &lt;p&gt;引用 &lt;p&gt;a）集群节点配置和监控；&lt;br&gt;b）集群资源，包括属性、优先级、组和依赖性的定制；&lt;br&gt;c）日志、监控、仲裁和fence标准管理；&lt;br&gt;d）当服务失败或其中设定的标准满足时，需要执行的动作。 &lt;p&gt;&lt;strong&gt;二、基础概念&lt;/strong&gt;&lt;br&gt;Heartbeat包括以下几个组件： &lt;p&gt;引用 &lt;p&gt;heartbeat – 节点间通信校验模块&lt;br&gt;CRM - 集群资源管理模块&lt;br&gt;CCM - 维护集群成员的一致性&lt;br&gt;LRM - 本地资源管理模块&lt;br&gt;StonithDaemon - 提供节点重启服务&lt;br&gt;logd - 非阻塞的日志记录&lt;br&gt;apphbd - 提供应用程序级的看门狗计时器&lt;br&gt;Recovery Manager - 应用故障恢复&lt;br&gt;底层结构–包括插件接口、进程间通信等&lt;br&gt;CTS – 集群测试系统，集群压力测试 &lt;p&gt;&lt;strong&gt;三、可靠消息通信&lt;/strong&gt;&lt;br&gt;以下内容转自：&lt;a href=&quot;http://www.hudong.com/wiki/heartbeat&quot;&gt;互动百科&lt;/a&gt;&lt;br&gt;Heartbeat通过插件技术实现了集群间的串口、多播、广播和组播通信，在配置的时候可以根据通信媒介选择采用的通信协议，heartbeat启动的时候检查这些媒介是否存在，如果存在则加载相应的通信模块。这样开发人员可以很方便地添加新的通信模块。&lt;br&gt;对于高可用集群系统，如果集群间的通信不可靠，那么很明显集群本身也不可靠。Heartbeat采用UDP协议和串口进行通信，它们本身是不可靠的，可靠性必须由上层应用来提供。那么怎样保证消息传递的可靠性呢？&lt;br&gt;Heartbeat 通过冗余通信通道和消息重传机制来保证通信的可靠性。Heartbeat检测主通信链路工作状态的同时也检测备用通信链路状态，并把这一状态报告给系统管理员，这样可以大大减少因为多重失效引起的集群故障不能恢复。例如，某个工作人员不小心拨下了一个备份通信链路，一两个月以后主通信链路也失效了，系统就不能再进行通信了。通过报告备份通信链路的工作状态和主通信链路的状态，可心完全避免这种情况。因为这样在主通信链路失效以前，就可以检测到备份工作链路失效，从而在主通信链路失效前修复备份通信链路。&lt;br&gt;Heartbeat通过实现不同的通信子系统，从而避免了某一通信子系统失效而引起的通信失效。最典型的就是采用以太网和串口相结合的通信方式。这被认为是当前的最好实践，有几个理由可以使我们选择采用串口通信： &lt;p&gt;引用 &lt;p&gt;（1）IP通信子系统的失效不太可能影响到串口子系统。&lt;br&gt;（2）串口不需要复杂的外部设备和电源。&lt;br&gt;（3）串口设备简单，在实践中非常可靠。&lt;br&gt;（4）串口可以非常容易地专用于集群通信。&lt;br&gt;（5）串口的直连线因为偶然性掉线事件很少。 &lt;p&gt;不管是采用串口还是以太网IP协议进行通信，heartbeat都实现了一套消息重传协议，保证消息包的可靠传递。实现消息包重传有两种协议，一种是发送者发起，另一种是接收者发起。&lt;br&gt;对于发送者发起协议，一般情况下接收者会发送一个消息包的确认。发送者维护一个计时器，并在计时器到时的时候重传那些还没有收到确认的消息包。这种方法容易引起发送者溢出，因为每一台机器的每一个消息包都需要确认，使得要发送的消息包成倍增长。这种现像被称为发送者（或者ACK）内爆（implosion）。&lt;br&gt;对于接收者发起协议，采用这种协议通信双方的接收者通过序列号负责进行错误检测。当检测到消息包丢失时，接收者请求发送者重传消息包。采用这种方法，如果消息包没有被送达任何一个接收者，那么发送者容易因NACK溢出，因为每个接收者都会向发送者发送一个重传请求，这会引起发送者的负载过高。这种现像被称为NACK内爆（implosion）。&lt;br&gt;Heartbeat实现的是接收者发起协议的一个变种，它采用计时器来限制过多的重传，在计时器时间内限制接收者请求重传消息包的次数，这样发送者重传消息包的次数也被相应的限制了，从而严格的限制了NACK内爆 &lt;p&gt;------------------------------------------------------------ &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 昨天介绍了heartbeat 2.x的基础概念，其中提到v2版本是可以兼容v1的配置文件，而v2提供了更加强大的集群控制功能。使用v1还是v2的配置文件，是以ha.cf主配置文件决定的。实际使用中，虽然v2功能强大，但配置比较麻烦，GUI图形工具更是复杂难用，似乎要完全弄懂并不容易。不过，要实现基础的配置却是比较简单的，官方也提供了大量的说明文档，建议大家对比来看。&lt;a name=&quot;entrymore&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;strong&gt;一、安装&lt;/strong&gt;&lt;br&gt;heartbeat 官方网站：&lt;a href=&quot;http://linux-ha.org/&quot;&gt;http://linux-ha.org/&lt;/a&gt;&lt;br&gt;测试环境为：&lt;/p&gt; &lt;p&gt;引用 &lt;p&gt;node1: hatest3 192.168.228.233&lt;br&gt;node2: hatest4 192.168.228.234&lt;br&gt;FIP: 192.168.228.235 &lt;p&gt;操作系统以红旗DC Server 5.0 SP2为例，其自带的heartbeat是1.x版本的，必须先卸载： &lt;p&gt;# rpm -e heartbeat heartbeat-ldirectord heartbeat-pils heartbeat-stonith &lt;p&gt;而2.x版本依赖多个perl包，我是使用centos 4.7的yum源来安装的。在红旗上配置好yum工具后，使用yum安装即可： &lt;p&gt;引用 &lt;p&gt;# yum install heartbeat*&lt;br&gt;heartbeat-2.1.3-3.el4.centos.i386.rpm&lt;br&gt;heartbeat-devel-2.1.3-3.el4.centos.i386.rpm&lt;br&gt;heartbeat-gui-2.1.3-3.el4.centos.i386.rpm&lt;br&gt;heartbeat-ldirectord-2.1.3-3.el4.centos.i386.rpm&lt;br&gt;heartbeat-pils-2.1.3-3.el4.centos.i386.rpm&lt;br&gt;heartbeat-stonith-2.1.3-3.el4.centos.i386.rpm&lt;br&gt;perl-Authen-Radius-0.13-1.el4.centos.noarch.rpm&lt;br&gt;perl-Data-HexDump-0.02-1.el4.centos.noarch.rpm&lt;br&gt;perl-Mail-POP3Client-2.17-1.c4.noarch.rpm&lt;br&gt;perl-MailTools-1.77-1.el4.centos.noarch.rpm&lt;br&gt;perl-Net-IMAP-Simple-1.17-1.el4.centos.noarch.rpm&lt;br&gt;perl-Net-IMAP-Simple-SSL-1.3-1.c4.noarch.rpm &lt;p&gt;&lt;strong&gt;※ 注意，不知道为什么，我在第一次安装完毕后，配置启动CRM总是失败，后来查看日志才发现原来缺少了/var/run/heartbeat下的多个文件和目录，而这些目录是用于存放运行CRM时的临时执行命令的。所以，请务必确认一下该目录下的内容和用户、组等权限。&lt;/strong&gt; &lt;p&gt;引用 &lt;p&gt;# ll /var/run/heartbeat&lt;br&gt;总用量 12&lt;br&gt;drwxr-xr-x&amp;nbsp; 2 hacluster haclient 4096&amp;nbsp; 4月&amp;nbsp; 8 12:32 ccm&lt;br&gt;drwxr-x---&amp;nbsp; 2 hacluster haclient 4096&amp;nbsp; 4月&amp;nbsp; 8 12:33 crm&lt;br&gt;srwxrwxrwx&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; 4月&amp;nbsp; 8 12:32 register&lt;br&gt;drwxr-xr-t&amp;nbsp; 4 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096&amp;nbsp; 4月&amp;nbsp; 8 12:33 rsctmp&lt;br&gt;srwxrwxrwx&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; 4月&amp;nbsp; 8 12:32 stonithd&lt;br&gt;srwxrwxrwx&amp;nbsp; 1 root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; 4月&amp;nbsp; 8 12:32 stonithd_callback &lt;p&gt;&lt;strong&gt;※ 另外，heartbeat的运行还需要依赖hacluster用户和haclient组，而红旗在之前安装1.x版本时已经创建了这些用户，这里不需重新创建。如果您对这些用户的uid和gid进行了改动，则务必把对应的目录修改为正确的宿主。&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;二、1.x和2.x配置文件对比&lt;/strong&gt;&lt;br&gt;在下面三个文件上体现了v2版本对比v1的区别： &lt;p&gt;引用 &lt;p&gt;/etc/ha.d/authkeys 该文件在两个版本作用是完全相同的，都必须设置，并且保证每个节点（node）内容一样；&lt;br&gt;/etc/ha.d/ha.cf 这个是主要配置文件，由其决定v1或v2 style格式&lt;br&gt;/etc/ha.d/haresources 这是v1的资源配置文件&lt;br&gt;/var/lib/heartbeat/crm/cib.xml 这是v2的资源配置文件，两者根据ha.cf的设定只能选其一 &lt;p&gt;正如前面所说的，v2版本使用CRM管理工具，而cib.xml文件可有几种方式来编写： &lt;p&gt;引用 &lt;p&gt;a）人工编写XML文件；&lt;br&gt;b）使用admintools工具，其已经包含在heartbeat包中；&lt;br&gt;c）使用GUI图形工具配置，也包含在heartbeat-gui包里面；&lt;br&gt;d）使用python脚本转换1.x style的格式配置文件。 &lt;p&gt;这四种方法实质都是相同的，并且以python脚本转换最为简单容易（GUI工具相当难用，今后有时间再详细说明）。为此，我们可以先配置好1.x style的格式。&lt;br&gt;&lt;strong&gt;三、配置1.x style格式&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;1、准备&lt;/strong&gt;&lt;br&gt;为方便配置文件之间的同步，我建议先给主节点做好到下面各个节点的ssh密钥认证，单向即可。&lt;br&gt;这部分的配置，请参考：&lt;a href=&quot;http://www.linuxfly.org/post/29/&quot;&gt;http://www.linuxfly.org/post/29/&lt;/a&gt;&lt;br&gt;&lt;strong&gt;2、设定authkeys文件&lt;/strong&gt;&lt;br&gt;该文件是集群中各节点相互认证的配置文件，允许使用crc（明文）、md5、sha1等不同的验证方式，可以使用heartbeat自带的示例来修改： &lt;p&gt;# cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/&lt;br&gt;# cd /etc/ha.d&lt;br&gt;# chmod 600 authkeys &lt;p&gt;修改后的内容如下： &lt;p&gt;引用 &lt;p&gt;# cat authkeys&lt;br&gt;auth 2&lt;br&gt;1 crc&lt;br&gt;2 sha1 HI!&lt;br&gt;3 md5 Hello! &lt;p&gt;auth命令定义了使用那种验证方式，需保证每个节点使用相同的验证方式和验证字符串。authkeys的权限也必须是600的。&lt;br&gt;&lt;strong&gt;3、设定ha.cf文件&lt;/strong&gt;&lt;br&gt;这是关键的配置文件，同样的，可以先从示例中拷贝过来： &lt;p&gt;# cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d &lt;p&gt;1.x的基本配置信息如下： &lt;p&gt;引用 &lt;p&gt;# more /etc/ha.d/ha.cf&lt;br&gt;#发送keepalive包的间隔时间&lt;br&gt;keepalive 2&lt;br&gt;#定义节点的失效时间&lt;br&gt;deadtime 30&lt;br&gt;#定义heartbeat服务启动后，等待外围其他设备（如网卡启动等）的等待时间&lt;br&gt;initdead 30&lt;br&gt;#使用udp端口694 进行心跳监测&lt;br&gt;udpport 694&lt;br&gt;#定义心跳&lt;br&gt;bcast&amp;nbsp;&amp;nbsp; eth0 eth1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Linux&lt;br&gt;#定义是否使用auto_failback功能&lt;br&gt;auto_failback off&lt;br&gt;#定义集群的节点&lt;br&gt;node&amp;nbsp;&amp;nbsp;&amp;nbsp; hatest3&lt;br&gt;node&amp;nbsp;&amp;nbsp;&amp;nbsp; hatest4&lt;br&gt;#使用heartbeat提供的日志服务，若use_logd设置为yes后，下面的三个选项会失效&lt;br&gt;use_logd yes&lt;br&gt;#logfile /var/log/ha_log/ha-log.log&lt;br&gt;#logfacility local7&lt;br&gt;#debugfile /var/log/ha_log/ha-debug.log&lt;br&gt;#设定一个监控网关，用于判断心跳是否正常&lt;br&gt;ping 192.168.228.153&lt;br&gt;deadping 5&lt;br&gt;#指定和heartbeat一起启动、关闭的进程&lt;br&gt;respawn hacluster /usr/local/lib64/heartbeat/ipfail&lt;br&gt;apiauth ipfail gid=haclient uid=hacluster &lt;p&gt;该配置文件是比较简单和清晰的，在不适用crm yes的情况下，即为1.x style格式。&lt;br&gt;&lt;strong&gt;4、设定haresources文件&lt;/strong&gt;&lt;br&gt;这个是1.x使用的集群资源文件，每行一个组，第一列定义的是优先级服务器，也就是默认资源运行在该服务器上： &lt;p&gt;引用 &lt;p&gt;hatest3 192.168.228.235 httpd&lt;br&gt;#hatest3 IPaddr::192.168.228.235 httpd &lt;p&gt;当ha发现优先节点当掉了，则另一个节点会自动接管192.168.228.235（浮动IP）和服务。第二行的作用是相同的，第一行是简略了IPaddr的写法。如果集群需要实现Active-Active（互备）状态，则可以再写一行，但托管的应用不能冲突。&lt;br&gt;&lt;strong&gt;5、设定hosts文件&lt;/strong&gt;&lt;br&gt;这不是一个必须的配置，但为了方便同步各节点的配置，建议设定： &lt;p&gt;引用 &lt;p&gt;# cat /etc/hosts&lt;br&gt;hatest3 192.168.228.233&lt;br&gt;hatest4 192.168.228.234 &lt;p&gt;&lt;strong&gt;6、拷贝配置文件到集群各节点上&lt;/strong&gt;&lt;br&gt;可以利用v2版本提供的同步配置工具来同步上述的配置文件，但默认只提供同步ha.cf和authkeys，haresources文件还是需要自行拷贝的（v2不使用该文件）： &lt;p&gt;引用 &lt;p&gt;# /usr/lib/heartbeat/ha_propagate&lt;br&gt;# /usr/lib/heartbeat/ha_propagate&lt;br&gt;Propagating HA configuration files to node hatest4.&lt;br&gt;ha.cf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100%&amp;nbsp;&amp;nbsp; 11KB&amp;nbsp; 10.7KB/s&amp;nbsp;&amp;nbsp; 00:00&lt;br&gt;authkeys&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100%&amp;nbsp; 682&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.7KB/s&amp;nbsp;&amp;nbsp; 00:00&lt;br&gt;Setting HA startup configuration on node hatest4.&lt;br&gt;# scp /etc/ha.d/haresources hatest4:/etc/ha.d&lt;br&gt;haresources&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100% 5960&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5.8KB/s&amp;nbsp;&amp;nbsp; 00:00 &lt;p&gt;&lt;strong&gt;7、测试&lt;/strong&gt;&lt;br&gt;在节点上都启动heartbeat服务： &lt;p&gt;# service heartbeat start &lt;p&gt;同时监控/var/log/ha-log日志文件，可以发现： &lt;p&gt;引用 &lt;p&gt;info: Enabling logging daemon&lt;br&gt;info: logfile and debug file are those specified in logd config file (default /etc/logd.cf)&lt;br&gt;info: Version 2 support: false&lt;br&gt;info: **************************&lt;br&gt;info: Configuration validated. Starting heartbeat 2.1.3&lt;br&gt;info: heartbeat: version 2.1.3&lt;br&gt;info: Heartbeat generation: 1239094081 &lt;p&gt;可见，这是没有使用v2 style配置格式的。接着，您可以进行简单的切换测试（例如断开hatest3的网络，关闭hatest3等），看看httpd服务是否可以正常切换到hatest4上。&lt;br&gt;至此，1.x style的heartbeat已经搭建完成。接下来即可借助1.x style的资源配置文件，转换为2.x style的格式，以构建2.x的HA集群应用。因文章篇幅太长，请转到下一篇日志中继续。 &lt;p&gt;-------------------------------------------------------------------- &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 继续昨天的内容。接下来要做的，就是借助1.x style的集群资源配置文件转换为2.x style的格式，并适当的配置ha.cf文件。与1.x style不同的是，v2.x style会使用CRM来进行整个集群的管理。集群开始时，通过在各节点间选举产生一个节点成为DC（Designated Coordinator），配置应在该DC上进行，并由其分发到下面的各个节点上。另外，使用中发现存在缺少ccm和crm临时目录的问题，暂时从官方的文档中暂时没有找到明确的解析和说明，我是作为一个Bug来理解的。&lt;a name=&quot;entrymore&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;strong&gt;四、配置2.x style格式&lt;/strong&gt;&lt;br&gt;从上面的测试可见，heartbeat 2.1.3确实是支持v1的配置格式的。如果要使用CRM管理，接下来要做的，就是激活v2的支持，并转换集群资源配置文件。&lt;br&gt;&lt;strong&gt;1、修改ha.cf配置文件&lt;/strong&gt;&lt;br&gt;首先停止各节点的heartbeat服务： &lt;p&gt;# service heartbeat stop &lt;p&gt;然后修改/etc/ha.d/ha.cf文件为： &lt;p&gt;引用 &lt;p&gt;# more /etc/ha.d/ha.cf&lt;br&gt;keepalive 2&lt;br&gt;deadtime 30&lt;br&gt;initdead 30&lt;br&gt;udpport 694&lt;br&gt;bcast&amp;nbsp;&amp;nbsp; eth0 eth1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Linux&lt;br&gt;auto_failback off&lt;br&gt;node&amp;nbsp;&amp;nbsp;&amp;nbsp; hatest3&lt;br&gt;node&amp;nbsp;&amp;nbsp;&amp;nbsp; hatest4&lt;br&gt;ping 192.168.228.153&lt;br&gt;use_logd yes&lt;br&gt;#下面的配置是关键，也就是激活crm管理，允许使用v2 style格式&lt;br&gt;#注意，还可以使用crm yes的写法，但这样写的话，如果后面的cib.xml配置有问题&lt;br&gt;#会导致heartbeat直接重启该服务器，所以，测试时建议使用respawn的写法&lt;br&gt;crm respawn&lt;br&gt;#下面是对传输的数据进行压缩，是可选项&lt;br&gt;compression&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bz2&lt;br&gt;compression_threshold 2 &lt;p&gt;※ 注意，v2 style不支持ipfail功能，而应使用pingd代替&lt;br&gt;请见：&lt;a href=&quot;http://www.linux-ha.org/ipfail&quot;&gt;http://www.linux-ha.org/ipfail&lt;/a&gt;&lt;br&gt;&lt;strong&gt;2、关于Designated Coorinator&lt;/strong&gt;&lt;br&gt;v2.x style使用CRM来进行整个集群的管理。即使没有生成下面的cib.xml文件，只要正确配置authorkeys和ha.cf，即可运行集群。&lt;br&gt;集群开始时，通过在各节点间选举产生一个节点成为DC（Designated Coordinator），日志会显示： &lt;p&gt;引用 &lt;p&gt;info: update_dc: Set DC to hatest3 (2.0) &lt;p&gt;今后，配置应在该DC上进行，并由其分发到下面的各个节点上。&lt;br&gt;&lt;strong&gt;※ 注意，我从官方的资料中并没有找到明确指出，如何再多个节点之间选举DC的方法和策略，似乎是与节点的主机名有关。&lt;/strong&gt;&lt;br&gt;介绍请见：&lt;a href=&quot;http://www.linux-ha.org/DesignatedCoordinator&quot;&gt;这里&lt;/a&gt;。&lt;br&gt;暂时，建议首次配置heartbeat的朋友，可以在没有cib.xml文件的情况下，启动所有节点上的heartbeat服务，通过查看日志以判断DC为那台节点机器。&lt;br&gt;&lt;strong&gt;这里，以hatest3为DC进行举例说明。所以，以下的工作都在hatest3节点上进行。&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;3、转换v1.x为v2.x格式文件&lt;/strong&gt;&lt;br&gt;heartbeat提供了一个使用python写的转换工具，可直接转换v1 style的配置文件为v2 style： &lt;p&gt;# /usr/lib/heartbeat/haresources2cib.py /etc/ha.d/haresources &lt;p&gt;※ 如果您之前已经启动过使用v2 style的heartbeat，需要先删除原来的文件： &lt;p&gt;# rm -f /var/lib/heartbeat/crm/* &lt;p&gt;继续前，可以先校验一下资源文件的格式是否正确： &lt;p&gt;# crm_verify -x /var/lib/heartbeat/crm/cib.xml &lt;p&gt;◎ 因/etc/ha.d/haresources文件对于v2 style来说是多余的，所以官方文档中，是创建了一个haresources.tmp的文件，然后直接转换： &lt;p&gt;# /usr/lib/heartbeat/haresources2cib.py /root/haresources.tmp &lt;p&gt;&lt;strong&gt;4、拷贝配置文件到各节点上&lt;/strong&gt;&lt;br&gt;同步各节点的配置文件 &lt;p&gt;引用 &lt;p&gt;# /usr/lib/heartbeat/ha_propagate&lt;br&gt;Propagating HA configuration files to node hatest4.&lt;br&gt;ha.cf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100%&amp;nbsp;&amp;nbsp; 11KB&amp;nbsp; 10.7KB/s&amp;nbsp;&amp;nbsp; 00:00&lt;br&gt;authkeys&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100%&amp;nbsp; 682&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.7KB/s&amp;nbsp;&amp;nbsp; 00:00&lt;br&gt;Setting HA startup configuration on node hatest4.&lt;br&gt;# scp /var/lib/heartbeat/crm/cib.xml hatest4:/var/lib/heartbeat/crm/&lt;br&gt;cib.xml&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100% 3117&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.0KB/s&amp;nbsp;&amp;nbsp; 00:00 &lt;p&gt;&lt;strong&gt;5、重建crm临时目录&lt;/strong&gt;&lt;br&gt;&lt;strong&gt;※ 这一步非常重要，如果不进行这步操作的话，后面启动hearbeat服务会失败的。&lt;/strong&gt;&lt;br&gt;在安装的时候，我们提到，heartbeat v2的允许需要依赖/var/run/heartbeat中的若干文件。但不知道是Bug，还是其他原因，我发现机器重启后，/var/run/heartbeat目录会被清空： &lt;p&gt;引用 &lt;p&gt;# ll /var/run/heartbeat/&lt;br&gt;总用量 0 &lt;p&gt;但这目录下的ccm和crm对于heartbeat v2的运行是不可缺少的，对比一下heartbeat包中的内容： &lt;p&gt;引用 &lt;p&gt;# rpm -ql heartbeat|grep run&lt;br&gt;/var/run&lt;br&gt;/var/run/heartbeat&lt;br&gt;/var/run/heartbeat/ccm&lt;br&gt;/var/run/heartbeat/crm &lt;p&gt;如果这时候直接启动heartbeat服务，日志中就会报错： &lt;p&gt;引用 &lt;p&gt;info: startCib: CIB Initialization completed successfully&lt;br&gt;info: cib_register_ha: Signing in with Heartbeat&lt;br&gt;info: cib_register_ha: FSA Hostname: hatest3&lt;br&gt;ERROR: socket_wait_conn_new: trying to create in /var/run/heartbeat/crm/cib_callback bind:: No such file or directory&lt;br&gt;ERROR: Can&#39;t create wait channel of type uds: Resource temporarily unavailable &lt;p&gt;通过查看/etc/init.d/heartbeat文件，可以发现其中有： &lt;p&gt;StartHA() {&lt;br&gt;&amp;nbsp; EchoNoNl &quot;Starting High-Availability services: &quot;&lt;br&gt;......&lt;br&gt;&amp;nbsp; if&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ ! -d $RUNDIR/heartbeat ]&lt;br&gt;&amp;nbsp; then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mkdir -p $RUNDIR/heartbeat/ccm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mkdir -p $RUNDIR/heartbeat/crm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; chown -R hacluster:haclient $RUNDIR/heartbeat&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; chmod -R 750 $RUNDIR/heartbeat&lt;br&gt;&amp;nbsp; fi&lt;br&gt;...... &lt;p&gt;所以，解决办法是，修改该文件为： &lt;p&gt;引用 &lt;p&gt;StartHA() {&lt;br&gt;&amp;nbsp; EchoNoNl &quot;Starting High-Availability services: &quot;&lt;br&gt;......&lt;br&gt;&amp;nbsp; if&lt;br&gt;[ ! -d $RUNDIR/heartbeat/ccm -o ! -d $RUNDIR/heartbeat/crm ]&lt;br&gt;&amp;nbsp; then&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mkdir -p $RUNDIR/heartbeat/ccm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; mkdir -p $RUNDIR/heartbeat/crm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; chown -R hacluster:haclient $RUNDIR/heartbeat&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; chmod -R 750 $RUNDIR/heartbeat&lt;br&gt;&amp;nbsp; fi&lt;br&gt;...... &lt;p&gt;参考办法：&lt;br&gt;&lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/heartbeat-2/+bug/51933&quot;&gt;Heartbeat fails to start after Dapper upgrade&lt;/a&gt;&lt;br&gt;&lt;strong&gt;6、测试&lt;/strong&gt;&lt;br&gt;最后，在各节点上启动heartbeat服务进行测试： &lt;p&gt;# service heartbeat start &lt;p&gt;日志会显示： &lt;p&gt;引用 &lt;p&gt;info: Enabling logging daemon&lt;br&gt;info: logfile and debug file are those specified in logd config file (default /etc/logd.cf)&lt;br&gt;info: Version 2 support: respawn&lt;br&gt;WARN: File /etc/ha.d/haresources exists.&lt;br&gt;WARN: This file is not used because crm is enabled&lt;br&gt;info: **************************&lt;br&gt;info: Configuration validated. Starting heartbeat 2.1.3&lt;br&gt;info: heartbeat: version 2.1.3&lt;br&gt;info: Heartbeat generation: 1239088581 &lt;p&gt;可见，已经使用v2 style配置了。接下来，您可以查看hatest3上的服务是否正常，或进行故障切换测试。&lt;br&gt;&lt;strong&gt;7、GUI工具&lt;/strong&gt;&lt;br&gt;v2 style的集群正常启动后，会打开5560端口，允许hb_gui访问。 &lt;p&gt;引用 &lt;p&gt;# netstat -ln|grep 5560&lt;br&gt;tcp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 0.0.0.0:5560&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0:*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&lt;br&gt;# ps -ef|grep mgmt|grep -v &#39;grep&#39;&lt;br&gt;root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3770&amp;nbsp; 3752&amp;nbsp; 2 10:50 ?&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00:02 /usr/lib/heartbeat/mgmtd -v &lt;p&gt;使用hb_gui访问CRM管理界面前，还需要给hacluster用户创建一下密码： &lt;p&gt;# passwd hacluster &lt;p&gt;接着，就可以进入Xwin界面，运行： &lt;p&gt;# hb_gui &lt;p&gt;看到的登陆界面如下：&lt;br&gt;&lt;a href=&quot;http://www.linuxfly.org/attachment.php?fid=302&quot;&gt;&lt;img title=&quot;点击在新窗口中浏览此图片&quot; border=&quot;0&quot; alt=&quot;点击在新窗口中浏览此图片&quot; src=&quot;http://www.linuxfly.org/attachment.php?fid=302&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br&gt;登陆后可以看到当前的集群情况：&lt;br&gt;&lt;a href=&quot;http://www.linuxfly.org/attachment.php?fid=303&quot;&gt;&lt;img title=&quot;点击在新窗口中浏览此图片&quot; border=&quot;0&quot; alt=&quot;点击在新窗口中浏览此图片&quot; src=&quot;http://www.linuxfly.org/attachment.php?fid=303&quot; width=&quot;500&quot;&gt;&lt;/a&gt;&lt;br&gt;该界面不单可以进行监控，还可以进行配置和管理的操作：&lt;br&gt;&lt;a href=&quot;http://www.linuxfly.org/attachment.php?fid=304&quot;&gt;&lt;img title=&quot;点击在新窗口中浏览此图片&quot; border=&quot;0&quot; alt=&quot;点击在新窗口中浏览此图片&quot; src=&quot;http://www.linuxfly.org/attachment.php?fid=304&quot;&gt;&lt;/a&gt;&lt;br&gt;不过，这工具可真的并不是那么好用，待以后有机会再做说明吧。&lt;br&gt;※ heartbeat还提供了一个CRM管理程序crm_resource，在 &lt;a href=&quot;http://www.linuxfly.org/post/365/&quot;&gt;这里&lt;/a&gt; 说明。&lt;br&gt;最后确认整个HA集群都可以正常运行、监控、切换后，可以把/etc/ha.d/ha.cf中的crm respawn改为crm yes，并设置为自启动： &lt;p&gt;# chkconfig --level 35 heartbeat on &lt;p&gt;&lt;strong&gt;五、故障分析&lt;/strong&gt;&lt;br&gt;在整个配置和调试过程中，遇到的问题可真是不少，甚至大部分问题在官方的资料中都没有提及，这是开源软件一个典型的问题。软件并不是研发出来就可以了，维护和文档是非常重要的。&lt;br&gt;&lt;strong&gt;1、激活5560端口错误&lt;/strong&gt;&lt;br&gt;启动heartbeat时，报错： &lt;p&gt;引用 &lt;p&gt;ERROR: Duplicate apiauth directive for API client mgmtd: [mgmtd uid=root]&lt;br&gt;some entries in ha.cf no longer needed &lt;p&gt;在旧版本heartbeat上，激活5560端口，提供GUI访问支持，需要修改/etc/ha.d/ha.cf文件，在其中增加： &lt;p&gt;引用 &lt;p&gt;apiauth mgmtd uid=root&lt;br&gt;respawn root /usr/lib/heartbeat/mgmtd -v &lt;p&gt;但新版本heartbeat已经不需要再进行该设置了，只需要打开crm yes或crm respawn即可，而重复的定义会导致启动失败的。&lt;br&gt;官方提供了说明：&lt;a href=&quot;http://www.linux-ha.org/UpdateExperience&quot;&gt;http://www.linux-ha.org/UpdateExperience&lt;/a&gt;&lt;br&gt;&lt;strong&gt;2、缺少临时目录&lt;/strong&gt; &lt;p&gt;引用 &lt;p&gt;ERROR: socket_wait_conn_new: trying to create in /var/run/heartbeat/crm/cib_callback bind:: No such file or directory&lt;br&gt;ERROR: Can&#39;t create wait channel of type uds: Resource temporarily unavailable &lt;p&gt;这问题在前面已经提过了，是因为缺少/var/run/heartbeat下的ccm和crm目录，修改/etc/init.d/heartbeat脚本，或重建这些目录都可以解决。&lt;br&gt;&lt;strong&gt;3、临时目录权限不对&lt;/strong&gt; &lt;p&gt;引用 &lt;p&gt;ERROR: socket_wait_conn_new: unlink failure(/var/run/heartbeat/ccm/ccm): Permission denied&lt;br&gt;ERROR: socket_wait_conn_new: trying to create in /var/run/heartbeat/ccm/ccm bind:: Permission &lt;p&gt;这问题与上面的问题类似，是因为临时目录创建时给予的权限不对导致的，修改为正确的权限即可。&lt;br&gt;&lt;strong&gt;4、UUID不正确&lt;/strong&gt;&lt;br&gt;参与集群的每台服务器都会有一个唯一的UUID值，但可能由于一些特殊原因，例如目录复制、机器拷贝、文件丢失等，导致UUID丢失或重复，会导致集群不能正常启动。&lt;br&gt;这时，可删除下面的文件，重启heartbeat时会自动重建新的UUID： &lt;p&gt;# cd /var/lib/heartbeat/&lt;br&gt;# rm delhostcache hb_generation hb_uuid hostcache&lt;br&gt;# service heartbeat start &lt;p&gt;&lt;strong&gt;5、宿主和权限问题&lt;/strong&gt;&lt;br&gt;红旗上默认安装的heartbeat v1会创建UID为90的hacluster用户和haclient组，若您重新安装hearbeat v2时对这部分进行了修改，请需要确认相关的文件是否正确。同样的，权限也一样，有部分执行文件是设置了setuid等特殊权限的。&lt;br&gt;下面的命令能协助您找出机器中属于hacluster用户的文件： &lt;p&gt;# find / -u hacluster -print&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/4101709186432095746/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2013/02/heartbeat-2x.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/4101709186432095746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/4101709186432095746'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2013/02/heartbeat-2x.html' title='heartbeat 2.x简单配置'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-7914989277669644182</id><published>2013-01-13T17:59:00.001-08:00</published><updated>2013-01-13T17:59:44.737-08:00</updated><title type='text'>服务器信息脚本</title><content type='html'>&lt;p&gt;echo &quot;#开机时间&quot;&lt;br&gt;w | grep up | awk -F&quot;up&quot; &#39;{print &quot;up&quot;$2}&#39; | awk -F&quot;,&quot; &#39;{print $1}&#39;&lt;br&gt;echo &quot;&quot;&lt;br&gt;echo &quot;#硬件BOIS信息，必须root执行&quot;&lt;br&gt;dmidecode | grep -E &#39;Release Date|UUID|Product Name|Vendor|Serial Number: &#39;| sed -n &#39;1,5p&#39;&lt;br&gt;echo &quot;&quot;&lt;br&gt;echo &quot;#cpu情况&quot;&lt;br&gt;grep &quot;model name&quot; /proc/cpuinfo&amp;nbsp; | awk &#39;{++SUM[$4$5&quot; &quot;$7$8$9]}END{for(a in SUM)print a,&quot;(*&quot;SUM[a]&quot;)&quot;}&#39;&lt;br&gt;echo &quot;&quot;&lt;br&gt;echo &quot;#磁盘情况&quot;&lt;br&gt;fdisk -l | grep Disk | awk -F&quot;,&quot; &#39;{print $1}&#39;&lt;br&gt;echo &quot;&quot;&lt;br&gt;echo &quot;#内存、swap情况&quot;&lt;br&gt;free -g | grep -E &#39;Mem|Swap&#39; | awk &#39;{print $1,$2+1&quot;GB&quot;}&#39;&lt;br&gt;echo &quot;&quot;&lt;br&gt;echo &quot;系统内核情况&quot;&lt;br&gt;uname -a | awk &#39;{print $3&quot;(&quot;$(NF-1)&quot;)&quot;}&#39;&lt;br&gt;echo &quot;&quot;&lt;br&gt;echo &quot;MAC地址&quot;&lt;br&gt;ifconfig | grep HWaddr&lt;br&gt;echo &quot;&quot;&lt;br&gt;echo &quot;登陆情况&quot;&lt;br&gt;last |grep -E &#39;0[0-6]:[0-5][0-9] - [0-9][0-9]:[0-5][0-9]&#39;&lt;br&gt;echo &quot;磁盘情况&quot;&lt;br&gt;df -h | awk &#39;{print $1,$2}&#39;&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/7914989277669644182/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2013/01/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/7914989277669644182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/7914989277669644182'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2013/01/blog-post.html' title='服务器信息脚本'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-4238101541290978607</id><published>2012-12-18T21:42:00.001-08:00</published><updated>2012-12-18T21:42:02.843-08:00</updated><title type='text'>heartbeat3.05安装</title><content type='html'>&lt;p&gt;CentOS6.3&lt;br&gt;http://www.thatsgeeky.com/2011/07/installing-heartbeat-on-amazon%E2%80%99s-ec2/&lt;br&gt;http://www.linuxso.com/linuxrumen/6445.html&lt;br&gt;http://hi.baidu.com/_you_yan/item/aa08890d295709cf74cd3c24&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the new&lt;br&gt;http://blog.csdn.net/lhfeng/article/details/5992116&lt;br&gt;http://www.wenzizone.cn/?tag=heartbeat&lt;br&gt;一、LVS安装&lt;br&gt;系统默认是支持LVS功能的（有如下信息表示支持）。&lt;br&gt;# modprobe -l |grep ipvs&lt;br&gt;kernel/net/netfilter/ipvs/ip_vs.ko&lt;br&gt;kernel/net/netfilter/ipvs/ip_vs_rr.ko&lt;br&gt;kernel/net/netfilter/ipvs/ip_vs_wrr.ko&lt;br&gt;kernel/net/netfilter/ipvs/ip_vs_lc.ko&lt;br&gt;kernel/net/netfilter/ipvs/ip_vs_wlc.ko&lt;br&gt;kernel/net/netfilter/ipvs/ip_vs_lblc.ko&lt;br&gt;kernel/net/netfilter/ipvs/ip_vs_lblcr.ko&lt;br&gt;kernel/net/netfilter/ipvs/ip_vs_dh.ko&lt;br&gt;kernel/net/netfilter/ipvs/ip_vs_sh.ko&lt;br&gt;kernel/net/netfilter/ipvs/ip_vs_sed.ko&lt;br&gt;kernel/net/netfilter/ipvs/ip_vs_nq.ko&lt;br&gt;kernel/net/netfilter/ipvs/ip_vs_ftp.ko&lt;br&gt;二、在Director Server上安装IPVS管理软件&lt;br&gt;首先从 http://www.linuxvirtualserver.org/software/ipvs.html 下载对应的IPVS源码&lt;br&gt;我这里下载 ipvsadm-1.24.tar.gz&lt;br&gt;安装方法一：(推荐用这个方便快捷)：&lt;br&gt;# yum install -y ipvsadm&lt;br&gt;# ipvsadm --help&amp;nbsp; 有相关信息输出，表时IPVS已经安装成功。&lt;br&gt;安装方法二：&lt;br&gt; # tar zxvf ipvsadm-1.24.tar.gz&lt;br&gt; # cd ipvsadm-1.24&lt;br&gt; # make &lt;br&gt; # make install&lt;br&gt;三、安装heartbeat&lt;br&gt;-----------------------------------------------&lt;br&gt;首先下载libnet工具，并安装&lt;br&gt;http://sourceforge.net/projects/libnet-dev/&lt;br&gt;# tar zxvf libnet-1.1.6.tar.gz&lt;br&gt;# cd libnet-1.1.6&lt;br&gt;# ./configure&lt;br&gt;# make&lt;br&gt;# make install&lt;br&gt;-----------------------------------------------&lt;br&gt;heartbeat下载并安装(三个文件：Heartbeat、Cluster Glue、Resource Agents)&lt;br&gt;http://linux-ha.org/wiki/Downloads&lt;br&gt;# yum -y install glib2-devel libtool-ltdl-devel net-snmp-devel bzip2-devel \&lt;br&gt;ncurses-devel openssl-devel libtool libxml2-devel gettext bison flex zlib-devel \&lt;br&gt;mailx which libxslt-devel docbook-dtds docbook-style-xsl PyXML shadow-utils opensp autoconf automake libuuid-devel \&lt;br&gt;libexslt libexslt-devel libgcrypt-devel pkgconfig libgpg-error-devel sgml-common opensp openjade xml-common \&lt;br&gt;docbook-dtds docboot-style -y&amp;nbsp; &lt;br&gt;1、安装Cluster Glue&lt;br&gt;# groupadd haclient&lt;br&gt;# useradd hacluster -g haclient -s /sbin/nologin&lt;br&gt;# tar jxvf Reusable-Cluster-Components-glue--glue-1.0.9.tar.bz2&lt;br&gt;# cd Reusable-Cluster-Components-glue--glue-1.0.9&lt;br&gt;# ./autogen.sh&lt;br&gt;# ./configure --prefix=/usr/local/ha_soft&lt;br&gt;# make&lt;br&gt;# make install&lt;br&gt;2、安装Resource Agents&lt;br&gt;# cd ../&lt;br&gt;# tar zxvf ClusterLabs-resource-agents-v3.9.2-0-ge261943.tar.gz&lt;br&gt;# cd ClusterLabs-resource-agents-b735277&lt;br&gt;# ./autogen.sh&lt;br&gt;# ./configure --prefix=/usr/local/ha_soft CFLAGS=-I/usr/local/ha_soft/include \&lt;br&gt;LDFLAGS=-L/usr/local/ha_soft/lib&lt;br&gt;# vi /usr/local/ha_soft/include/heartbeat/glue_config.h(找到如下几个设置项删除对应的行)&lt;br&gt;HA_SYSCONFDIR&lt;br&gt;HA_HBCONF_DIR&lt;br&gt;HA_HBCONF_DIR&lt;br&gt;# make&lt;br&gt;# vi /etc/ld.so.conf.d/heartbeat.conf (输入如下行)&lt;br&gt;/usr/local/ha_soft/lib&lt;br&gt;# ldconfig&lt;br&gt;# make install&lt;br&gt;3、安装heartbeat&lt;br&gt;# cd ..&lt;br&gt;# tar jxvf Heartbeat-3-0-7e3a82377fa8.tar.bz2&lt;br&gt;# cd Heartbeat-3-0-7e3a82377fa8&lt;br&gt;# ./bootstrap&lt;br&gt;# ./configure --prefix=/usr/local/ha_soft CFLAGS=-I/usr/local/ha_soft/include \&lt;br&gt;LDFLAGS=-L/usr/local/ha_soft/lib &lt;br&gt;# cp /srv/Heartbeat-3-0-7e3a82377fa8/lib/plugins/HBcomm/hbaping.c /srv/Heartbeat-3-0-STABLE-3.0.4/lib/plugins/HBcomm/hbaping.c.bak&lt;br&gt;# vi /srv/Heartbeat-3-0-STABLE-3.0.4/lib/plugins/HBcomm/hbaping.c(安装源码目录,删除326行)&lt;br&gt;# make&lt;br&gt;# make install&lt;br&gt;四、配置(节点1和节点2相同,区别就是检查ip是对方) ? 从源码编译目录中复制配置文件到安装目录&lt;br&gt;复制附件&amp;lt;配置文件&amp;gt;里的配置文件到 /usr/local/ha_soft/etc/ha.d/&lt;br&gt;编辑ha.cf 主配置文件&lt;br&gt;[root@aos ha.d]# cd /usr/local/ha_soft/etc/ha.d&lt;br&gt;[root@aos ha.d]# vim ha.cf&lt;br&gt;#debugfile /var/log/ha-debug&lt;br&gt;#logfile /var/log/ha-log&lt;br&gt;logfacility local0&lt;br&gt;keepalive 2&lt;br&gt;deadtime 6&lt;br&gt;warntime 4&lt;br&gt;initdead 30&lt;br&gt;udpport 694&lt;br&gt;ucast eth1 192.168.1.200&lt;br&gt;auto_failback off&lt;br&gt;node aos&lt;br&gt;node weibo&lt;br&gt;compression bz2&lt;br&gt;compression_threshold 2&lt;br&gt;ping_group group1 xxxxx82 xxxx.80&lt;br&gt;respawn root /usr/local/ha_soft/lib/heartbeat/ipfail&lt;br&gt;apiauth ipfail gid=root uid=root&lt;br&gt;debug 0&lt;br&gt;? 编辑authkeys 验证信息文件&lt;br&gt;[root@aos ha.d]# cd /usr/local/ha_soft/etc/ha.d&lt;br&gt;[root@aos ha.d]# vim authkeys&lt;br&gt;auth 1&lt;br&gt;1 crc&lt;br&gt;[root@aos ha.d]# chmod 600 authkeys&lt;br&gt;? 编辑haresources 资源控制配置文件&lt;br&gt;[root@aos ha.d]# cd /usr/local/ha_soft/etc/ha.d&lt;br&gt;[root@aos ha.d]# vim haresources&lt;br&gt;aos IPaddr::xxxxx.70/25/eht0/xxxxx.127&lt;br&gt;? 链接文件&lt;br&gt;[root@aos heartbeat]# vim /etc/ld.so.conf(加入到文件末尾)&lt;br&gt;/usr/local/ha_soft/lib/&lt;br&gt;[root@aos heartbeat]# ldconfig&lt;br&gt;#cp /usr/local/ha_soft/etc/ha.d/resource.d/hto-mapfuncs /usr/local/ha_soft/etc/ha.d/resource.d/hto-mapfuncs.bak&lt;br&gt;[root@aos heartbeat]# vim +35 /usr/local/ha_soft/etc/ha.d/resource.d/hto-mapfuncs(注释35行)&lt;br&gt;(六) 注册并且启动服务&lt;br&gt;[root@aos ha.d]# chkconfig --add heartbeat&lt;br&gt;[root@aos ha.d]# chkconfig levles 2345 heartbeat on&lt;br&gt;[root@aos ha.d]# /etc/init.d/heartbeat start&lt;br&gt;-------------------------------------------------------------------&lt;br&gt;In file included from libipvs.c:23:&lt;br&gt;1.找到ip_vs.h文件.copy to /usr/include/net下&lt;br&gt;2.ln -s /usr/src/kernels/2.6.9-22.EL-i686/ /usr/src/linux&lt;br&gt;3.修改当前目录和libipvs目录中的Makefile的：&lt;br&gt;INCLUDE = -I/usr/src/linux/include -I.. -I.&lt;br&gt;为：&lt;br&gt;INCLUDE = -I/usr/src/kernels/2.6.9-22.EL-i686/include -I..-I.&lt;br&gt;---------------------------------------------------------------------&lt;br&gt;configure: error: You need glib2-devel installed in order to build cluster-glue&lt;br&gt;# yum install -y glib2-devel&lt;br&gt;----------------------------------------------------------------------&lt;br&gt;checking for special libxml2 includes... configure: error: libxml2 config not found&lt;br&gt;# yum install -y libxml2 libxml2-devel&lt;br&gt;-----------------------------------------------------------------------&lt;br&gt;configure: error: BZ2 libraries not found&lt;br&gt;yum -y install bzip2-devel glib2-devel&lt;br&gt;------------------------------------------------------------------------&lt;br&gt;gmake[2]: *** [hb_report.8] Error 4&lt;br&gt;这个报错因为要访问http://docbook.sourceforge.net/release/xsl/current/ 目录下的文件造成的，第一次发现源码安装软件需要联网，并且还要翻墙（^_^），本人水平有限，没办法直接翻墙。网页翻墙后下载common html lib manpages四个目录下的文件和VERSION.xsl，然后简易搭建一个httpd服务器，在主目录下新建相同的目录结构，并将所有文件拷贝到相应目录；然后在/etc/hosts文件中将docbook.sourceforge.net指向httpd的IP。（你知道这在干什么吧，做个假的 docbook.sourceforge.net服务器）&lt;br&gt;# vi /etc/mime.types&amp;nbsp; 加入&amp;nbsp; xml&amp;nbsp; xsl&amp;nbsp; 保存。&lt;br&gt;这里要多编译几次，有时候会提示找不到网页的。下载网页 wget -r A http://docbook.sourceforge.net/release/xsl/current/&lt;br&gt;约1个小时左右就下完了。&lt;br&gt;-------------------------------------------------------------------------&lt;br&gt;../heartbeat/IPv6addr: error while loading shared libraries: libplumb.so.2: cannot open shared object file: No such file or directory&lt;br&gt;gmake[2]: *** [metadata-IPv6addr.xml] Error 127&lt;br&gt;解决办法：这个是由于缺乏libplumb.so.2引起的，到网上libplumb.so.2下载包含这个文件的rpm即可，在本次方案中用的是libheartbeat2-2.99.2-6.1.i386.rpm &lt;br&gt;--------------------------------------------------------------------------&lt;br&gt;aclocal-1.5&lt;br&gt;automake-1.5 --add-missing --include-deps --copy&lt;br&gt;configure.in: 472: `AC_DECL_YYTEXT&#39; is covered by `AM_PROG_LEX&#39;&lt;br&gt;contrib/Makefile.am:23: SUBDIRS was already defined in condition TRUE, which implies condition BUILD_DRBD_OUTDATE_PEER_TRUE&lt;br&gt;&amp;nbsp; SUBDIRS (User, where = 23) +=&lt;br&gt;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TRUE =&amp;gt; ipfail mlock&lt;br&gt;&amp;nbsp; }&lt;br&gt;replace/Makefile.am:29: required file `replace/[lt__dirent].c&#39; not found&lt;br&gt;replace/Makefile.am:29: required file `replace/[lt__strl].c&#39; not found&lt;br&gt;replace/Makefile.am:29: required file `replace/[argz].c&#39; not found&lt;br&gt;./bootstrap exiting due to error (sorry!).&lt;br&gt;解决办法：&lt;br&gt;yum update -y 慎用&lt;br&gt;yum groupinstall -y &quot;Development Tools&quot;&lt;br&gt; yum install -y wget net-snmp-devel openhpi-devel net-snmp OpenIPMI glib2-devel libxml2-devel bzip2-devel libuuid-devel docbook-utils docbook-dtds libtool-ltdl libtool-ltdl-devel libxslt perl-TimeDate python-devel OpenIPMI-devel openssl-devel docbook-style-xsl help2man e2fsprogs-devel mailx&lt;br&gt;---------------------------------------------------------------------------------------&lt;br&gt;metadata-IPv6addr.xml:1: parser error : Document is empty&lt;br&gt;^&lt;br&gt;metadata-IPv6addr.xml:1: parser error : Start tag expected, &#39;&amp;lt;&#39; not found&lt;br&gt;^&lt;br&gt;unable to parse metadata-IPv6addr.xml&lt;br&gt;gmake[2]: *** [ocf_heartbeat_IPv6addr.xml] Error 6&lt;br&gt;gmake[2]: Leaving directory `/home/soft/ClusterLabs-resource-agents-b735277/doc&#39;&lt;br&gt;gmake[1]: *** [all-recursive] Error 1&lt;br&gt;gmake[1]: Leaving directory `/home/soft/ClusterLabs-resource-agents-b735277&#39;&lt;br&gt;make: *** [all] Error 2&lt;br&gt;解决办法：xml 没有下载成功,重头开始安装编译。&lt;br&gt;------------------------------------------------------------------------------------&lt;br&gt;../heartbeat/IPv6addr: error while loading shared libraries: libnet.so.1: cannot open shared object file: No such file or directory&lt;br&gt;gmake[2]: *** [metadata-IPv6addr.xml] Error 127&lt;br&gt;# yum install libnet*&amp;nbsp; 不知道是不是这样解决的，反正重新编译可以了。&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/4238101541290978607/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/12/heartbeat305.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/4238101541290978607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/4238101541290978607'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/12/heartbeat305.html' title='heartbeat3.05安装'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-6595699189633343717</id><published>2012-12-14T01:44:00.001-08:00</published><updated>2012-12-14T01:44:45.202-08:00</updated><title type='text'>heartbeat集群心跳配置</title><content type='html'>&lt;p&gt;集群心跳可在文件etc/ha.d/ha.cf中进行配置，如下所示： &lt;p&gt;node server-1 server-2  &lt;p&gt;bcast eth0  &lt;p&gt;ucast eth1 192.168.127.132 &lt;p&gt;心跳有如下四种类型：串口、广播、多播、ucast，以下分别进行介绍：&lt;br&gt;#serial 串口名称&lt;br&gt;#serial /dev/ttyS0 # Linux&lt;br&gt;#serial /dev/cuaa0 # FreeBSD&lt;br&gt;#serial /dev/cuad0 # FreeBSD 6.x&lt;br&gt;#serial /dev/cua/a # Solaris &lt;p&gt;#广播heartbeats的接口&lt;br&gt;#bcast eth0 # Linux&lt;br&gt;#bcast eth1 eth2 # Linux&lt;br&gt;#bcast le0 # Solaris&lt;br&gt;#bcast le1 le2 # Solaris &lt;p&gt;# 设置一个多播心跳介质&lt;br&gt;# mcast [dev] [mcast group] [port] [ttl] [loop]&lt;br&gt;#[dev]发送/接收heartbeats的设备&lt;br&gt;#[mcast group]加入到的多播组（D类多播地址224.0.0.0 - 239.255.255.255）&lt;br&gt;#[port]端口用于发送/接收udp（设置这个值跟上面的udpport为相同值）&lt;br&gt;#[ttl]外流的heartbeats的ttl值。这个影响多播包能传播多远。（0-255）必须要大于0 。&lt;br&gt;#[loop]为多播heartbeat开关loopback。如果enabled，一个外流的包将被回环到原处并由发送它的接口接收。（0或者1）设置这个值为0。&lt;br&gt;#mcast eth0 225.0.0.1 694 1 0 &lt;p&gt;#配置一个unicast / udp heartbeat 介质&lt;br&gt;#ucast [dev] [peer-ip-addr]&lt;br&gt;#[dev]用于发送/接收heartbeat的设备&lt;br&gt;#[peer-ip-addr]包被发送到的对等的IP地址&lt;br&gt;#ucast eth0 192.168.1.2 &lt;p&gt;在heartbeat中，可以使用命令cl_status来查询集群心跳的相关信息。 &lt;p&gt;显示节点server-1所使用的心跳： &lt;p&gt;[root@server-1 bin]# ./cl_status listhblinks server-1 &lt;p&gt;eth1 &lt;p&gt;eth0 &lt;p&gt;显示节点server-1的eth0心跳状态： &lt;p&gt;[root@server-1 bin]# ./cl_status hblinkstatus server-1 eth0 &lt;p&gt;up&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/6595699189633343717/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/12/heartbeat.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/6595699189633343717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/6595699189633343717'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/12/heartbeat.html' title='heartbeat集群心跳配置'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-2552611832921325404</id><published>2012-12-14T01:40:00.001-08:00</published><updated>2012-12-14T01:40:56.251-08:00</updated><title type='text'>csmail双机配置</title><content type='html'>&lt;p&gt;邮件启动&lt;br&gt;/etc/init.d/mysql.server.front.csmail start&lt;br&gt;/etc/init.d/mysql.server.csmail start&lt;br&gt;/etc/init.d/csmail.rc start&lt;br&gt;邮件件关闭&lt;br&gt;/etc/init.d/csmail.rc stop&lt;br&gt;/etc/init.d/mysql.server.csmail stop&lt;br&gt;/etc/init.d/mysql.server.front.csmail stop&lt;/p&gt; &lt;p&gt;1.准备双机环境&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 操作系统:&amp;nbsp;&amp;nbsp;&amp;nbsp; CentOS release 5.8 (Final)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 三台机器:&amp;nbsp;&amp;nbsp;&amp;nbsp; csmail_ha1&amp;nbsp;&amp;nbsp;&amp;nbsp; --ha1&amp;nbsp;&amp;nbsp;&amp;nbsp; --192.168.0.21&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt;第一台csmail&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; csmail_ha2&amp;nbsp;&amp;nbsp;&amp;nbsp; --ha2&amp;nbsp;&amp;nbsp;&amp;nbsp; --192.168.0.22&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt;第二台csmail&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; csmail_nfs&amp;nbsp;&amp;nbsp;&amp;nbsp; --nfs&amp;nbsp;&amp;nbsp;&amp;nbsp; --192.168.0.30&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt;两台机器的共用存储，使用nfs&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --vip&amp;nbsp;&amp;nbsp;&amp;nbsp; --192.168.0.20&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt;虚拟IP&lt;br&gt;2.相关软件&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; csmail邮件8.12版本&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; heartbeat-2.1.4.tar.bz2&lt;br&gt;3.系统配置&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .nfs配置&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在csmail_nfs主机建/csdata目录，并共享出去&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /csdata 192.168.0.0/24(rw,sync,no_root_squash)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .以下操作要在ha1和ha2都做一次&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .安装依赖组件:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yum groupinstall -y &quot;Legacy Software Development&quot; &quot;Legacy Software Support&quot; \&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;Development Libraries&quot; &quot;Development Tools&quot;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .更新ha1和ha2对应的主机名&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .创建用户和用户组，要保证两台机器的uid和gid相同,组id为600，uid为601&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; groupadd -g 600 haclient&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; useradd -u 601 -g haclient hacluster&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .设置/etc/hosts文件&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; csmail_ha1&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.21&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; csmail_ha2&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.0.22&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 同时指出自己是哪台机器&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 127.0.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp; csmail_ha? localhost.localdomain localhost &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ::1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; csmail_ha? localhost6.localdomain6 localhost6&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .设置/etc/sysconfig/networks&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NETWORKING=yes&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NETWORKING_IPV6=yes&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #HOSTNAME=localhost.localdomain&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HOSTNAME=csmail_ha?&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .设置/etc/reslov.conf&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 第一行：search localdomain&amp;nbsp; 先查找本地hosts文件&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;4.安装过程&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a.安装邮件&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .在ha1安装邮件，执行setup.sh安装&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ha1查看/etc/passwd，找到以下三个对应的行，并复制到ha2的passwd文件中&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; csmail:x:500:501::/opt/foundir/csmail:/bin/bash&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; postfix:x:501:503::/home/postfix:/bin/bash&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysql:x:502:504::/home/mysql:/bin/bash&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ha1查看/etc/group，找到以下个对应的行，并复制到ha2的group文件中&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; postdrop:x:500:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foundir:x:501:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; csmail:x:502:csmail&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; postfix:x:503:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysql:x:504:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .在ha2安装邮件，执行setup.sh安装&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .关闭开机自动启动,后面程序的启动会由heartbeat来控制&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chkconfig mysql.server.front.csmail off&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chkconfig mysql.server.csmail off&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chkconfig csmail.rc off&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; b.安装heartbeat&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .上传软件包Heartbeat-2-1-STABLE-2.1.4.tar.bz2并解压&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .cd到解压出来的目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ./bootstrap --prefix=/opt/heartbeat &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .cp /opt/heartbeat/share/doc/heartbeat-2.1.4/{ha.cf,haresources,authkeys} /opt/heartbeat/etc/ha.d/&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .mv /etc/init.d/*csmail* /opt/heartbeat/etc/ha.d/resource.d/&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; c.三个文件配置&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ha.cf文件&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; use_logd yes&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; debugfile /var/log/rhythmha-debug&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logfile /var/log/rhythmha-log&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logfacility&amp;nbsp;&amp;nbsp;&amp;nbsp; local0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; udpport 694&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; keepalive 2&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deadtime 30&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; warntime 10&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initdead 120&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hopfudge 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ucast eth0 192.168.0.21&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; auto_failback off&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; node&amp;nbsp;&amp;nbsp;&amp;nbsp; csmail_ha1 csmail_ha2&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .haresources文件&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; csmail_ha1 192.168.0.20 rhythmha_mount httpd mysql.server.csmail mysql.server.front.csmail csmail.rc rhythmha_report&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .authkeys文件&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; auth 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 crc&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 sha1 HI!&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 md5 Hello!&lt;br&gt;5，启动测试&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/2552611832921325404/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/12/csmail.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/2552611832921325404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/2552611832921325404'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/12/csmail.html' title='csmail双机配置'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-356396391148562846</id><published>2012-12-12T17:44:00.001-08:00</published><updated>2012-12-12T17:44:59.792-08:00</updated><title type='text'>apache优化</title><content type='html'>&lt;p&gt;Apache Tuning&lt;br&gt;Apache 2.0 許多功能和改進，編譯時要開啟 worker mpm 模組，否則為了和 Apache 1.3 相容會自動選擇 prefork 模式。&lt;/p&gt; &lt;p&gt;steven $ ./configure --prefix=/usr/local/httpd --enable-isapi --enable-file-cache --enable-echo --disable-charset-lite --enable-charset-lite --enable-cache --enable-disk-cache --enable-mem-cache&amp;nbsp; --enable-example --enable-case-filter --enable-case-filter-in --enable-dumpio --enable-auth-ldap --enable-ext-filter --enable-deflate --enable-log-forensic --enable-logio --enable-mime-magic --enable-headers --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-ssl --enable-optional-hook-export --enable-optional-hook-import --enable-optional-fn-import --enable-http --enable-cgi --enable-cgid --enable-speling --enable-rewrite --enable-so --with-suexec-uidmin --with-suexec-gidmin --with-suexec-logfile --with-suexec-safepath --enable-static-htpasswd --enable-static-htdigest --enable-static-rotatelogs --enable-static-logresolve --with-mpm=worker&lt;/p&gt; &lt;p&gt;在一個高等級的硬體設備下，以下的設定在同一時間可以處理 5000 個連線。&lt;/p&gt; &lt;p&gt;root # vi /usr/local/httpd/conf/extra/httpd-mpm.conf&lt;br&gt;-------------------------------------------------------&lt;br&gt;&amp;lt;IfModule mpm_worker_module&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Apache 啟動時先開啟 3 個 Threads&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; StartServers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxClients&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5000&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # 最大的連線數&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServerLimit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MinSpareThreads&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 50&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxSpareThreads&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ThreadLimit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ThreadsPerChild&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MaxRequestsPerChild&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 200&lt;br&gt;&amp;lt;/IfModule&amp;gt;&lt;br&gt;-------------------------------------------------------&lt;/p&gt; &lt;p&gt;當然，為了效能，我建議關閉 DNS 的查尋和提高 MaxKeepAliveRequests 的選項並且把 Timeout 值調低。&lt;/p&gt; &lt;p&gt;root # vi /usr/local/httpd/conf/extra/httpd-default.conf&lt;br&gt;-------------------------------------------------------&lt;br&gt;# 連線超過 60 秒失敗就重試&lt;br&gt;Timeout 60&lt;br&gt;# 開啟 KeepAlive&lt;br&gt;KeepAlive On&lt;br&gt;# 設定同一時間可容許的 KeppAlive 量&lt;br&gt;MaxKeepAliveRequests 5000&lt;br&gt;# KeepAlive 多久要自動 Timeout 掉&lt;br&gt;KeepAliveTimeout 3&lt;br&gt;# 關掉那費時的 DNS 查尋&lt;br&gt;HostnameLookups Off&lt;br&gt;-------------------------------------------------------&lt;br&gt;note: 為什麼 Timeout 值要縮短，在一個大流量的網路服務（良好的硬體設備，高頻寬的網路速度）在同一時間是需要能夠服務更多的使用者，如果 Timeout 太高，那麼在連線佔滿時下一個連線請求就要等到有連線結束掉才能夠被服務；相反的若設定太低那麼就要常常重新連線。不過重新連線一般的使用者並不會有太大的感覺（TCP/IP 的三向交握很快），所以不要讓伺服器一直在等待沒有請求的連線。&lt;/p&gt; &lt;p&gt;在一台設備良好的伺服器上，上面如果只有一項服務的話，那麼就應該把大部份的資源都留給它，比方說 Web 服務。&lt;br&gt;在 Linux 上，根據啟動時加以調整 nice 值也可以讓 Apache 的處理速度快一點。&lt;br&gt;nice 的調整範圍是在 -20 ~ +19 之間，如果不設定的設所有服務都是在 0。nice 的關念，就是它的值越低，就離 CPU 越近，那麼就跟容易取得 CPU 的資源，相反的在正數越高（+1 ~ +19）越不容易得到回應。&lt;/p&gt; &lt;p&gt;啟動 apache 時就把 nice 值調到 -10&lt;br&gt;root # nice -10 /usr/local/httpd/bin/apachectl start &amp;amp;&lt;/p&gt; &lt;p&gt;如果系統已經在啟動的話，可以使用 renice 來重新設定其 nice 值。&lt;br&gt;找出 apache 的 PID，並重新設定&lt;br&gt;root # netstat -ntulp | grep httpd&lt;br&gt;tcp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 0.0.0.0:80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.0.0.0:*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LISTEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 19249/httpd&lt;br&gt;root # renice -10 19249&lt;br&gt;當你調整完畢之後，可以使用 top 指令查看 NI 欄位的變化。&lt;/p&gt; &lt;p&gt;把不要必要的服務全部都關掉以便適出更多的可用資源讓 Apache 使用，當系統安裝時，大部份的系統建置者通常會把所有的套件都裝上去，以免未來要使用的功能不齊全，當然這是我們無法阻止的，但是我們卻可以控制系統的服務。&lt;br&gt;如果你使用 Redhat/Fedora 系統 Linux OS 的話，可以使用 chkconfig 來看看系統啟動時到底有那些服務被開啟。&lt;br&gt;root $ chkconfig --list&lt;br&gt;~ 以上略 ~&lt;br&gt;rawdevices&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:off&amp;nbsp;&amp;nbsp; 3:off&amp;nbsp;&amp;nbsp; 4:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 5:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;acpid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:off&amp;nbsp;&amp;nbsp; 3:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 4:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 5:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;ipchains&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 3:off&amp;nbsp;&amp;nbsp; 4:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 5:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;iptables&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 3:off&amp;nbsp;&amp;nbsp; 4:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 5:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;crond&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 3:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 4:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 5:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;anacron&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 3:off&amp;nbsp;&amp;nbsp; 4:off&amp;nbsp;&amp;nbsp; 5:off&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;lpd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 3:off&amp;nbsp;&amp;nbsp; 4:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 5:off&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;xfs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 3:off&amp;nbsp;&amp;nbsp; 4:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 5:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;ntpd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:off&amp;nbsp;&amp;nbsp; 3:off&amp;nbsp;&amp;nbsp; 4:off&amp;nbsp;&amp;nbsp; 5:off&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;portmap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:off&amp;nbsp;&amp;nbsp; 3:off&amp;nbsp;&amp;nbsp; 4:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 5:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;xinetd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:off&amp;nbsp;&amp;nbsp; 3:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 4:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 5:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;autofs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:off&amp;nbsp;&amp;nbsp; 3:off&amp;nbsp;&amp;nbsp; 4:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 5:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;nfs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:off&amp;nbsp;&amp;nbsp; 3:off&amp;nbsp;&amp;nbsp; 4:off&amp;nbsp;&amp;nbsp; 5:off&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;nfslock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:off&amp;nbsp;&amp;nbsp; 3:off&amp;nbsp;&amp;nbsp; 4:on&amp;nbsp;&amp;nbsp;&amp;nbsp; 5:off&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;identd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0:off&amp;nbsp;&amp;nbsp; 1:off&amp;nbsp;&amp;nbsp; 2:off&amp;nbsp;&amp;nbsp; 3:off&amp;nbsp;&amp;nbsp; 4:off&amp;nbsp;&amp;nbsp; 5:off&amp;nbsp;&amp;nbsp; 6:off&lt;br&gt;~ 以下略 ~&lt;br&gt;root #&lt;br&gt;使用 chkconfig 可以看到各服務在系統那個 system level 時會被關閉或開啟。&lt;br&gt;如果你的機器只有單純的服務網頁服務，那麼就不應該要有 NFS、telnet、ldap、samba、lpd、cups、mysql 或會佔用大量記憶體及 CPU 資源的程式。尤其是像資料庫服務。&lt;br&gt;以下示範如何把 MySQL 在開機時不啟動。&lt;/p&gt; &lt;p&gt;root # chkconfig mysqld off&lt;/p&gt; &lt;p&gt;如果 MySQL 正在執行，要把它關閉的話。&lt;/p&gt; &lt;p&gt;root # service mysqld stop&lt;br&gt;或&lt;br&gt;root # /etc/init.d/mysqld stop&lt;/p&gt; &lt;p&gt;重新編譯 Apache!&lt;br&gt;如果你對於系統廠商所附的套件不滿意，或是想要轉到新版本的 Apache 時，那麼就要編譯一下 Apache，在編譯時可能需要注意一些事項：&lt;br&gt;不要把所有的模組都編上去&lt;br&gt;確認你的 GCC 版本&lt;/p&gt; &lt;p&gt;不要把所有的模組都編上去&lt;br&gt;如果一開始就決定要使用 JSP 開發程式，那麼就不需要把 PHP 模組都套進來；若不需要使用到 LDAP 認證，那也不需要把 LDAP 的模組也一起編進來，總之，在編譯你的 Apache 之前，那麼就應該要先確認環境狀況而不是一頭腦的全都加進去。&lt;br&gt;確認你的 GCC 版本&lt;br&gt;說真的，小弟對於程式並不是很熟，所以無法明確的指出 GCC 版本對於編譯出來的程式有什麼樣的結果。不過可以證實的是，有些新版本的 GCC 在編譯時，可以讓程式更小執行更快。&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/356396391148562846/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/12/apache.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/356396391148562846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/356396391148562846'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/12/apache.html' title='apache优化'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-960174156153719304</id><published>2012-12-12T17:43:00.001-08:00</published><updated>2012-12-12T17:43:26.079-08:00</updated><title type='text'>Heartbeat常见问题-centos6.2</title><content type='html'>&lt;p&gt;[日期：2012-11-06]&lt;br&gt;来源：Linux社区&amp;nbsp; 作者：crazylinux&lt;br&gt;[字体：&lt;a href=&quot;http://www.linuxidc.com/Linux/2012-11/&quot;&gt;大&lt;/a&gt; &lt;a href=&quot;http://www.linuxidc.com/Linux/2012-11/&quot;&gt;中&lt;/a&gt; &lt;a href=&quot;http://www.linuxidc.com/Linux/2012-11/&quot;&gt;小&lt;/a&gt;]  &lt;p&gt;研究一下Heartbeat，其官方下载网站：http://www.linux-ha.org/wiki/Downloads &lt;p&gt; 目前版本：&lt;br&gt; ClusterLabs-resource-agents-v3.9.2-0-ge261943.tar.gz&lt;br&gt; Heartbeat-3-0-7e3a82377fa8.tar.bz2&lt;br&gt; Pacemaker-1-2-cc0e4d295e29.tar.bz2&lt;br&gt; Reusable-Cluster-Components-glue--glue-1.0.9.tar.bz2 &lt;p&gt; 在安装过程中遇到各种错误，方便网上童靴会遇到和我一样的问题，我把解决办法整理如下，也同时希望大家补充： &lt;p&gt; 我用的系统是：&lt;br&gt; [root@host2 ~]# cat /etc/&lt;a href=&quot;http://www.linuxidc.com/topicnews.aspx?tid=10&quot;&gt;RedHat&lt;/a&gt;-release &lt;br&gt;CentOS release 6.2 (Final)&lt;br&gt; [root@host2 ~]# uname -a&lt;br&gt; Linux host2.linuxbrother.com 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux &lt;p&gt;&lt;strong&gt; 1、&lt;/strong&gt;libtoolize: `COPYING.LIB&#39; not found in `/usr/share/libtool/libltdl&#39;&lt;br&gt; 解决办法：&lt;br&gt; yum -y install libtool-ltdl-devel&lt;br&gt;&lt;strong&gt;2、&lt;/strong&gt;checking for special libxml2 includes... configure: error: libxml2 config not found&lt;br&gt; 解决办法：&lt;br&gt; yum -y install libxml2&lt;br&gt;&lt;strong&gt;3、&lt;/strong&gt;configure: error: BZ2 libraries not found&lt;br&gt; 解决办法：&lt;br&gt; yum -y install bzip2-devel glib2-devel&lt;br&gt;前三种感觉是常识性问题，各位如果经常安装源码包的话这种错误解决起来应该很easy的。&lt;br&gt;&lt;strong&gt;4、&lt;/strong&gt;安装Reusable-Cluster-Components-glue--glue-1.0.9&lt;br&gt; ./.libs/libplumb.so: undefined reference to `uuid_parse’&lt;br&gt; ./.libs/libplumb.so: undefined reference to `uuid_generate’&lt;br&gt; ./.libs/libplumb.so: undefined reference to `uuid_copy’&lt;br&gt; ./.libs/libplumb.so: undefined reference to `uuid_is_null’&lt;br&gt; ./.libs/libplumb.so: undefined reference to `uuid_unparse’&lt;br&gt; ./.libs/libplumb.so: undefined reference to `uuid_clear’&lt;br&gt; ./.libs/libplumb.so: undefined reference to `uuid_compare’&lt;br&gt; collect2: ld returned 1 exit status&lt;br&gt; gmake[2]: *** [ipctest] Error 1&lt;br&gt; gmake[2]: Leaving directory `/root/Reusable-Cluster-Components-glue-1.0.6/lib/clplumbing’&lt;br&gt; gmake[1]: *** [all-recursive] Error 1&lt;br&gt; gmake[1]: Leaving directory `/root/Reusable-Cluster-Components-glue-1.0.6/lib’&lt;br&gt; make: *** [all-recursive] Error 1&lt;br&gt; 解决办法：&lt;br&gt;&amp;nbsp; ./configure --prefix=$PREFIX&amp;nbsp; --with-daemon-user=${CLUSTER_USER} --with-daemon-group=${CLUSTER_GROUP} --enable-fatal-warnings=no LIBS=&#39;/lib64/libuuid.so.1&#39;&lt;br&gt; 各位在./configure的时候指定一下LIBS，如果是32位系统的话改成LIBS=&#39;/lib/libuuid.so.1&#39;。下面ClusterLabs-resource Heartbeat在./configure的时候都指定一下，要不然继续报错。&lt;br&gt;&lt;strong&gt; 5、&lt;/strong&gt;安装Heartbeat-3-0-7&lt;br&gt; uuid_parse.c:250: error: expected ‘;’, ‘,’ or ‘)’ before ‘uu’&lt;br&gt; uuid_parse.c:469: error: expected ‘)’ before ‘out’&lt;br&gt; uuid_parse.c:484: error: expected ‘)’ before ‘out’&lt;br&gt; uuid_parse.c:512: error: expected ‘)’ before ‘out’&lt;br&gt; gmake[1]: *** [uuid_parse.lo] Error 1&lt;br&gt; gmake[1]: Leaving directory `/usr/src/Heartbeat-3-0-7e3a82377fa8/replace&#39;&lt;br&gt; make: *** [all-recursive] Error 1&lt;br&gt; 解决办法：&lt;br&gt; # ./configure --prefix=$PREFIX --enable-fatal-warnings=no LIBS=&#39;/lib64/libuuid.so.1&#39;&lt;br&gt;gmake[1]: --xinclude: Command not found&lt;br&gt; gmake[1]: *** [heartbeat.8] Error 127&lt;br&gt; gmake[1]: Leaving directory `/usr/src/Heartbeat-3-0-7e3a82377fa8/doc&#39;&lt;br&gt; make: *** [all-recursive] Error 1&lt;br&gt; 解决办法：&lt;br&gt; # yum -y install libxslt-devel&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/960174156153719304/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/12/heartbeat-centos62.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/960174156153719304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/960174156153719304'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/12/heartbeat-centos62.html' title='Heartbeat常见问题-centos6.2'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-1153534741504126087</id><published>2012-11-02T01:08:00.001-07:00</published><updated>2012-11-02T01:08:40.310-07:00</updated><title type='text'>Vdspam反垃圾邮件问题收集(转)</title><content type='html'>&lt;p&gt;以下没有标记 ID 的是翻译&lt;b&gt;Dspam&lt;/b&gt;官方的FAQ，因为本人的英文水平有限，不对之处还请指出&lt;br&gt;1、&lt;br&gt;Q： 什么是&lt;b&gt;DSPAM&lt;/b&gt;？为什么我要使用它？&lt;br&gt;A： &lt;b&gt;DSPAM&lt;/b&gt;是一个智能的自适应学习什么是垃圾邮件垃的过滤器，而不是根据每个用户的个人电子邮件的行为。它的目的是为全系统的过滤和第三方一体化如果您正在寻找一个可扩展、快速、准确的垃圾邮件过滤器，并且能够自适应学习，您应该使用&lt;b&gt;DSPAM&lt;/b&gt;。虽然这是一个垃圾邮件过滤器的设计，&lt;b&gt;DSPAM&lt;/b&gt;表现出极大的能力。&lt;br&gt;2、&lt;br&gt;Q： 什么样的MTA可以和&lt;b&gt;DSPAM&lt;/b&gt;工作？&lt;br&gt;A： &lt;b&gt;DSPAM&lt;/b&gt;可以与任何的MTA （Mail Transfer Agent）Sendmail, Postfix, Exim, Courier, Communigate Pro, and QMail 工作&lt;br&gt;3、&lt;br&gt;Q： 需要多长时间开始过滤垃圾邮件？&lt;br&gt;A： 从一个完全空白库开始，&lt;b&gt;DSPAM&lt;/b&gt;的头几天到一个星期左右，普遍攀升至约95-98 ％的准确度，取决于您收到多少邮件。&lt;br&gt;4、&lt;br&gt;Q： &lt;b&gt;DSPAM&lt;/b&gt;和SpamAssassin不同之处 ？&lt;br&gt;A： 双方的共同目标是消灭垃圾邮件。 &lt;p&gt;SpamAssassin 确实使用匹配规则来标识可能是垃圾邮件的邮件，但它采用了一种概率统计的、基于分数的方法来对消息分类，而没有采用二进制方法。它没有寻求创建那些将消息标识为“一定是垃圾邮件”或“一定不是垃圾邮件”的规则，而是使用利用概率来推断给定的消息是垃圾邮件的可能性的规则。 &lt;p&gt;&lt;b&gt;DSPAM&lt;/b&gt;的基础是相信机器学习（基本人工智能）可以本身解决垃圾邮件问题，而不需要人为维持的规则，不准确的黑名单或任何hodge-podge 的解决方案。&lt;b&gt;DSPAM&lt;/b&gt;的一个中央垃圾邮件检测功能集成了先进的的统计分析。这导致了各级的准确性高达10倍，除了极少数误报。&lt;b&gt;DSPAM&lt;/b&gt;细分每封电子邮件的部分，分析了历史数据的每个组件，并确定了特征来判断一封电子邮件通过。虽然&lt;b&gt;DSPAM&lt;/b&gt;支持许多pre-filters, post-filters和其他层面的分析，其核心功能完全在于在自适应学习和语言分析。仅此一点就已经产生了各级精度最高达到99.991 ％ 。&lt;br&gt;5、&lt;br&gt;Q： 收到的垃圾邮件该怎么办？&lt;br&gt;A： &lt;b&gt;DSPAM&lt;/b&gt;的目的是&#39;学习&#39;您会收到的垃圾邮件的基础上（和或不是），所以当您收到垃圾邮件，您可以在extmail的web界面提交，&lt;b&gt;DSPAM&lt;/b&gt;将自动进行分析和学习。另外，用户可以通过&lt;b&gt;DSPAM&lt;/b&gt;的WEB界面提交，这是一个极好的途径 ，为确保&lt;b&gt;DSPAM&lt;/b&gt;不会过时，需继续学习新技巧的垃圾邮件。&lt;br&gt;6、&lt;br&gt;Q： 什么是&lt;b&gt;DSPAM&lt;/b&gt;隔离区？&lt;br&gt;A： 每个用户都有一个隔离区，拥有&lt;b&gt;DSPAM&lt;/b&gt;认为是垃圾邮件的信息，而不是简单地删除这些邮件，隔离区使用户能够识别false positive和不定期重新学习是误判的电子邮件 。 这是一个非常重要的步骤在学习过程中 ，据了解 ， 没有垃圾邮件过滤器100 ％的准确，因此，重要的是能够了解自己的错误。 &lt;b&gt;DSPAM&lt;/b&gt;的隔离使它比其他一些解决办法更容易管理的垃圾邮件。&lt;br&gt;7、&lt;br&gt;Q： &lt;b&gt;DSPAM&lt;/b&gt;支持白名单吗？&lt;br&gt;A： &lt;b&gt;DSPAM&lt;/b&gt;支持白名单功能 ，&lt;b&gt;DSPAM&lt;/b&gt;的白名单是一个自动功能的贝叶斯过滤机制。 是训练&lt;b&gt;DSPAM&lt;/b&gt;建立一个内部的白名单。可自动识别谁最绝对不会发送垃圾邮件。&lt;br&gt;8、&lt;br&gt;Q： &lt;b&gt;DSPAM&lt;/b&gt;支持病毒过滤吗？&lt;br&gt;A： &lt;b&gt;DSPAM&lt;/b&gt;本身不过滤病毒，需要调用Clamav来进行病毒过滤。&lt;br&gt;以下是收集社区一些兄弟的解决方法&lt;br&gt;1、&lt;br&gt;Q：mini_httpd 在这当中起何作用，是替代 apache 吗？&lt;br&gt;A： ID：liushaobo&amp;nbsp;&amp;nbsp; 是的，这样比较方便，省去大家配置时在权限方面的不少麻烦；当然你要是一定要用apache也可以；&lt;br&gt;2、&lt;br&gt;Q：&lt;b&gt;DSPAM&lt;/b&gt;有没有类似spamlocker的那样的开关？也就是说假如我使用有什么问题的话，通过修改哪几个配置就可以停用&lt;b&gt;DSPAM&lt;/b&gt;&lt;br&gt;A： ID：liushaobo&amp;nbsp;&amp;nbsp; 把在main.cf 和master.cf 里做的配置 注释就可以了，再把相关的 &lt;b&gt;DSPAM&lt;/b&gt; 服务停止，你做之前可以先把要改的文件备份一下，&lt;br&gt;3、&lt;br&gt;Q：Trust 的这几个账户是什么意思 是连接数据库的账户还是什么？&lt;br&gt;A： ID：hondasky&amp;nbsp;&amp;nbsp; 如果没有上面的账户，其它用户将没有权限操作 邮件存储目录的话就会报这个错误&lt;br&gt;Apr 24 11:02:19 mail &lt;b&gt;dspam&lt;/b&gt;[8365]: Option --user requires special privileges when user does not match current user, e.g.. root or Trusted User&lt;br&gt;4、&lt;br&gt;Q： 怎么判断&lt;b&gt;DSPAM&lt;/b&gt; 就在工作了呢？&lt;br&gt;A： ID：liushaobo&amp;nbsp; 如果&lt;b&gt;dspam&lt;/b&gt;工作正常，邮件的信头会出现以下标识，&lt;br&gt;X-&lt;b&gt;DSPAM&lt;/b&gt;-Result: Spam&lt;br&gt;X-&lt;b&gt;DSPAM&lt;/b&gt;-Processed: Fri Apr 3 10:40:02 2009&lt;br&gt;X-&lt;b&gt;DSPAM&lt;/b&gt;-Confidence: 0.8222&lt;br&gt;X-&lt;b&gt;DSPAM&lt;/b&gt;-Probability: 1.0000&lt;br&gt;X-&lt;b&gt;DSPAM&lt;/b&gt;-Signature: 49d57702286051336712104&lt;br&gt;X-&lt;b&gt;DSPAM&lt;/b&gt;-Factors: 15,&lt;br&gt;5、&lt;br&gt;Q：&lt;b&gt;dspam&lt;/b&gt;-web里有如下错误提示：&lt;br&gt;An Error Has Occured&lt;br&gt;The following error occured while trying to process your request:&lt;br&gt;No historical data is available.&lt;br&gt;A： ID：liushaobo&amp;nbsp;&amp;nbsp; 用户的对&lt;b&gt;dspam&lt;/b&gt; 的 data目录的访问权限不够或邮件收发没有经过&lt;b&gt;dspam&lt;/b&gt;&lt;br&gt;6、&lt;br&gt;Q：举报功能 好像不起作用哦 我把一份邮件举报为垃圾邮件下次他会收到正常收件箱里去哦 是怎么会事？&lt;br&gt;A： ID：liushaobo&amp;nbsp;&amp;nbsp; &lt;b&gt;Dspam&lt;/b&gt;默认要学习五次，才会把邮件识别为垃圾邮件&lt;br&gt;7、&lt;br&gt;Q：Preference &quot;spamAction=tag&quot; //曾经在其他文档中看到过此参数注释掉，否则不能更改message handling，不太理解其含义，个人认为应该是设置Preference &quot;spamSubject=**SPAM**&quot;信件标题无法正常加载**SPAM**；&lt;br&gt;A： ID：liushaobo&amp;nbsp;&amp;nbsp; &quot;spamAction= &quot; 有三种动作，一个隔离、二是加标记tag、三是投递 deliver&lt;br&gt;8、&lt;br&gt;Q： 若训练垃圾邮件的时候，出现以下错误：&lt;br&gt;Signature retrieval for &#39;49f1790399401343511188&#39; failed&lt;br&gt;Unable to find a valid signature. Aborting.&lt;br&gt;process_message returned error -5. dropping message.&lt;br&gt;A： ID：wendyzh&amp;nbsp;&amp;nbsp;&amp;nbsp; MySQLUIDInSignature on //此项一定要打开 &lt;p&gt;9、&lt;br&gt;Q： &lt;b&gt;DSPAM&lt;/b&gt;举报功能 好像不起作用哦&amp;nbsp; 我把一份邮件举报为垃圾邮件下次他会收到正常收件箱里去哦 是怎么会事？ MAILDROP 我已经配置好了&lt;br&gt;A： ID：liushaobo&amp;nbsp;&amp;nbsp; &lt;b&gt;DSPAM&lt;/b&gt;默认要学习五次，才会识别，这是为了防止误判，可以通过修改 Feature tb=x&amp;nbsp;&amp;nbsp; 参数来改变次数，x 表示数字； &lt;p&gt;10、&lt;br&gt;Q：我要自己再训练如何操作呢？&lt;br&gt;A： ID：hzqbbc&amp;nbsp;&amp;nbsp; 在webmail点“这是垃圾邮件”、“这不是垃圾邮件”。（前提是spam_report.pl里指定的dspamc路径正确）或在&lt;b&gt;dspam&lt;/b&gt;-web 都可以直接训练&lt;b&gt;dspam&lt;/b&gt;的。&lt;br&gt;11、&lt;br&gt;Q： &lt;b&gt;dspam&lt;/b&gt;-webui 中出现很多类型为resend的,这算什么呢?&lt;br&gt;A： ID：xueron&amp;nbsp;&amp;nbsp; resend的出现是因为同一封邮件有多个收件人，但是&lt;b&gt;dspam&lt;/b&gt;会分别为两个人扫描，因为可能启动用户级过滤的话，两个收件人的判断结果可能不一样。这个时候，就会出现resend的标记，因为邮件的msgid是一样的。&lt;br&gt;12、&lt;br&gt;Q：&amp;nbsp; 内网邮件别名无法发送，全部收到退信说user unkown，bcc 时不会监控发出的邮件&lt;br&gt;A： ID：liushaobo&amp;nbsp;&amp;nbsp; 修改 main.cf 文件的 #receive_override_options = no_address_mappings&lt;br&gt;修改master.cf 文件中的 -o receive_override_options=no_address_mappings,no_unknown_recipient_checks,no_header_body_checks&lt;br&gt;13、&lt;br&gt;Q：&amp;nbsp; 每封邮件，不管正常或者是垃圾邮件用都有!&lt;b&gt;DSPAM&lt;/b&gt;:1,49179586289971925617086!&amp;nbsp; 的标识，现在想去掉。在&lt;a name=&quot;baidusnap2&quot;&gt;&lt;/a&gt;&lt;b&gt;mysql&lt;/b&gt;做了把用户的signature 置空也不行，在&lt;b&gt;dspam&lt;/b&gt;.conf设置把相关项关掉也没有成功。&lt;br&gt;A： ID：zhanghuiwo&amp;nbsp;&amp;nbsp; Preference &quot;signatureLocation=message&quot;&amp;nbsp; 改为headers&lt;br&gt;14、&lt;br&gt;Q： &lt;b&gt;dspam&lt;/b&gt;-web 不能生成图形&lt;br&gt;A： ID：liushaobo&amp;nbsp; 请安装&lt;b&gt;dspam&lt;/b&gt;-web 需要用到的Perl图形模块： perl-GD、perl-GDGraph、perl-GDTextUtil、perl-GD-Graph3d&lt;br&gt;15、&lt;br&gt;Q： &lt;b&gt;Dspam&lt;/b&gt;出现以下日志 ：&lt;br&gt;Jun 23 16:19:28 localhost &lt;b&gt;dspam&lt;/b&gt;[4642]: Unable to determine the destination user&lt;br&gt;A： ID：hzqbbc&amp;nbsp; &lt;b&gt;dspam&lt;/b&gt;没有设定 --user&amp;nbsp; 参数&lt;br&gt;16、&lt;br&gt;Q： 请问&lt;b&gt;Dspam&lt;/b&gt;的数据库是否一定要安装？hashdb是数据库吗？&lt;br&gt;A： ID：xueron&amp;nbsp;&amp;nbsp; hashdb是内建默认的数据库，用户量小的话，用它很好，速度快。用户量多的话，建议使用&lt;b&gt;mysql&lt;/b&gt;&lt;br&gt;17、&lt;br&gt;Q： 能不能让&lt;b&gt;dspam&lt;/b&gt;只学习一次，就能作用于服务器上面的全部用户呢？&lt;br&gt;A： ID：xueron&amp;nbsp;&amp;nbsp; 当作全局过滤使用，--user 这个地方可以指定为一个固定的虚拟帐号，并且学习的时候都用这个虚拟帐号学习。&lt;br&gt;18、&lt;br&gt;Q： 如何导出我用&lt;b&gt;dspam&lt;/b&gt;训练好的数据库？&lt;br&gt;A： ID：liushaobo&amp;nbsp;&amp;nbsp; 导出&lt;b&gt;mysql&lt;/b&gt;的&lt;b&gt;dspam&lt;/b&gt;库就可以了，如果还要history的话，把 &lt;b&gt;dspam&lt;/b&gt;&amp;nbsp; 的data目录也备份&lt;br&gt;19、&lt;br&gt;Q： &lt;b&gt;Dspam&lt;/b&gt;工作正常的情况下，Internet 邮件头没有发现类似X-&lt;b&gt;DSPAM&lt;/b&gt;-*的标记&lt;br&gt;A： ID：liushaobo&amp;nbsp;&amp;nbsp; 如果按照《&lt;b&gt;Dspam&lt;/b&gt;-Amavisd-SpamAssassin-Clamav for EMOS》的设置，因为&lt;b&gt;Dspam&lt;/b&gt;对本地网络不过滤，最好从Internet发一封信测试；&lt;br&gt;20、&lt;br&gt;Q： 《&lt;b&gt;Dspam&lt;/b&gt;-Amavisd-SpamAssassin-Clamav for EMOS》这篇文章的10024、10025、10028这三个端口的作用是什么？&lt;br&gt;A： ID：hzqbbc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ctfilter(10028) &lt;b&gt;dspam&lt;/b&gt; ==&amp;gt; 10024 amavisd ==&amp;gt; 10025 (smtpd)&lt;br&gt;21、&lt;br&gt;Q： 《&lt;b&gt;Dspam&lt;/b&gt;-Amavisd-SpamAssassin-Clamav for EMOS》这篇文章，复制 &lt;b&gt;dspam&lt;/b&gt;.pm 模块，提示找不到/usr/lib/perl5/vendor_perl/5.8.5/Mail/SpamAssassin/Plugin路径。&lt;br&gt;A： ID：liushaobo&amp;nbsp;&amp;nbsp; EMOS里SA的Plugin路径和你自己的SA的Plugin路径不一样；要自己找一下路径了；或者用EMOS里面的rpm包；&lt;br&gt;22、&lt;br&gt;Q： 一个用户发同一封信到a&amp;lt;at&amp;gt;domain和b&amp;lt;at&amp;gt;domain，&lt;b&gt;dspam&lt;/b&gt; 给出2种不同的判断结果，&amp;lt;at&amp;gt;domain把信当成是(X-&lt;b&gt;DSPAM&lt;/b&gt;-Result: spam)垃圾邮件，b&amp;lt;at&amp;gt;domain把信当成(X-&lt;b&gt;DSPAM&lt;/b&gt;-Result: Innocent)正常邮件。&lt;br&gt;A： ID：xueron&amp;nbsp;&amp;nbsp; 在&lt;b&gt;dspam&lt;/b&gt;.conf中新增IgnoreHeader To参数，忽略邮件的一些标题。&lt;br&gt;23、&lt;br&gt;Q： &lt;b&gt;Dspam&lt;/b&gt; 源代码&lt;a name=&quot;baidusnap1&quot;&gt;&lt;/a&gt;&lt;b&gt;编译&lt;/b&gt;后，无法生成 libmysql_drv.so 文件&lt;br&gt;A： ID：liushaobo&amp;nbsp;&amp;nbsp; &lt;b&gt;dspam&lt;/b&gt;的drv分两种，一是静态库，二是动态库，官方的&lt;b&gt;dspam&lt;/b&gt;的drv是动态加载的，&lt;b&gt;编译&lt;/b&gt;时指定两个&lt;b&gt;mysql&lt;/b&gt;_drv 。用逗号隔开。动态库可以在&lt;b&gt;dspam&lt;/b&gt;.conf中指定&amp;nbsp; &lt;b&gt;mysql&lt;/b&gt;_drv，pgsql_drv，sqlite_drv，sqlite3_drv，hash_drv，&lt;br&gt;24、&lt;br&gt;Q： &lt;b&gt;Dspam&lt;/b&gt;的history里面还能保留更多的记录吗？&lt;br&gt;A： ID：zhaodongxi&amp;nbsp;&amp;nbsp; 修改configure.pl文件的$CONFIG{&#39;HISTORY_SIZE&#39;} = number&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/1153534741504126087/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/11/vdspam.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/1153534741504126087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/1153534741504126087'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/11/vdspam.html' title='Vdspam反垃圾邮件问题收集(转)'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-3776894114916357018</id><published>2012-10-25T22:00:00.001-07:00</published><updated>2012-10-25T22:00:41.848-07:00</updated><title type='text'>修改mysql密码</title><content type='html'>&lt;pre&gt;1.使用mysqladmin修改mysql密码&lt;br /&gt;C:\&amp;gt;mysqladmin -udbuser -p password newpass&lt;br /&gt;Enter password: oldpass&lt;br /&gt;当然用此命令的前提是你把mysql加入了环境变量，如果没有加入环境变量的话那只能在命令行下cd到mysqladmin所在的目录下与此那个次命令了！&lt;br /&gt;-----------------------------------------&lt;br /&gt;2.重置root密码&lt;br /&gt;方法一:&lt;br /&gt;在my.ini的[mysqld]字段加入： &lt;br /&gt;skip-grant-tables &lt;br /&gt;重启mysql服务，这时的mysql不需要密码即可登录数据库&lt;br /&gt;然后进入mysql &lt;br /&gt;mysql&amp;gt;use mysql;&lt;br /&gt;mysql&amp;gt;update user set password=password(&#39;新密码&#39;) WHERE User=&#39;root&#39;; &lt;br /&gt;mysql&amp;gt;flush privileges;&lt;br /&gt;运行之后最后去掉my.ini中的skip-grant-tables，重启mysqld即可。&lt;br /&gt;修改mysql密码方法二:&lt;br /&gt;不使用修改my.ini重启服务的方法，通过非服务方式加skip-grant-tables运行mysql来修改mysql密码&lt;br /&gt;停止mysql服务&lt;br /&gt;打开命令行窗口，在bin目录下使用mysqld-nt.exe启动，即在命令行窗口执行: mysqld-nt --skip-grant-tables&lt;br /&gt;然后另外打开一个命令行窗口，登录mysql，此时无需输入mysql密码即可进入。&lt;br /&gt;按以上方法修改好密码后,关闭命令行运行mysql的那个窗口，此时即关闭了mysql，如果发现mysql仍在运行的话可以结束掉对应进程来关闭。&lt;br /&gt;启动mysql服务&lt;/pre&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/3776894114916357018/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/10/mysql_25.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/3776894114916357018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/3776894114916357018'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/10/mysql_25.html' title='修改mysql密码'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-9193767409820979875</id><published>2012-10-25T21:58:00.001-07:00</published><updated>2012-10-25T21:58:24.174-07:00</updated><title type='text'>在CSS中 ID与Class的区别</title><content type='html'>&lt;pre&gt;id与class&lt;br /&gt;     class的主要功能，用来对对象的样式设置，id除了可以定义样式之外，还可以成为网站交互行为一个特使标识。&lt;br /&gt;     id名字在每个页面中只能允许出现一次。&lt;br /&gt;     何时使用id：&lt;br /&gt;           1.样式只使用一次&lt;br /&gt;           2.用于对页面的区域进行标识&lt;br /&gt;     何时使用class&lt;br /&gt;                   1.同一页面中出现多次&lt;br /&gt;           2.通用及经常使用的元素&lt;br /&gt;           3.class高级使用技巧-同事使用多个类&lt;br /&gt;                  &amp;lt;p class=&quot;content red newsblock&quot;&amp;gt;hello&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;div与span&lt;br /&gt;     div对象的默认显示模式display:block; span对象默认显示模式display:inline;&lt;br /&gt;     div对象的任务是呈现一个块状内容； span对行内元素进行结构编码以方便样式设计&lt;/pre&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/9193767409820979875/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/10/css-idclass.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/9193767409820979875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/9193767409820979875'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/10/css-idclass.html' title='在CSS中 ID与Class的区别'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-8694138341098163268</id><published>2012-10-25T20:10:00.001-07:00</published><updated>2012-10-25T20:11:41.669-07:00</updated><title type='text'>rpc.statd端口及进程的处理</title><content type='html'>最近linux系统安全加固，一些&lt;a href=&quot;http://www.2cto.com/&quot;&gt;漏洞&lt;/a&gt;修复经验和大家分享一下！&lt;br /&gt;RPC Statd 服务&amp;nbsp; RPC类&amp;nbsp;&amp;nbsp;&amp;nbsp; 危险级别：：：高&amp;nbsp; &lt;br /&gt;发现主机##########################################################&lt;br /&gt;漏洞编号 &lt;br /&gt;漏洞分类RPC类 &lt;br /&gt;危险级别&amp;nbsp; 高&amp;nbsp; &lt;br /&gt;影响平台AIX IRIX DG/UX HPUX: 9.x, HPUX: 10.x NEC EWS-UX/V,NEC UP-UX/V,NEC UX/4800, NeXT STEP NCR&amp;nbsp; linux&lt;br /&gt;详细描述:&lt;br /&gt;&amp;nbsp; 远程rpc.lockd 文件可能提供假的信息给rpc.statd 文件，使文件可以被移动或新建。RPC statd 与RPC lockd 一起工作维护状态信息，来提供跨NKS文件锁定的崩溃及恢&lt;br /&gt;复功能。因为statd不验证从远程lockd 收到的信息，所以攻击者可以发送RPC去建立或取消系统上任何文件。&lt;br /&gt;修补建议 建议您采取以下措施进行修补以降低威胁： 请用户联系供应商或他们的网站，索取补丁或参考供应商的指示。选定以下的操作系统：&lt;br /&gt;1.Hewlett-Packard: 安装补丁前，请阅读Security Advisory HPSBUX9607-032 &quot;Security Vulnerability in rpc.pcnfsd &amp;amp; rpc.statd.&quot; 输入patch Ids 作为搜索&lt;br /&gt;字串及点击Search Technical Knowledge Base 链接，就可以看到这篇文章。The HP Patch Database 不需要付费口令。网址：http://us-&lt;br /&gt;support.external.hp.com/wpsl/bin/doc.pl/.&lt;br /&gt;登录后，到Individual Patches (Patch Database) 的库，搜索符合你漏洞版本的HP-UX 扑丁。&lt;br /&gt;2.IBM 的补丁网址：http://aix.boulder.ibm.com/aix.us/aixfixes.&lt;br /&gt;输入APAR 号，就可以得到有关资料及补丁。&lt;br /&gt;3.Sony: NEWS-OS Patch Ids: 0124, 6063, 6176, 及6207.&lt;br /&gt;4.NEWS-OS 补丁的网址：ftp://ftp1.sony.co.jp/pub/patch/news-os/un-official.&lt;br /&gt;5.DEC (Digital Equipment Corporation): Ultrix ECO ID#: SSRT03901;OSF/1 ECO ID#: SSRT038301 网址 ：&lt;br /&gt;http://www.service.digital.com/html/patch_service.html&lt;br /&gt;6.SunOS 补丁的网址：http://sunsolve.sun.com/sunsolve/pubpatches/patches.html.&lt;br /&gt;7.Silicon Graphics：之前的版本升级到IRIX 5.3；之后的版本使用SGI Security Advisory描述的修复方法。安装补丁前，请阅读SGI Security Advisory 19971201-01-&lt;br /&gt;P: &quot;Buffer Overrun Vulnerability in statd(1M) Program&quot; 网址：ftp://sgigate.sgi.com/security/19971201-01-P1391.SGI&lt;br /&gt;补丁的网址：http://www.sgi.com/Support/security/security.html.&lt;br /&gt;以前的版本一定要升级或采用“安全建议”给出的暂时修复方法，专为IRIX 5.3 平台的补丁在网址：ftp://sgigate.sgi.com/patches/5.3/patch1391.tar&lt;br /&gt;8.linux平台: 联系系统厂商获取最新版本。 www.2cto.com&lt;br /&gt;#########################################################################&lt;br /&gt;我的修复之旅！&lt;br /&gt;如果你的系统没有使用NFS服务就关掉rpc.statd服务，下面说一下，RPC的作用和如何关闭！&lt;br /&gt;CentOS使用核心级的支持和守护进程的组合来提供NFS文件共享.NFS依靠远程过程调用(RPC)在客户端和服务器端路由请求。而在&lt;a href=&quot;http://www.2cto.com/os/linux/&quot;&gt;Linux&lt;/a&gt;下RPC服务由portmap服务控制。为了能够正常&lt;br /&gt;使用NFS，还需要一些相关的服务来协同工作：&lt;br /&gt;nfs：启动相应RPC服务进程来服务对于NFS文件系统的请求。&lt;br /&gt;nfslock：一个可选的服务，用于启动相应的RPC进程，允许NFS客户端在服务器上对文件加锁。&lt;br /&gt;portmap：Linux的RPC服务，它响应RPC服务的请求和与请求的RPC服务建立连接。&lt;br /&gt;下面的RPC后台进程是为NFS提供服务的&lt;br /&gt;rpc.mountd：这个进程接受来自NFS客户端的加载请求和验证请求的文件系统正在被输出。这个进程由NFS服务自动启动，不需要用户的配置。&lt;br /&gt;rpc.nfsd：这个进程是NFS服务器.它和Linux核心一起工作来满足NFS客户端的动态需求，例如提供为每个NFS客户端的每次请求服务器线程。这个进程对应于nfs服务。&lt;br /&gt;rpc.lockd：一个可选的进程，它允许NFS客户端在服务器上对文件加锁。这个进程对应于nfslock服务。&lt;br /&gt;rpc.statd：这个进程实现了网络状态监控(NSM)RPC协议，通知NFS客户端什么时候一个NFS服务器非正常重启动。这个进程被nfslock服务自动启动。不需要用户的配置。&lt;br /&gt;rpc.rquotad：这个进程对于远程用户提供用户配额信息。这个进程被nfs服务自动启动，不需要用户的配置。&lt;br /&gt;所以说，要想关掉CentOS的rpc.statd服务，我们只需要执行下面的命令就能搞定&lt;br /&gt;rpcgssd, rpcidmapd, rpcsvcgssd&lt;br /&gt;用于NFS v4。除非你需要或使用NFS v4，否则关闭它。&lt;br /&gt;具体操作如下：&lt;br /&gt;1停服务&lt;br /&gt;service nfslock stop&lt;br /&gt;service portmap stop&lt;br /&gt;/etc/init.d/rpcgssd stop&lt;br /&gt;/etc/init.d/rpcidmapd stop&lt;br /&gt;/etc/init.d/rpcsvcgssd stop&lt;br /&gt;2禁止开机启动&lt;br /&gt;chkconfig nfslock off&lt;br /&gt;chkconfig portmap off&lt;br /&gt;chkconfig&amp;nbsp; rpcgssd off&lt;br /&gt;chkconfig&amp;nbsp; rpcidmapd off&lt;br /&gt;chkconfig&amp;nbsp; rpcsvcgssd off&lt;br /&gt;3查看状态&lt;br /&gt;/etc/init.d/nfslock status&lt;br /&gt;/etc/init.d/portmap status&lt;br /&gt;/etc/init.d/rpcgssd status&lt;br /&gt;/etc/init.d/rpcidmapd status&lt;br /&gt;/etc/init.d/rpcsvcgssd status</content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/8694138341098163268/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/10/rpcstatd_4132.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/8694138341098163268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/8694138341098163268'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/10/rpcstatd_4132.html' title='rpc.statd端口及进程的处理'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-1337450205577828193</id><published>2012-10-19T01:27:00.001-07:00</published><updated>2012-10-19T01:27:50.825-07:00</updated><title type='text'>不同网段之间的nfs以及rsync</title><content type='html'>&lt;p&gt;一共3台linux,如：HostA,HostB,HostC,其中，a与C不能互访，且三台主机都有各自的网段但都是10开头的网段&lt;/p&gt; &lt;p&gt;A:10.2.3.10&lt;/p&gt; &lt;p&gt;B:10.29.33.2&lt;/p&gt; &lt;p&gt;C:10.4.3.90&lt;/p&gt; &lt;p&gt;B可以访问A和C,所以试想将a和c主机通过b主机来进行同步，将要同步的目录使用nfs同时挂载到B主机上，而后再用rsync来进行同步&lt;/p&gt; &lt;p&gt;挂载时遇到问题时nfs不能挂载&lt;/p&gt; &lt;p&gt;/doc (rw,sync,no_root_squash,no_all_squash,insecure)&lt;br&gt;使用这样配置，任何主机都可挂载只适用临时的挂载，工作完成后即时的去掉共享&lt;/p&gt; &lt;p&gt;rsync的使用看前几篇&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/1337450205577828193/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/10/nfsrsync.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/1337450205577828193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/1337450205577828193'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/10/nfsrsync.html' title='不同网段之间的nfs以及rsync'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-6706210959805658139</id><published>2012-10-18T00:57:00.001-07:00</published><updated>2012-10-18T00:57:16.357-07:00</updated><title type='text'>rsync 工具介绍及配置</title><content type='html'>&lt;p&gt;rsync是类unix系统下的数据镜像备份工具，从软件的命名上就可以看出来了——remote sync。它的特性如下： &lt;p&gt;　　可以镜像保存整个目录树和文件系统。 &lt;p&gt;　　可以很容易做到保持原来文件的权限、时间、软硬链接等等。 &lt;p&gt;　　无须特殊权限即可安装。 &lt;p&gt;　　优化的流程，文件传输效率高。 &lt;p&gt;　　可以使用rcp、ssh等方式来传输文件，当然也可以通过直接的socket连接。 &lt;p&gt;　　支持匿名传输，以方便进行网站镜象。 &lt;p&gt;　　软件下载 &lt;p&gt;　　rsync的主页地址为：http://rsync.samba.org/ &lt;p&gt;rsync配置文件配置格式 &lt;p&gt;name = value &lt;p&gt;rsync配置参数： &lt;p&gt;[Global parameters] &lt;p&gt;motd file：&amp;nbsp; 指定一个关于网站的信息和法律公告信息的文件 &lt;p&gt;pid file：&amp;nbsp; rsync daemon的进程IP文件 &lt;p&gt;port：&amp;nbsp; rsync daemon 的缺省端口号：873，当rsync运行在xinetd模式下则端口被忽略 &lt;p&gt;address： rsync daemon监听的IP，当rsync运行在xinetd模式下则IP被忽略 &lt;p&gt;socket：rsync daemon的socket文件 &lt;p&gt;[module parameters] &lt;p&gt;comment：模块的描述性说明 &lt;p&gt;path：指定同步的文件目录 &lt;p&gt;use chroot：如果&quot;use chroot&quot;指定为true，那么rsync在传输文件以前首先chroot到path参数所指定的目&amp;nbsp; 录下。这样做的原因是实现额外的安全防护，但是缺点是需要以roots权限，并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true。 &lt;p&gt;numeric ids &lt;p&gt;munge symlinks &lt;p&gt;charset &lt;p&gt;max connections：指定该模块的最大并发连接数量以保护服务器，超过限制的连接请求将被告知随后再试。默认值是0，也就是没有限制。 &lt;p&gt;log file:指定rsync的日志文件 &lt;p&gt;syslog facility：是否使用系统日志工具。可以有如下选项： &lt;p&gt;auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, syslog, user, uucp, local0, local1, local2, local3, local4, local5, local6 and local7. The default is daemon. &lt;p&gt;max verbosity &lt;p&gt;lock file：指定支持max connections参数的锁文件 &lt;p&gt;read only：该选项设定是否允许客户上载文件。如果为true那么任何上载请求都会失败，如果为false并且服务器目录读写权限允许那么上载是允许的。默认值为true。 &lt;p&gt;write only：该选项设定是否允许客户下载文件。如果为true那么任何下载请求都会失败，如果为false并且服务器目录读写权限允许那么下载是允许的。默认值为true。 &lt;p&gt;list：该选项设定当客户请求可以使用的模块列表时，该模块是否应该被列出。如果设置该选项为false，可以创建隐藏的模块。默认值是true。 &lt;p&gt;uid：指定传送数据的帐号，仅仅用于指定模块。默认是：-2 ，即Nobody 帐号. &lt;p&gt;gid:指定传送数据的帐号组，仅仅用于指定模块。默认是：-2 ，即Nobody 组. &lt;p&gt;fake super &lt;p&gt;filter &lt;p&gt;exclude：用来指定多个由空格隔开的多个文件或目录(相对路径)，并将其添加到exclude列表中。这等同于在客户端命令中使用--exclude来指定模式，一个模块只能指定一个exclude选项。但是需要注意的一点是该选项有一定的安全性问题，客户很有可能绕过exclude列表，如果希望确保特定的文件不能被访问，那就最好结合uid/gid选项一起使用。 &lt;p&gt;include：用来指定不排除符合要求的文件或目录。这等同于在客户端命令中使用--include来指定模式，结合include和exclude可以定义复杂的exclude/include规则。 &lt;p&gt;exclude from：指定一个包含exclude模式的定义的文件名，服务器从该文件中读取exclude列表定义。 &lt;p&gt;include from：指定一个包含include模式的定义的文件名，服务器从该文件中读取include列表定义。 &lt;p&gt;incoming chmod： &lt;p&gt;outgoing chmod &lt;p&gt;auth users：设置连接指定模块的授权用户名。 &lt;p&gt;secrets file：密码认证文件，格式为：username:password &lt;p&gt;strict modes：该选项指定是否监测密码文件的权限，如果该选项值为true那么密码文件只能被rsync服务器运行身份的用户访问，其他任何用户不可以访问该文件。默认值为true。 &lt;p&gt;hosts allow：该选项指定哪些IP的客户允许连接该模块。客户模式定义可以是以下形式：&lt;br&gt;单个IP地址，例如：192.167.1.1整个网段，例如：192.168.1.0/24，也可以是192.168.1.0/255.255.255.0多个IP或网段需要用空格隔开，“*”则表示所有，默认是允许所有主机连接。 &lt;p&gt;hosts deny：指定不允许连接rsync服务器的机器，可以使用hosts allow的定义方式来进行定义。默认是没有hosts deny定义。 &lt;p&gt;ignore errors：指定rsyncd在判断是否运行传输时的删除操作时忽略server上的IO错误，一般来说rsync在出现IO错误时将将跳过--delete操作，以防止因为暂时的资源不足或其它IO错误导致的严重问题。 &lt;p&gt;ignore nonreadable：指定rysnc服务器完全忽略那些用户没有访问权限的文件。这对于在需要备份的目录中有些文件是不应该被备份者得到的情况是有意义的。 &lt;p&gt;transfer logging：使rsync服务器使用ftp格式的文件来记录下载和上载操作在自己单独的日志中。 &lt;p&gt;log format：通过该选项用户在使用transfer logging可以自己定制日志文件的字段。 &lt;p&gt;#The single-character escapes that are understood are as follows: &lt;p&gt;#%a the remote IP address &lt;p&gt;#%b the number of bytes actually transferred &lt;p&gt;#%B the permission bits of the file (e.g. rwxrwxrwt) &lt;p&gt;#%c the total size of the block checksums received for the basis file (only when sending) &lt;p&gt;#%f the filename (long form on sender; no trailing &quot;/&quot;) &lt;p&gt;#%G the gid of the file (decimal) or &quot;DEFAULT&quot; &lt;p&gt;#%h the remote host name &lt;p&gt;#%i an itemized list of what is being updated &lt;p&gt;#%l the length of the file in bytes &lt;p&gt;#%L the string &quot; -&amp;gt; SYMLINK&quot;, &quot; =&amp;gt; HARDLINK&quot;, or &quot;&quot; (where SYMLINK or HARDLINK is a filename) &lt;p&gt;#%m the module name &lt;p&gt;#%M the last-modified time of the file &lt;p&gt;#%n the filename (short form; trailing &quot;/&quot; on dir) &lt;p&gt;#%o the operation, which is &quot;send&quot;, &quot;recv&quot;, or &quot;del.&quot; (the latter includes the trailing period) &lt;p&gt;#%p the process ID of this rsync session &lt;p&gt;#%P the module path &lt;p&gt;#%t the current date time &lt;p&gt;#%u the authenticated username or an empty string &lt;p&gt;#%U the uid of the file (decimal) &lt;p&gt;#For a list of what the characters mean that are output by &quot;%i&quot;, see the --itemize-changes option in the rsync manpage. &lt;p&gt;timeout：该选项可以覆盖客户指定的IP超时时间。通过该选项可以确保rsync服务器不会永远等待一个崩溃的客户端。超时单位为秒钟，0表示没有超时定义，这也是默认值。对于匿名rsync服务器来说，一个理想的数字是600。 &lt;p&gt;refuse options：通过该选项可以定义一些不允许客户对该模块使用的命令参数列表。这里必须使用命令全名，而不能是简称。但发生拒绝某个命令的情况时服务器将报告错误信息然后退出。如果要防止使用压缩，应该是：&quot;dont compress = *&quot;。 &lt;p&gt;dont compress：指定那些不进行压缩处理再传输的文件，默认值是*.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz &lt;p&gt;以上为rsync 官方的关于rsync配置文件中的所有配置选项。中文是我自己翻译解释的，有些选项还没翻译解释，主要是因为还没有完全理解透彻官方的英文解释。 &lt;p&gt;rsync的使用方法： &lt;p&gt;Local:&amp;nbsp; rsync [OPTION...] SRC... [DEST] &lt;p&gt;Access via remote shell: &lt;p&gt;&amp;nbsp; Pull（拉）: rsync [OPTION...] [USER@]HOST:SRC... [DEST] &lt;p&gt;&amp;nbsp; Push（推）: rsync [OPTION...] SRC... [USER@]HOST:DEST &lt;p&gt;Access via rsync daemon: &lt;p&gt;&amp;nbsp; Pull（拉）: rsync [OPTION...] [USER@]HOST::SRC... [DEST] &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] &lt;p&gt;&amp;nbsp; Push（推）: rsync [OPTION...] SRC... [USER@]HOST::DEST &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST &lt;p&gt;“拉”复制是指从远程主机复制文件到本地主机 &lt;p&gt;“推”复制是指从本地主机复制文件到远程主机 &lt;p&gt;相关命令参数： &lt;p&gt;rsync参数的具体解释如下： &lt;p&gt;官方的英文解释：&lt;a href=&quot;http://rsync.samba.org/ftp/rsync/rsync.html&quot;&gt;http://rsync.samba.org/ftp/rsync/rsync.html&lt;/a&gt; &lt;p&gt;-v, --verbose 详细模式输出 &lt;p&gt;-q, --quiet 精简输出模式 &lt;p&gt;-c, --checksum 打开校验开关，强制对文件传输进行校验 &lt;p&gt;-a, --archive 归档模式，表示以递归方式传输文件，并保持所有文件属性，等于-rlptgoD &lt;p&gt;-r, --recursive 对子目录以递归模式处理 &lt;p&gt;-R, --relative 使用相对路径信息 &lt;p&gt;-b, --backup 创建备份，也就是对于目的已经存在有同样的文件名时，将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。 &lt;p&gt;--backup-dir 将备份文件(如~filename)存放在在目录下。 &lt;p&gt;-suffix=SUFFIX 定义备份文件前缀 &lt;p&gt;-u, --update 仅仅进行更新，也就是跳过所有已经存在于DST，并且文件时间晚于要备份的文件。(不覆盖更新的文件) &lt;p&gt;-l, --links 保留软链结 &lt;p&gt;-L, --copy-links 想对待常规文件一样处理软链结 &lt;p&gt;--copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结 &lt;p&gt;--safe-links 忽略指向SRC路径目录树以外的链结 &lt;p&gt;-H, --hard-links 保留硬链结&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -p, --perms 保持文件权限 &lt;p&gt;-o, --owner 保持文件属主信息&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -g, --group 保持文件属组信息 &lt;p&gt;-D, --devices 保持设备文件信息&amp;nbsp;&amp;nbsp;&amp;nbsp; -t, --times 保持文件时间信息 &lt;p&gt;-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间 &lt;p&gt;-n, --dry-run现实哪些文件将被传输 &lt;p&gt;-W, --whole-file 拷贝文件，不进行增量检测 &lt;p&gt;-x, --one-file-system 不要跨越文件系统边界 &lt;p&gt;-B, --block-size=SIZE 检验算法使用的块尺寸，默认是700字节 &lt;p&gt;-e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步 &lt;p&gt;--rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息 &lt;p&gt;-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件，用来排除那些不希望传输的文件 &lt;p&gt;--existing 仅仅更新那些已经存在于DST的文件，而不备份那些新创建的文件 &lt;p&gt;--delete 删除那些DST中SRC没有的文件 &lt;p&gt;--delete-excluded 同样删除接收端那些被该选项指定排除的文件 &lt;p&gt;--delete-after 传输结束以后再删除 &lt;p&gt;--ignore-errors 即使出现IO错误也进行删除 &lt;p&gt;--max-delete=NUM 最多删除NUM个文件 &lt;p&gt;--partial 保留那些因故没有完全传输的文件，以是加快随后的再次传输 &lt;p&gt;--force 强制删除目录，即使不为空 &lt;p&gt;--numeric-ids 不将数字的用户和组ID匹配为用户名和组名 &lt;p&gt;--timeout=TIME IP超时时间，单位为秒 &lt;p&gt;-I, --ignore-times 不跳过那些有同样的时间和长度的文件 &lt;p&gt;--size-only 当决定是否要备份文件时，仅仅察看文件大小而不考虑文件时间 &lt;p&gt;--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口，默认为0 &lt;p&gt;-T --temp-dir=DIR 在DIR中创建临时文件 &lt;p&gt;--compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份 &lt;p&gt;-P 等同于 --partial &lt;p&gt;--progress 显示备份过程 &lt;p&gt;-z, --compress 对备份的文件在传输时进行压缩处理 &lt;p&gt;--exclude=PATTERN 指定排除不需要传输的文件模式 &lt;p&gt;--include=PATTERN 指定不排除而需要传输的文件模式 &lt;p&gt;--exclude-from=FILE 排除FILE中指定模式的文件 &lt;p&gt;--include-from=FILE 不排除FILE指定模式匹配的文件 &lt;p&gt;--version 打印版本信息 &lt;p&gt;--address 绑定到特定的地址 &lt;p&gt;--config=FILE 指定其他的配置文件，不使用默认的rsyncd.conf文件 &lt;p&gt;--port=PORT 指定其他的rsync服务端口 &lt;p&gt;--blocking-io 对远程shell使用阻塞IO &lt;p&gt;-stats 给出某些文件的传输状态 &lt;p&gt;--progress 在传输时现实传输过程 &lt;p&gt;--log-format=formAT 指定日志文件格式 &lt;p&gt;--password-file=FILE 从FILE中得到密码 &lt;p&gt;--bwlimit=KBPS 限制I/O带宽，KBytes per second&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -h, --help 显示帮助信息 &lt;p&gt;rsync实例配置 &lt;p&gt;&lt;a href=&quot;http://blog.chinaunix.net/attachment/201105/1/24960107_1304261641ioOF.jpg&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://blog.chinaunix.net/attachment/201105/1/24960107_1304261641ioOF.jpg&quot;&gt;&lt;/a&gt; &lt;p&gt;系统环境：RHEL5.5 &lt;p&gt;软件版本：rsync-3.0.8.tar.gz &lt;p&gt;安装说明：需在两台server上都安装 &lt;p&gt;rsync 安装配置参数： &lt;p&gt;1.先建立个同步数据的帐号 &lt;p&gt;groupadd rsync &lt;p&gt;useradd -g rsync -s /sbin/nologin -d /dev/null rsync &lt;p&gt;passwd rsync &lt;p&gt;2.配置 &lt;p&gt;./configure --prefix=/usr/local/rsync --with-rsyncd-conf=/usr/local/rsync/etc --with-nobody-group=rsync &lt;p&gt;make &amp;amp;&amp;amp; make install &lt;p&gt;3.建立rsync的配置文件rsyncd.conf &lt;p&gt;因为configure的时候指定了config的文件路径在/usr/local/rsync/etc 下面，因此需要在此目录下建立配置文件 &lt;p&gt;cd /usr/local/rsync &lt;p&gt;mkdir etc &lt;p&gt;cd etc &lt;p&gt;touch rsyncd.conf &lt;p&gt;配置文件的配置项根据实际需要配置，我的配置文件如下： &lt;ol&gt; &lt;li&gt;motd file = /usr/local/rsync/etc/rsyncd.motd /*当你登录到服务器上显示的一些信息*/ &lt;li&gt;pid file = /usr/local/rsync/pid/rsyncd.pid  &lt;li&gt;port = 873  &lt;li&gt;address = 192.168.200.133  &lt;li&gt;socket options = /usr/local/rsync/socket/rsyncd.socket  &lt;li&gt;[soft]&amp;nbsp; /*定义要同步的模块，自己随便定义*/  &lt;li&gt;comment = this is a software reposity /*模块的说明信息*/ &lt;li&gt;path = /soft /*模块的路径*/ &lt;li&gt;use chroot = false  &lt;li&gt;#numeric ids  &lt;li&gt;#munge symlinks  &lt;li&gt;#charset  &lt;li&gt;max connections = 0 /*最大连接数，0表示无限制*/ &lt;li&gt;log file = /usr/local/rsync/log/rsyncd.log /*数据同步日志*/ &lt;li&gt;syslog facility = syslog /*系统日志工具，也可以不定义*/ &lt;li&gt;#max verbosity  &lt;li&gt;lock file = /usr/local/rsync/lock/rsyncd.lock /*锁文件，与最大连接数配合，若超过最大连接数，则锁定相应的模块*/ &lt;li&gt;read only = true  &lt;li&gt;write only = false  &lt;li&gt;list = false  &lt;li&gt;uid = rsync /*同步用的帐号，此账户对模块要有相应的权限*/ &lt;li&gt;gid = rsync /*同步用的帐号组*/ &lt;li&gt;#fake super  &lt;li&gt;#filter  &lt;li&gt;#exclude  &lt;li&gt;#include  &lt;li&gt;#exclude from  &lt;li&gt;#include from  &lt;li&gt;#incoming chmod  &lt;li&gt;#outgoing chmod  &lt;li&gt;auth users = rsync /*授权的帐号，对要同步的模块有相应的权限*/ &lt;li&gt;secrets file = /usr/local/rsync/secrets/rsyncd.secrets /*同步帐号的密码文件*/ &lt;li&gt;strict modes = true /*使用限制模式*/  &lt;li&gt;#hosts allow  &lt;li&gt;#hosts deny  &lt;li&gt;ignore errors = true  &lt;li&gt;ignore nonreadable = false  &lt;li&gt;transfer logging = true /*对传输数据进行日志记录*/ &lt;li&gt;log format = %a-%b-%f-%m-%o-%P-%t-%u /*日志格式*/  &lt;li&gt;timeout = 600 /*传输数据超时时间*/ &lt;li&gt;#refuse options  &lt;li&gt;dont compress = true  &lt;li&gt;#pre-xfer exec  &lt;li&gt;#post-xfer exec &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;rsync服务器启动 &lt;p&gt;--daemon 是让rsync 以服务器模式运行 &lt;p&gt;/usr/local/rsync/bin --daemon --config=/usr/local/rsync/etc/rsyncd.conf &lt;p&gt;rsync服务器和防火墙 &lt;p&gt;iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT &lt;p&gt;根据以上的配置文件：/usr/local/rsync目录下应该有如下相关目录： &lt;p&gt;&lt;a href=&quot;http://blog.chinaunix.net/attachment/201105/1/24960107_13042631563o8A.jpg&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://blog.chinaunix.net/attachment/201105/1/24960107_13042631563o8A.jpg&quot;&gt;&lt;/a&gt; &lt;p&gt;这是top图上服务器上rsync 配置 &lt;p&gt;至于top图上的客户端rsync，因为我做的单项同步，也就从服务器上复制到客户端上，因此客户端只需要安装rsync，不需要配置。 &lt;p&gt;在客户端上执行如下： &lt;p&gt;&lt;a href=&quot;http://blog.chinaunix.net/attachment/201105/1/24960107_1304263548TiA6.jpg&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://blog.chinaunix.net/attachment/201105/1/24960107_1304263548TiA6.jpg&quot;&gt;&lt;/a&gt; &lt;p&gt;我将服务器端的soft模块复制到本地客户端的/soft目录下 &lt;p&gt;输入同步帐号rsync的密码，就开始同步： &lt;p&gt;&lt;a href=&quot;http://blog.chinaunix.net/attachment/201105/1/24960107_1304263979mKJB.jpg&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://blog.chinaunix.net/attachment/201105/1/24960107_1304263979mKJB.jpg&quot;&gt;&lt;/a&gt; &lt;p&gt;sent 130661 bytes&amp;nbsp; received 250703289 bytes&amp;nbsp; 2099028.87 bytes/sec &lt;p&gt;total size is 445934450&amp;nbsp; speedup is 1.78 &lt;p&gt;有两个文件因为没有权限所以提示“permission denied”, &lt;p&gt;总之，就是大家在设置的时候注意要同步的目录的权限设置！ &lt;p&gt;主要参数范例： &lt;p&gt;--delete&lt;br&gt;假如server端有：a , b , c ,三个文件，&lt;br&gt;client端有：a , b , c , d ,四个文件，使用如下命令： &lt;p&gt;./rsync -avz --progress --delete rsync@192.168.200.133::soft /soft &lt;p&gt;将删除client 中的d 文件，其他保持不变。 &lt;p&gt;恢复数据，从client 恢复数据到server端 &lt;p&gt;1.需要在服务器关闭 read only&lt;br&gt;read only = false ,即开启上传功能 &lt;p&gt;./rsync -avz --progress /soft rsync@192.168.200.133::soft &lt;p&gt;把client 端/soft 目录中的数据上传到server 192.168.200.133 中的 soft 模块 &lt;p&gt;根据我的配置，服务器上的日志会记录同步的每一个数据，目录，很详细的日志，不过越详细的日志就越大！ &lt;p&gt;大家自己试试看！！&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/6706210959805658139/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/10/rsync.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/6706210959805658139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/6706210959805658139'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/10/rsync.html' title='rsync 工具介绍及配置'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-5871273880423607663</id><published>2012-10-17T21:17:00.001-07:00</published><updated>2012-10-17T22:37:30.028-07:00</updated><title type='text'>如何做两个远程数据镜像备份？</title><content type='html'>&lt;p&gt;1… &lt;blockquote&gt; &lt;p&gt;数据源放在ServerSource下的/data&lt;br&gt;备份库放在ServerTarget下的/data&lt;br&gt;ServerSource和ServerTarget都连接到ServerJump，为了安全管理需要，ServerSource和ServerTarget无法直接连通，但ServerSource和ServerTarget都可以和ServerJump连通&lt;br&gt;也就是:&lt;br&gt;ServerSource&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;======&amp;gt; ServerJump&lt;br&gt;ServerTarget&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;======&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServerJump&lt;br&gt;ServerSource&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;==XX==&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServerTarget&lt;br&gt;所以想通过ServerJump来同步ServerSource和ServerTarget。&lt;br&gt;1.用scp命令(scp ServerSource:/data ServerTarget:data)可以复制，但由于数据量比较大，且大部分为不用更新的数据，这种方式太费时间和带宽。&lt;br&gt;2.在ServerJump上rsync好像又不能同步两台远程服务器。&lt;br&gt;3.ServerJump因为只作跳板，所以硬盘很小，无法先将ServerSource先rsync到本机(ServerJump)再rsync到ServerTarget。&lt;br&gt;不知有没有命令可以在ServerJump上执行并同步ServerSource:/data到ServerTarget:/data?&lt;br&gt;即像rsync命令: rsync&amp;nbsp; ServerSource:/data ServerTarget:data，这个命令rsync不支持两个都是remote的，不知道有没有其它命令或者类似的方式来完成？&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;2… &lt;blockquote&gt; &lt;p&gt;rsync 命令不能同时使用远端源 和 远端目标，但您可以将一端设置为NFS，则可当成本地端。&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;3. &lt;blockquote&gt; &lt;p&gt;或者通过SSH reverse, 将ServerJump的一个端口转发到ServerSource的rsyncd端口，这样您就可以从ServerTarget上直接访问ServerJump的转发端口，直接使用rsync命令。&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;4… &lt;blockquote&gt; &lt;p&gt;不好意思可能我没表述十分清楚，因为安全需要，ServerJump不做任何端口转发映射等，也就是说ServerSource自己是不能有任何主动方式连接到ServerTarget上，ServerTarget同理也是自己不能有任何主动方式连接到ServerSource上，两台之间的唯一允许的方式是都只连接到ServerJump为止，所以顶楼这个要求，而且ServerJump也是有十分严格的防火墙规则，基本上所有的端口全部关闭，只有少量明确已知的商品开放，且像nfs这样需要source和target都export给jump且长期mount是绝对不允许的&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;5…. &lt;blockquote&gt; &lt;p&gt;端口转发建立在中间的ServerJump上，不需要跟ServerTarget有任何关系。&lt;br&gt;当您的ServerSource使用ServerJump的转发端口的时候，就像使用ServerJump上的本地服务一样。&lt;br&gt;在安全上考虑，这样的使用模式，跟您用SCP连接两台服务器是完全一样的。&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;6… &lt;blockquote&gt; &lt;p&gt;直接地说，比如当从TARGET连接到JUMP，然后通过端口转发连接到SOURCE。&lt;br&gt;这同 TARGET 直接连接 SOURCE 是完全不同的，从JUMP到SOURCE的转发过程，&lt;br&gt;是以 JUMP 的身份发起的连接，而不是 SOURCE发起的，而且通道是建立在SSH上的，&lt;br&gt;而即使SCP同样也是SSH复制文件。&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;7… &lt;blockquote&gt; &lt;p&gt;sorry, ServerJump上端口转发及不同段之间的通过网卡直接路由都不被允许，没办法才有顶楼的苛刻要求&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;8….&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 比如说我的机器是A，中间服务器为B，目标服务器是C&amp;lt;br&amp;gt;&lt;br&gt;从A可以ssh到B，从B可以ssh到C，但是A不能直接ssh到C&amp;lt;br&amp;gt;&lt;br&gt;现在展示利用ssh通道技术从A直接传输文件到C&amp;lt;br&amp;gt;&lt;br&gt;1. ssh -L1234:C:22 userid@B&amp;lt;br&amp;gt;&lt;br&gt;input B&#39;s password&amp;lt;br&amp;gt;&lt;br&gt;(1234是本机A的空闲端口，该指令需要A机器上的root用户权限，实际上是在本机1234端口建立了一个通道)&amp;lt;br&amp;gt;&lt;br&gt;2. 打开一个新的console，键入：&amp;lt;br&amp;gt;&lt;br&gt;scp -P1234 filename userid@localhost:&amp;lt;br&amp;gt;&lt;br&gt;input C&#39;s password&lt;/p&gt;&lt;/blockquote&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/5871273880423607663/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/10/blog-post_17.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/5871273880423607663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/5871273880423607663'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/10/blog-post_17.html' title='如何做两个远程数据镜像备份？'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-6574439911086153508</id><published>2012-10-17T19:24:00.001-07:00</published><updated>2012-10-17T19:24:28.078-07:00</updated><title type='text'>ssh转发(实现代理，跳板,加密隧道 ...)</title><content type='html'>&lt;p&gt;记得第一次做跳板还是高中时代,是台韩国的win2k,装的是Snake的socks代理.&lt;br&gt;当时还相当紧张,传了一堆工具上去删日志,已经是上世纪末的事了,呵呵. &lt;p&gt;言归正传,&lt;br&gt;选择ssh的4个理由: &lt;p&gt;1、使用方便,功能强大,加密强度高，运行稳定. &lt;p&gt;2、ssh几乎是*nix系统的标配,不需额外安装.现在的想找台没跑sshd的*nix主机也是件难事. &lt;p&gt;3、防火墙基本不会对ssh的连接下黑手 &lt;p&gt;4、跨平台，linux BSD UNIX m$ 等不同平台上的ssh都能相互连接. &lt;p&gt;ssh实现转发，只要用到以下两条命令： &lt;p&gt;ssh -CfNg -L 6300:127.0.0.1:1080 anyside@192.168.1.119&lt;br&gt;ssh -CfNg -R 1080:127.0.0.1:6300 anyside@192.168.1.119 &lt;p&gt;不论是做跳板，还是加密隧道，还是加密其他的网络连接也都是这两条命令。&lt;br&gt;视具体情况而定，有时只要用到其中一条，有时两条都要用到。 &lt;p&gt;条命解释：&lt;br&gt;-CfNg （照抄即可）&lt;br&gt;C表示压缩数据传输&lt;br&gt;f表示后台用户验证,这个选项很有用,没有shell的不可登陆账号也能使用.&lt;br&gt;N表示不执行脚本或命令&lt;br&gt;g表示允许远程主机连接转发端口 &lt;p&gt;-L 本地转发 &lt;p&gt;ssh -CfNg -L 6300:127.0.0.1:1080 anyside@192.168.1.119&lt;br&gt;表示:&lt;br&gt;1、本机（运行这条命令的主机）和远程主机192.168.1.119建立加密隧道，anyside是远程主机192.168.1.119上的账号。&lt;br&gt;2、在本机上打开6300端口.用 netstat -an|grep 6300 可看到 127.0.0.1:6300 或 127.0.0.1.6300&lt;br&gt;3、把本机的6300端口映通过加密隧道射到192.168.1.119的1080端口. &lt;p&gt;简单说,本机的6300端口就是远程主机192.168.1.119的1080端口。 &lt;p&gt;-R 远程转发 &lt;p&gt;ssh -CfNg -R 1080:127.0.0.1:6300 anyside@192.168.1.119&lt;br&gt;1、本机（运行这条命令的主机）和远程主机192.168.1.119建立加密隧道，anyside是远程主机192.168.1.119上的账号。&lt;br&gt;2、在远程主机192.168.1.119上打开1080端口.&lt;br&gt;3、把本机的6300端口映通过加密隧道射到192.168.1.119的1080端口. &lt;p&gt;本机的6300端口可直接看作远程主机192.168.1.119的1080端口。 &lt;p&gt;举个实用的例子：&lt;br&gt;有A、B、C 3台服务器，A,C有公网IP,B是某IDC的服务器无公网IP。&lt;br&gt;A希望同过B连接C的80端口，A&amp;lt;=&amp;gt;B&amp;lt;=&amp;gt;C &lt;p&gt;在B上执行如下命令即可：&lt;br&gt;host-B$ ssh -CfNg -L 6300:127.0.0.1:80 userc@C&lt;br&gt;host-B$ ssh -CfNg -R 80:127.0.0.1:6300 usera@A &lt;p&gt;服务器A和服务器C之间，利用跳板服务器B建立了加密隧道。 &lt;p&gt;在A上连接127.0.0.1:80，就等同C上的80端口 &lt;p&gt;需要注意的是：&lt;br&gt;服务器B上的6300端口的数据没有加密，可被监听，&lt;br&gt;例：&lt;br&gt;#tcpdump -s 0 -i lo port 6300 &lt;p&gt;_uacct = &quot;UA-337305-1&quot;; urchinTracker();&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/6574439911086153508/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/10/ssh.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/6574439911086153508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/6574439911086153508'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/10/ssh.html' title='ssh转发(实现代理，跳板,加密隧道 ...)'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-5290621647945138367</id><published>2012-10-15T02:17:00.001-07:00</published><updated>2012-10-15T02:17:32.045-07:00</updated><title type='text'>最新jdk用wget下载方式</title><content type='html'>&lt;p&gt;wget --no-cookie --header &quot;Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F&quot; http://download.oracle.com/otn-pub/java/jdk/6u35-b10/jdk-6u35-linux-i586.bin&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/5290621647945138367/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/10/jdkwget.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/5290621647945138367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/5290621647945138367'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/10/jdkwget.html' title='最新jdk用wget下载方式'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-3159770468132283743</id><published>2012-10-10T00:49:00.001-07:00</published><updated>2012-10-10T00:49:11.670-07:00</updated><title type='text'>linux 服务简要说明</title><content type='html'>&lt;p&gt;NetworkManager 为了自动连接网络的服务 　　　x　　　　对于服务器而言没用　　 &lt;br&gt;acpid 电源的on/off等的监视/管理 　　■ x 理由同上&lt;br&gt;anacron 一种计划任务管理 ■ ○ &lt;br&gt;apmd 电源管理 ■ ○ &lt;br&gt;atd 在指定时间执行命令 ■ x 如果用crond，就可以不用它&lt;br&gt;auditd 检查demo ■ △ 如果用Seliux，需要开启它 &lt;br&gt;autofs 文件系统自动加载卸载功能 ■ △ 只在需要的时候使用，可以停止&lt;br&gt;avahi-daemon 本地网络服务查找 ■ x 对服务器而言，不要&lt;br&gt;avahi-dnsconfd Avahi DNS demo x 理由同上&lt;br&gt;bluetooth 蓝牙无线通信 ■ x 对服务器而言，不要&lt;br&gt;clvmd Cluster LVM ■ ○ 对于非集群的服务器，关掉 &lt;br&gt;cman ■ ○ 对于非集群的服务器，关掉 &lt;br&gt;conman the console Manager x 不用那玩意，关掉&lt;br&gt;cpuspeed 调节cpu速度 ■ x 视情况而言吧，建议关掉&lt;br&gt;crond 与计划任务相当的功能 ■ ○ 强烈建议开启&lt;br&gt;cups 印刷demo ■ x 不用，关掉它&lt;br&gt;dnsmasq dns cache ■ x 不用，关掉它&lt;br&gt;dund 蓝牙设备相关 ■ x 不用，关掉它&lt;br&gt;firstboot 系统安装后初期设定工具 ■ x 不用，关掉它&lt;br&gt;gfs global file system ■ ○ 只有选择集群，集群存储是才有&lt;br&gt;gfs2 ■ ○ 同上&lt;br&gt;gpm console环境下的鼠标支持 ■ ○ 建议开启&lt;br&gt;haldaemon 硬件信息收集服务 ■ ○ 建议开启&lt;br&gt;hidd 蓝牙设备相关 ■ x 不用，关掉它&lt;br&gt;httpd apache demo ■ x 我不用，所以关掉它&lt;br&gt;ibmasm ibm硬件管理 ■ x 不用，关掉它&lt;br&gt;ip6tables ipv6防火墙 ■ △ 视情况，我不用它&lt;br&gt;ipmi Intelligent Platform Management Interface ■ △ 视情况&lt;br&gt;iptables ipv4防火墙 ■ △ 视情况，我不用它&lt;br&gt;ipvsadm 集群负荷分散相关 ■ ○ 我要用它&lt;br&gt;irda 红外线通信 ■ x 不用，关掉它&lt;br&gt;irqbalance cpu负载均衡 ■ ○ 多核cpu以上需要&lt;br&gt;kdump 内核崩溃时转储内存运行参数用的 ■ x 不用，关掉它&lt;br&gt;kudzu 硬件变动检测 ■ x 不用，关掉它&lt;br&gt;lm_sensors cpu温度检测工具(?) ■ △ 视情况，我不用它&lt;br&gt;luci cluster服务相关 ■ ○ 非集群情况下没有吧&lt;br&gt;lvm2-monitor lvm相关 ■ ○ 非集群情况下没有吧&lt;br&gt;mcstrans 在开启Selinux下用于检查context的 ■ x 视情况，我不用它&lt;br&gt;mdmonitor 软Raid管理工具 ■ ○ 视情况，我要用&lt;br&gt;mdmpd 软Raid管理监视工具 ■ ○ 视情况，我要用&lt;br&gt;messagebus D-Bus相关 ■ ○ 不用D-Bus情况下，关掉&lt;br&gt;microcode_ctl ■ x&lt;br&gt;modclusterd cluster相关 ■ ○ 视情况，我要用&lt;br&gt;multipathd ■ ○ 视情况，我要用&lt;br&gt;netconsole ■ x&lt;br&gt;netfs NFS相关 ■ x&lt;br&gt;netplugd 网线热插拔监视 ■ x&lt;br&gt;network ■ ○ 这个服务对服务器来说是必须的吧&lt;br&gt;nfs NFS Network File System ■ x&lt;br&gt;nfslock NFS相关 ■ x&lt;br&gt;nscd name cache，似乎跟DNS相关 ■ x&lt;br&gt;ntpd Network Time Protocol demo ■ x&lt;br&gt;oddjobd 与D-Bus相关 ■ x&lt;br&gt;openais 与Cluster相关，Heartbeat类似 ■ ○ 我要用&lt;br&gt;pand BlueZ Bluetooth PAN ■ x 蓝牙相关，不要&lt;br&gt;pcscd PC/SC smart card daemon ■ x&lt;br&gt;piranha-gui 与cluster相关 ■ ○ 我要用&lt;br&gt;portmap 使用NFS、NIS时的port map ■ x 如果用NFS时候，需要开启&lt;br&gt;psacct 负荷检测，输出什么的 ■ x&lt;br&gt;pulse ?&lt;br&gt;qdiskd 与cluster相关 ■ ○ 我要用 &lt;br&gt;rdisc 自动检测路由器 ■ x 只有一个路由器是不用&lt;br&gt;readahead_early ■ ○ 建议&lt;br&gt;readahead_later ■ ○ 建议&lt;br&gt;restorecond Selinux关联项目 ■ x 我的Selinux关掉了，所以它也over&lt;br&gt;rgmanager 与cluster相关 ■ ○ 我要用 &lt;br&gt;ricci 与cluster相关 ■ ○ 我要用 &lt;br&gt;rpcgssd NFS相关 ■ x &lt;br&gt;rpcidmapd RPC name to UID/GID mapper ■ x NFS相关 &lt;br&gt;rpcsvcgssd NFS相关 ■ x &lt;br&gt;saslauthd sasl认证服务相关 ■ x &lt;br&gt;scsi_reserve &lt;br&gt;sendmail mail demo ■ x &lt;br&gt;setroubleshoot Selinux相关 ■ x 我的Selinux关掉了，所以它也over&lt;br&gt;smartd 硬盘自动检测的守护进程 ■ ○&lt;br&gt;smb Samba ■ x&lt;br&gt;snmpd ■ ○ 集群之间时间同步大概需要&lt;br&gt;snmptrapd ■ ○ 集群之间时间同步大概需要&lt;br&gt;sshd ssh demo ■ ○ 必须的&lt;br&gt;syslog ■ ○ &lt;br&gt;tog-pegasus ■ ○ 似乎与集群相关&lt;br&gt;vncserver vncserver x&lt;br&gt;wdaemon &lt;br&gt;winbind samba服务器相关 x&lt;br&gt;wpa_supplicant 无线认证相关 x&lt;br&gt;xfs x windows相关 ■ x&lt;br&gt;ypbind Network Information Service 客户端 ■ x&lt;br&gt;yum-updatesd yum自动升级 ■ x 对服务器来说开着它比较危险 &lt;p&gt;------------------------------------------------------------------------------------------------------------------------------------------------------------------------ &lt;p&gt;天天用着linux，虽说经常配置php环境，可对于linux本身动的很少，这里就把常见的服务记下来，不用的就可以关闭了，节省资源还加速开关机时间。 &lt;p&gt;不要关闭以下服务（除非你有充足的理由）：&lt;br&gt;acpid, haldaemon, messagebus, klogd, network, syslogd&lt;br&gt;请确定修改的是运行级别 3 和 5。 &lt;p&gt;NetworkManager, NetworkManagerDispatcher&lt;br&gt;NetworkManager是一个后台服务程序，它构建于HAL之上，提供更专注于网络管理的功能。包括网络接口管理和网络状态查询，支持普通网络、拨号网络和无线网络，很多笔记本用户都需要启用该功能，它让你能够在无线网络和有线网络之间切换。大多数台式机用户应该关闭该服务。另外还提供VPN、 DHCP和DNS等附加功能。 &lt;p&gt;主要用于笔记本的有线网络和无线网络之间的切换，有些 DHCP 用户会用到 . 建议 Disable&lt;br&gt;&amp;lt;http://www.redhat.com/magazine/003jan05/features/networkmanager/&amp;gt;&lt;br&gt;&amp;lt;http://blog.csdn.net/absurd/archive/2007/05/11/1605200.aspx&amp;gt; &lt;p&gt;acpid&lt;br&gt;ACPI（全称 Advanced Configuration and Power Interface）服务是电源管理接口。建议所有的笔记本用户开启它。一些服务器可能不需要 acpi。支持的通用操作有：“电源开关“，”电池监视“，”笔记本 Lid 开关“，“笔记本显示屏亮度“，“休眠”， “挂机”，等等。&lt;br&gt;高级电源管理，在 Fedora 7 中默认安装的，如果需要可以安装 &lt;p&gt;anacron, atd, crond&lt;br&gt;这几个调度程序有很小的差别。 建议开启 cron，如果你的电脑将长时间运行，那就更应该开启它。对于服务器，应该更深入了解以确定应该开启哪个调度程序。大多数情况下，笔记本/台式机应该关闭 atd 和 anacron。注意：一些任务的执行需要 anacron，比如：清理 /tmp 或 /var。&lt;br&gt;Linux 里面的计划任务，cron 建议打开，其它两项关闭 &lt;p&gt;alsasound&lt;br&gt;Alsa声卡驱动守护程序。Alsa声卡驱动程序本来是为了 一种声卡Gravis UltraSound(GUS)而写的，该程序被证明很优秀，于是作者就开始为一般的声卡写 驱动程序。 Alsa和OSS/Free 及OSS/Linux兼容，但是有自己的接 口，甚至比OSS优秀。 &lt;p&gt;apmd&lt;br&gt;一些笔记本和旧的硬件使用 apmd。如果你的电脑支持 acpi，就应该关闭 apmd。如果支持 acpi，那么 apmd 的工作将会由 acpi 来完成。 &lt;p&gt;arptables_jf&lt;br&gt;为arptables网络的用户控制过滤的守护进程。 &lt;p&gt;arpwatch&lt;br&gt;记录日志并构建一个在LAN接口上看到的以太网地址和IP地址对数据库 。 &lt;p&gt;atalk&lt;br&gt;AppleTalk网络守护进程。注意不要在后台运行该程序，该程序的数据结构必须在运行其他进程前先花一定时间初始化。 &lt;p&gt;auditd&lt;br&gt;审核子系统可以被系统管理员用来监测系统调用和那些符合 CAPP 或其它审核要求的文件系统访问。它的主要内容包括：&lt;br&gt;· 默认情况下，审核在内核中被禁用。但是，当安装了 auditd 软件后，运行这个软件将会启动审核守护进程（auditd）。&lt;br&gt;· 当 auditd 运行的时候，审核信息会被发送到一个用户配置日志文件中（默认的文件是 /var/log/audit/audit.log）。如果 auditd 没有运行，审核信息会被发送到 syslog。这是通过默认的设置来把信息放入 /var/log/messages。如果审核子系统没有被启用，没有审核信息会被产生。&lt;br&gt;· 这些审核信息包括了 SELinux AVC 信息。以前，AVC 信息会被发送到 syslog，但现在会被审核守护进程发送到审核日志文件中。&lt;br&gt;· 要完全在内核中禁用审核，在启动的时候使用 audit=0 参数。您还需要使用 chkconfig auditd off 2345 来关闭 auditd。您可以在运行时使用 auditctl -e 0 来在内核中关闭审核。&lt;br&gt;审核守护进程（auditd）从内核的 audit netlink 接口获取审核事件数据。auditd 的配置会不尽相同，如输出文件配置和日志文件磁盘使用参数可以在 /etc/auditd.conf 文件中配置。请注意，如果您设置您的系统来进行 CAPP 风格的审核，您必须设置一个专用的磁盘分区来只供 audit 守护进程使用。这个分区应该挂载在 /var/log/audit。&lt;br&gt;系统管理员还可以使用 auditctl 工具程序来修改 auditd 守护进程运行时的审核参数、syscall 规则和文件系统的查看。它包括了一个 CAPP 配置样本，您可以把它拷贝到 /etc/audit.rules 来使它起作用。&lt;br&gt;审核日志数据可以通过 ausearch 工具程序来查看和搜索。&lt;br&gt;这个记录 kernel 的审计情况，相当于另外的一个 loggin 服务，用命令 auditctl 查看文件的变化情况，普通用户用不上可以关闭 &lt;p&gt;autofs&lt;br&gt;该服务自动挂载可移动存储器（比如 USB 硬盘）。如果你使用移动介质（比如移动硬盘，U 盘），建议启用这个服务。&lt;br&gt;自动加裁文件系统，如果你用的移动设备建议打开，不然就关掉咯 &lt;p&gt;avahi-daemon, avahi-dnsconfd&lt;br&gt;Avahi 是 zeroconf 协议的实现。它可以在没有 DNS 服务的局域网里发现基于 zeroconf 协议的设备和服务。它跟 mDNS 一样。除非你有兼容的设备或使用 zeroconf 协议的服务，否则应该关闭它。&lt;br&gt;相当于 mDNS 的一个软件，我也不知道干什么用的，建议关闭 &lt;p&gt;bootparamd&lt;br&gt;引导参数服务器，为LAN上的无盘工作站提供引导所需的相关信息。 &lt;p&gt;btseed, bttrack&lt;br&gt;和 BitTorrent 相关的服务，建议关闭 &lt;p&gt;bluetooth, hcid, hidd, sdpd, dund, pand&lt;br&gt;蓝牙（Bluetooth）是给无线便携设备使用的（非 wifi, 802.11）。很多笔记本提供蓝牙支持。有蓝牙鼠标，蓝牙耳机和支持蓝牙的手机。很多人都没有蓝牙设备或蓝牙相关的服务，所以应该关闭它。其他蓝牙相关的服务有：hcid 管理所有可见的蓝牙设备，hidd 对输入设备（键盘，鼠标）提供支持， dund 支持通过蓝牙拨号连接网络，pand 允许你通过蓝牙连接以太网。&lt;br&gt;用于蓝牙设备的 deamon ，没有的可以关闭 &lt;p&gt;capi&lt;br&gt;仅仅对使用 ISDN 设备的用户有用。大多数用户应该关闭它。&lt;br&gt;与ISDN相关的服务，一般用户都可以关闭 &lt;p&gt;chargen&lt;br&gt;使用tcp协议的chargen server，chargen（Character Generator Protocol）是一种网络服务，主要功能是提供类似远程打字的功能。 &lt;p&gt;chargen-udp&lt;br&gt;使用UDP协议的chargen server。 &lt;p&gt;chargen-dgram &lt;p&gt;chargen-stream &lt;p&gt;conman &lt;p&gt;cpuspeed&lt;br&gt;该服务可以在运行时动态调节 CPU 的频率来节约能源（省电）。许多笔记本的 CPU 支持该特性，现在，越来越多的台式机也支持这个特性了。如果你的 CPU 是：Petium-M，Centrino，AMD PowerNow， Transmetta，Intel SpeedStep，Athlon-64，Athlon-X2，Intel Core 2 中的一款，就应该开启它。如果你想让你的 CPU 以固定频率运行的话就关闭它。 &lt;p&gt;cupsd, cups-config-daemon, cups-lpd&lt;br&gt;以打印机相关的服务，有打印机可以打开 &lt;p&gt;cvs&lt;br&gt;cvs 是一个版本控制系统。 &lt;p&gt;daytime&lt;br&gt;使用TCP 协议的Daytime守护进程，该协议为客户机实现从远程服务器获取日期 和时间的功能。预设端口：13。 &lt;p&gt;daytime-udp&lt;br&gt;使用UDP 协议的Daytime守护进程。 &lt;p&gt;daytime-dgram &lt;p&gt;daytime-stream &lt;p&gt;dc_client, dc_server&lt;br&gt;磁盘缓存（Distcache）用于分布式的会话缓存。主要用在 SSL/TLS 服务器。它可以被 Apache 使用。大多数的台式机应该关闭它。 &lt;p&gt;dhcdbd&lt;br&gt;这是一个让 DBUS 系统控制 DHCP 的接口。可以保留默认的关闭状态。DHCP相关服务，使用DHCP的人打开，用固定IP的关闭就行了 &lt;p&gt;diskdump, netdump&lt;br&gt;磁盘转储（Diskdump）用来帮助调试内核崩溃。内核崩溃后它将保存一个 “dump“ 文件以供分析之用。网络转储（Netdump）的功能跟 Diskdump 差不多，只不过它可以通过网络来存储。除非你在诊断内核相关的问题，它们应该被关闭。 &lt;p&gt;discard-dgram &lt;p&gt;discard-stream &lt;p&gt;dnsmasq&lt;br&gt;DNSmasq是一个轻巧的，容易使用的DNS服务工具，它可以应用在内部网和Internet连接的时候的IP地址NAT转换，也可以用做小型网络的 DNS服务。 &lt;p&gt;echo&lt;br&gt;服务器回显客户数据服务守护进程。 &lt;p&gt;echo-udp&lt;br&gt;使用UDP协议的服务器回显客户数据服务守护进程。 &lt;p&gt;echo-dgram &lt;p&gt;echo-stream &lt;p&gt;eklogin&lt;br&gt;接受rlogin会话鉴证和用kerberos5加密的一种服务的守护进程。 &lt;p&gt;ekrb5-telnet &lt;p&gt;firstboot&lt;br&gt;该服务是 Fedora 安装过程特有的。它执行在安装之后的第一次启动时仅仅需要执行一次的特定任务。它可以被关闭。用于第一启动相关的设置，关闭 &lt;p&gt;functions &lt;p&gt;gated&lt;br&gt;网关路由守护进程。它支持各种路由协议，包括RIP版本1和2、DCN HELLO协议、 OSPF版本2以及EGP版本2到4。 &lt;p&gt;gpm&lt;br&gt;终端鼠标指针支持（无图形界面）。如果你不使用文本终端（CTRL-ALT-F1, F2..），那就关闭它。不过，我在运行级别 3 开启它，在运行级别 5 关闭它。对鼠标的支持，如果你用 console 要以打开，常用 x-server 就关闭 &lt;p&gt;gssftp&lt;br&gt;使用kerberos 5认证的ftp守护进程。 &lt;p&gt;haldaemon &lt;p&gt;HAL (Hardware Abstraction Layer) 这个必须打开&lt;br&gt;halt &lt;p&gt;hplip, hpiod, hpssd&lt;br&gt;HPLIP 服务在 Linux 系统上实现 HP 打印机支持，包括 Inkjet，DeskJet，OfficeJet，Photosmart，Business InkJet 和一部分 LaserJet 打印机。这是 HP 赞助的惠普 Linux 打印项目（HP Linux Printing Project）的产物。如果你有相兼容的打印机，那就启用它。HP打印机支持程序，不使就HP打印机的就关闭吧 &lt;p&gt;hsqldb&lt;br&gt;一个java的关系型数据库守护进程，得名于Hypersonic SQL，但这个项目已经没有再继续了。 &lt;p&gt;httpd&lt;br&gt;Web服务器Apache守护进程，可用来提供HTML文件以 及CGI动态内容服务。 &lt;p&gt;innd&lt;br&gt;Usenet新闻服务器守护进程。 &lt;p&gt;iiim&lt;br&gt;中文输入法服务器守护进程。 &lt;p&gt;inetd&lt;br&gt;因特网操作守护程序。监控网络对各种它管理的服务的需求，并在必要的时候启动相应的服务程序。在Redhat 和Mandrake linux中被xinetd代替。Debian, Slackware, SuSE仍然使用。 &lt;p&gt;ip6tables&lt;br&gt;如果你不知道你是否在使用 IPv6，大部分情况下说明你没有使用。该服务是用于 IPv6 的软件防火墙。大多数用户都应该关闭它。 &lt;p&gt;ipmi &lt;p&gt;iptables&lt;br&gt;它是 Linux 标准的防火墙（软件防火墙）。如果你直接连接到互联网（如，cable，DSL，T1），建议开启它。如果你使用硬件防火墙（比如：D- Link，Netgear，Linksys 等等），可以关闭它。强烈建议开启它。Linux 下的防火墙，好东东啊 &lt;p&gt;irda, irattach&lt;br&gt;IrDA 支持服务，大部分用户都不会用上,IrDA 提供红外线设备（笔记本，PDA’s，手机，计算器等等）间的通讯支持。大多数用户应该关闭它。 &lt;p&gt;irqbalance&lt;br&gt;在多处理器系统中，启用该服务可以提高系统性能。大多数人不使用多处理器系统，所以关闭它。但是我不知道它作用于多核 CPU’s 或 超线程 CPU’s 系统的效果。在单 CPU 系统中关闭它应该不会出现问题。对多核多CPU的用户的服务，用VMware的没必要打开了 &lt;p&gt;isdn&lt;br&gt;这是一种互联网的接入方式。除非你使用 ISDN 猫来上网，否则你应该关闭它。 &lt;p&gt;lirc&lt;br&gt;红外遥控支持，没什么用处 &lt;p&gt;lisa&lt;br&gt;和网上邻居的功能很像，如果用Samba 或 NFS 可以打开 &lt;p&gt;lm_sensors&lt;br&gt;主板测试PC健康用的服务，如CPU，硬盘温度之些的，不用可以关掉 &lt;p&gt;keytable&lt;br&gt;该进程的功能是转载在/etc/sysconfig/keyboards里定义的键盘映射表，该表可以通过kbdconfig工具进行选择。您应该使该程序处于激活状态。 &lt;p&gt;kdump &lt;p&gt;klogin&lt;br&gt;远程登陆守护进程。 &lt;p&gt;krb5-telnet&lt;br&gt;使用kerberos 5认证的telnet守护进程。 &lt;p&gt;kshell &lt;p&gt;kshell守护进程。 &lt;p&gt;killall &lt;p&gt;krb524 &lt;p&gt;kudzu&lt;br&gt;该服务进行硬件探测，并进行配置。如果更换硬件或需要探测硬件更动，开启它。但是绝大部分的台式机和服务器都可以关闭它，仅仅在需要时启动。如果你不是经常的更换硬件就关闭它 &lt;p&gt;ldap&lt;br&gt;ldap（Lightweight Directory Access Protocol）目录访问协议服务器守护进程。 &lt;p&gt;libvirtd &lt;p&gt;lm_sensors&lt;br&gt;该服务可以探测主板感应器件的值或者特定硬件的状态（一般用于笔记本电脑）。你可以通过它来查看电脑的实时状态，了解电脑的健康状况。它在 GKrellM 用户中比较流行。如果没有特殊理由，建议关闭它。 &lt;p&gt;lvm2-monitor &lt;p&gt;mcstrans&lt;br&gt;SELinux转换服务，如果你使用 SELinux 就开启它，但你也可以关闭。用于查看 context 的，用 SELinux 的可打开 &lt;p&gt;mdmonitor&lt;br&gt;该服务用来监测 Software RAID 或 LVM 的信息。它不是一个关键性的服务，可以关闭它。用于监视软 RAID 和 LVM 信息，你也可以关掉 &lt;p&gt;mdmpd&lt;br&gt;该服务用来监测 Multi-Path 设备（该类型的存储设备能被一种以上的控制器或方法访问）。它应该被关闭。 &lt;p&gt;messagebus&lt;br&gt;这是 Linux 的 IPC（Interprocess Communication，进程间通讯）服务。确切地说，它与 DBUS 交互，是重要的系统服务。强烈建议开启它。&lt;br&gt;IPC (Interprocess Communication) 进程间通信服务，一个重要的服务，必须打开 &lt;p&gt;multipathd, microcode_ctl&lt;br&gt;可编码以及发送新的微代码到内核以更新Intel IA32系列处理器守护进程。 &lt;p&gt;mysqld&lt;br&gt;一个快速高效可靠的轻型SQL数据库引擎守护进程。 &lt;p&gt;named&lt;br&gt;DNS（BIND）服务器守护进程。 &lt;p&gt;netconsole &lt;p&gt;初始化网络控制台登陆，关闭 &lt;p&gt;nasd&lt;br&gt;声音支持，用于X Windows，不用的就半掉 &lt;p&gt;netfs&lt;br&gt;该服务用于在系统启动时自动挂载网络中的共享文件空间，比如：NFS，Samba 等等。如果你连接到局域网中的其它服务器并进行文件共享，就开启它。大多数台式机和笔记本用户应该关闭它。 &lt;p&gt;netplugd, ifplugd&lt;br&gt;Netplugd 用于监测网络接口并在接口状态改变时执行指定命令。建议保留它的默认关闭状态。监测网络接口用的，普通用户关掉 &lt;p&gt;network&lt;br&gt;激活/关闭启动时的各个网络接口守护进程。 &lt;p&gt;nfs, nfslock&lt;br&gt;这是用于 Unix/Linux/BSD 系列操作系统的标准文件共享方式。除非你需要以这种方式共享数据，否则关闭它。 &lt;p&gt;nscd&lt;br&gt;服务名缓存进程，它为NIS和LDAP等服务提供更快的验证，如果你运行这些服务，那你应该开启它。用于缓存密码的，没什么用 &lt;p&gt;nmbd&lt;br&gt;Samba的一个服务，用于NETBeui名称解析用的 &lt;p&gt;ntpd&lt;br&gt;该服务通过互联网自动更新系统时间。如果你能永久保持互联网连接，建议开启它，但不是必须的。 &lt;p&gt;pcscd&lt;br&gt;该服务提供智能卡（和嵌入在信用卡，识别卡里的小芯片一样大小）和智能卡读卡器支持。如果你没有读卡器设备，就关闭它。 &lt;p&gt;pcmcia&lt;br&gt;主要用于支持笔记本电脑接口守护进程。 &lt;p&gt;portmap&lt;br&gt;该服务是 NFS（文件共享）和 NIS（验证）的补充。除非你使用 NFS 或 NIS 服务，否则关闭它。 &lt;p&gt;postgresql&lt;br&gt;PostgreSQL 关系数据库引擎。 &lt;p&gt;pppoe&lt;br&gt;ADSL连接守护进程。 &lt;p&gt;proftpd&lt;br&gt;proftpd 是Unix下的一个配置灵活的ftp服务器的守护程序。 &lt;p&gt;psacct&lt;br&gt;该守护进程包括几个工具用来监控进程活动的工具，包括ac,lastcomm, accton和sa。 &lt;p&gt;random&lt;br&gt;保存和恢复系统的高质量随机数生成器，这些随机数是系统一些随机行为提供的。 &lt;p&gt;rawdevices&lt;br&gt;在使用集群文件系统时用于加载raw设备的守护进程。 &lt;p&gt;rdisc &lt;p&gt;readahead_early, readahead_later&lt;br&gt;该服务通过预先加载特定的应用程序到内存中以提供性能。如果你想程序启动更快，就开启它。 &lt;p&gt;restorecond&lt;br&gt;用于给 SELinux 监测和重新加载正确的文件上下文（file contexts）。它不是必须的，但如果你使用 SELinux 的话强烈建议开启它。 &lt;p&gt;rhnsd&lt;br&gt;Red Hat 网络服务守护进程。通知官方的安全信息以及为系统打补丁。 &lt;p&gt;routed&lt;br&gt;该守护程序支持RIP协议的自动IP路由表维护。RIP主要 使用在小型网络上，大一点的网络就需要复杂一点的协议。 &lt;p&gt;rpcgssd, rpcidmapd, rpcsvcgssd&lt;br&gt;用于 NFS v4。除非你需要或使用 NFS v4，否则关闭它。 &lt;p&gt;rsync&lt;br&gt;remote sync远程数据备份守护进程。 &lt;p&gt;rsh&lt;br&gt;远程主机上启动一个shell，并执行用户命令。 &lt;p&gt;rwhod&lt;br&gt;允许远程用户获得运行rwho守护程序的机器上所有已登录用户的列表。 &lt;p&gt;rstatd&lt;br&gt;一个为LAN上的其它机器收集和提供系统信息的守候进程。 &lt;p&gt;ruserd&lt;br&gt;远程用户定位服务，这是一个基于RPC的服务，它提供关于当前记录到LAN上一个机器日志中的用户信息。 &lt;p&gt;rwalld&lt;br&gt;激活rpc.rwall服务进程，这是一项基于RPC的服务，允许用户给每个注册到LAN机器上的其他终端写消息。 &lt;p&gt;rwhod：激活rwhod服务进程，它支持LAN的rwho和ruptime服务。 &lt;p&gt;saslauthd&lt;br&gt;使用SASL的认证守护进程。 &lt;p&gt;sendmail&lt;br&gt;除非你管理一个邮件服务器或你想 在局域网内传递或支持一个共享的 IMAP 或 POP3 服务。大多数人不需要一个邮件传输代理。如果你通过网页（hotmail/yahoo/gmail）或使用邮件收发程序（比如：Thunderbird， Kmail，Evolution 等等）收发邮件。你应该关闭它。 &lt;p&gt;setroubleshoot&lt;br&gt;查看selinux日志的程序,这个程序提供信息给 setroubleshoot Browser，如果你用 SELinux 可以打开它 &lt;p&gt;squid&lt;br&gt;代理服务器squid守护进程。 &lt;p&gt;smartd&lt;br&gt;SMART Disk Monitoring 服务用于监测并预测磁盘失败或磁盘问题（前提：磁盘必须支持 SMART）。大多数的桌面用户不需要该服务，但建议开启它，特别是服务器。SMART，用于监测硬盘的，VMware用户关掉 &lt;p&gt;smb&lt;br&gt;SAMBA 服务是在 Linux 和 Windows 之间共享文件必须的服务。如果有 Windows 用户需要访问 Linux 上的文件，就启用它。 &lt;p&gt;snmpd&lt;br&gt;本地简单网络管理守护进程。 &lt;p&gt;sshd&lt;br&gt;SSH 允许其他用户登录到你的系统并执行程序，该用户可以和你同一网络，也可以是远程用户。开启它存在潜在的安全隐患。如果你不需要从其它机器或不需要从远程登录，就应该关闭它。 &lt;p&gt;syslog &lt;p&gt;tcpmux-server &lt;p&gt;tftp &lt;p&gt;time&lt;br&gt;该守护进程从远程主机获取时间和日期，采用TCP协议。 &lt;p&gt;time-udp&lt;br&gt;该守护进程从远程主机获取时间和日期，采用UDP协议。&lt;br&gt;time-dgram&lt;br&gt;time-stream &lt;p&gt;tux&lt;br&gt;在Linux内核中运行apache服务器的守护进程。 &lt;p&gt;vsftpd&lt;br&gt;vsftpd服务器的守护进程 &lt;p&gt;vmware-tools&lt;br&gt;vmware-tools，虚拟机中装了vmware-tools包之后才会有的。 &lt;p&gt;vncserver&lt;br&gt;VNC （Virtual Network Computing，虚拟网络计算），它提供了一种在本地系统上显示远程计算机整个”桌面”的轻量型协议。 &lt;p&gt;winbind&lt;br&gt;Winbind 是一款 Samba 组件，在 CentOS 系统下，他被包含在了 samba-common 包中。 Winbind 在Linux上实现了微软的RPC调用、可插式验证模块和名字服务切换，通过 samba 接口与 Windows 域控获得联系，可以使NT域用户能在Linux主机上以Linux用户身份进行操作。通过设定 Linux 服务器的 nss 配置，我们可以让系统通过 Winbind 程序来解析用户信息。 &lt;p&gt;wpa_supplicant&lt;br&gt;无线网卡上网服务 &lt;p&gt;xend, xendomains&lt;br&gt;XEN虚拟服务相关 &lt;p&gt;xfs&lt;br&gt;X Window字型服务器守护进程，为本地和远程X服务器提供字型集。 &lt;p&gt;xinetd&lt;br&gt;（该服务默认可能不被安装）它是一个特殊的服务。它可以根据特定端口收到的请求启动多个服务。比如：典型的 telnet 程序连接到 23 号端口。如果有 telent 请求在 23 号端口被 xinetd 探测到，那 xinetd 将启动 telnetd 服务来响应该请求。为了使用方便，可以开启它。运行 chkconfig -list， 通过检查 xinetd 相关的输出可以知道有哪些服务被 xinetd 管理。 &lt;p&gt;ypbind&lt;br&gt;为NIS（网络信息系统）客户机激活ypbind服务进程 。 &lt;p&gt;yppasswdd&lt;br&gt;NIS口令服务器守护进程。 &lt;p&gt;ypserv&lt;br&gt;NIS主服务器守护进程。 &lt;p&gt;yum, yum-updatesd&lt;br&gt;RPM操作系统自动升级和软件包管理守护进程。&lt;br&gt;ConsoleKit&lt;br&gt;这个主要是 Gnome 使用的用于 Fedora - Fast User Switching ，主要用于自动加载 device 和 Power Management. 建议 Disable&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/3159770468132283743/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/10/linux.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/3159770468132283743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/3159770468132283743'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/10/linux.html' title='linux 服务简要说明'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-7816607994957212826</id><published>2012-10-09T02:08:00.001-07:00</published><updated>2012-10-09T02:08:34.714-07:00</updated><title type='text'>php连接数据库mysql</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;$dblink=mysql_connet($mysql_server_host,$mysql_server_user,$mysql_server_password)&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/7816607994957212826/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/10/phpmysql.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/7816607994957212826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/7816607994957212826'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/10/phpmysql.html' title='php连接数据库mysql'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-4502079194239161254</id><published>2012-10-08T19:04:00.001-07:00</published><updated>2012-10-08T19:04:43.008-07:00</updated><title type='text'>记录mysql的安装方式</title><content type='html'>&lt;p&gt;MySQL有两种安装方式：源码包安装和二进制包安装。这两种方式各有特色：二位制包安装不需编译，针对不同的平台有经过优化编译的不同的二进制文件以及包格式，安装简单方便；源码包则必须先配置编译再安装，可以根据你所用的主机环境进行优化，选择最佳的配置值，安装定制更灵活。下面分别介绍这两种安装方式。&lt;br&gt;　3.1 源码包方式安装&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1.1 在linux系统中添加运行Mysql的用户和组&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/sbin/groupadd mysql&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/sbin/useradd -d /var/lib/mysql -s /sbin/nologin -g mysql mysql&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1.2 下载最新稳定发行版(GA)的MySQL软件&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 访问MySQL网站&lt;a href=&quot;http://dev.mysql.com/downloads/&quot;&gt;http://dev.mysql.com/downloads/&lt;/a&gt;下载最新稳定发行版的MySQL源码包。本文使用的是5.0.51版本，在linux系统下用下面的命令下载：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wget &lt;a href=&quot;http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.0/mysql-5.0.51.tar.gz&quot;&gt;http://mysql.mirror.kangaroot.ne ... mysql-5.0.51.tar.gz&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1.3 解压缩下载的源码包&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 首先建立一个工作目录( 笔者建议的目录为/usr/local/src/mysql ) ：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mkdir -p /usr/local/src/mysql&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 将下载的源码包移至工作目录：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mv&amp;nbsp; mysql-5.0.51.tar.gz&amp;nbsp; /usr/local/src/mysql&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 进入工作目录并用tar命令解压源码包：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cd&amp;nbsp; /usr/local/src/mysql&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tar zxvf&amp;nbsp; mysql-5.0.51.tar.gz &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 命令执行结束后，当前工作目录下将生成一个新的子目录mysql-5.0.51，此目录下即为mysql的源码文件。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1.4 配置Makefile文件&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 进入MySQL源码目录：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cd mysql-5.0.51&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令可查看可配置选项：&lt;br&gt;　　　 ./configure --help&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 本文使用的配置命令格式如下：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CC=gcc CFLAGS=&quot;-O3&quot; CXX=gcc CXXFLAGS=&quot;-O3 -felide-constructors -fno-exceptions -fno-rtti&quot; ./configure --prefix=/usr/local/mysql --enable-thread-safe-client --enable-assembler --with-big-tables --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static&amp;nbsp; --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=complex &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 配置选项说明：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CC：C编译器的名称（用于运行configure），本文示例为gcc&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CFLAGS：C编译器的标志（用于运行configure），本文示例为-O3，指定优化级别为3&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXX：C++编译器的名称（用于运行configure），本文示例为gcc&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXXFLAGS：C++编译器的标志（用于运行configure）&lt;br&gt;　　　 --prefix：指定安装目录，本文示例为/usr/local/mysql&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --localstatedir：指定默认数据库文件保存目录，默认为安装目录下的var目录&lt;br&gt;&amp;nbsp;&amp;nbsp; --enable-thread-safe-client：编译线程安全版的MySQL客户端库&lt;br&gt;　　　 --enable-assembler：使用一些字符函数的汇编版本&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-client-ldflags：客户端链接参数，本文示例为指定静态编译mysql客户端&lt;br&gt;　　　 --with-mysqld-ldflags：服务器端链接参数，本文示例为指定静态编译mysql服务器&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-big-tables：在32位平台上支持大于4G行的表&lt;br&gt;　　　 --with-charset：指定默认字符集。mysql默认使用latin1(cp1252)字符集，可以使用此选项更改。字符集可以是big5、 cp1251、cp1257、czech、danish、dec8、dos、euc_kr、gb2312、gbk、german1、hebrew、 hp8、hungarian、koi8_ru、koi8_ukr、latin1、latin2、sjis、swe7、tis620、ujis、usa7或 win1251ukr。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --with-collation：指定默认校对规则。mysql默认使用latin1_swedish_ci校对规则，可以使用此选项更改。&lt;br&gt;　　　 --with-extra-charsets：服务器需要支持的字符集，有三种可能的值：空格间隔的一系列字符集名；complex ，包括不能动态装载的所有字符集；all，将所有字符集包括进二进制。本文示例为complex。&lt;br&gt;　　　 注意：要想更改字符集和校对规则，要同时使用--with-charset和--with-collation选项。 校对规则必须是字符集的合法校对规则。(在mysql中使用SHOW COLLATION语句来确定每个字符集使用哪个校对规则)。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1.5 编译源代码&lt;br&gt;　　　 执行下面的命令编译源代码：&lt;br&gt;　　　 make&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1.6 安装&lt;br&gt;　　　 执行下面的命令安装mysql到目标路径：&lt;br&gt;　　　 make install&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1.7 复制默认全局启动参数配置文件到/etc目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 源码方式安装需要手动复制配置文件，配置模板位于源码树的support-files目录，有my-small.cnf、my- medium.cnf、my-large.cnf、my-huge.cnf四个，选择跟你的环境相接近的一个复制到/etc目录，并做适当修改。关于 mysql配置文件的详细信息请参阅笔者的其它文章或是mysql官方文档。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 本文示例选择my-medium.cnf，执行下面的命令将其复制到/etc目录：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cp ./support-files/my-medium.cnf&amp;nbsp; /etc/my.cnf&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1.8 初始化授权表&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令初始化授权表： &lt;br&gt;　　　 ./scripts/mysql_install_db --user=mysql&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1.9 更改mysql数据目录属主和权限&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 默认数据库文件保存目录为安装目录下的var目录，执行configure命令时可通过--localstatedir参数指定不同的目录，本文示例为默认位置。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chown -R mysql.mysql /usr/local/mysql/var&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chmod -R 700 /usr/local/mysql/var&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1.10 设置开机自启动服务控制脚本&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令复制启动脚本到资源目录：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令增加mysqld服务控制脚本执行权限：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chmod +x /etc/rc.d/init.d/mysqld&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令将mysqld服务加入到系统服务：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chkconfig --add mysqld&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令检查mysqld服务是否已经生效：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chkconfig --list mysqld&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 命令输出类似下面的结果：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysqld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://www.itpub.net/static/image/smiley/qqbiaoqin/yiw.gif&quot;&gt;ff 1&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://www.itpub.net/static/image/smiley/qqbiaoqin/yiw.gif&quot;&gt;ff 2&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://www.itpub.net/static/image/smiley/qqbiaoqin/yiw.gif&quot;&gt;n 3&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://www.itpub.net/static/image/smiley/qqbiaoqin/yiw.gif&quot;&gt;n 4&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://www.itpub.net/static/image/smiley/qqbiaoqin/yiw.gif&quot;&gt;n 5&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://www.itpub.net/static/image/smiley/qqbiaoqin/yiw.gif&quot;&gt;n 6&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://www.itpub.net/static/image/smiley/qqbiaoqin/yiw.gif&quot;&gt;ff&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 表明mysqld服务已经生效，在2、3、4、5运行级别随系统启动而自动启动，以后可以使用service命令控制mysql的启动和停止。&lt;br&gt;　　　 启动mysqld服务：&lt;br&gt;　　　 service mysqld start&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 停止mysqld服务：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; service mysqld stop&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令关闭开机自启动：&lt;br&gt;　　　 chkconfig mysqld off&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令可以改变开机自启动的运行级别为3、5：&amp;nbsp; &lt;br&gt;　　　 chkconfig --level 35 mysqld on&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1.11 将mysql的bin目录加入PATH环境变量&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 编辑/etc/profile文件：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vi /etc/profile&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在文件最后添加如下两行：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PATH=$PATH:/usr/local/mysql/bin&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; export PATH&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令使所做的更改生效：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . /etc/profile&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.2 二进制包方式安装&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;　3.2.1 从安装媒体安装&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mysql二进制包已经包含在CentOS 5的安装媒体中，可以直接从安装媒体中安装下面三个rpm包：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysql-5.0.22-2.1.0.1.i386.rpm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysql-devel-5.0.22-2.1.0.1.i386.rpm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysql-server-5.0.22-2.1.0.1.i386.rpm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 不同的版本文件名有所不同，请注意区分。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令安装：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpm -iUvh&amp;nbsp; mysql-5.0.22-2.1.0.1.i386.rpm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpm -iUvh&amp;nbsp; mysql-devel-5.0.22-2.1.0.1.i386.rpm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpm -iUvh&amp;nbsp; mysql-server-5.0.22-2.1.0.1.i386.rpm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.2.2 通过yum安装&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 如果你安装的机器此时可以连接到互联网，笔者建议使用yum命令来简化安装过程：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yum install mysql-server mysql-devel mysql&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yum将自动从centos的镜像站点查找你指明的软件的最新二进制包，并检查软件包依赖关系，安装软件的同时自动安装其依赖的软件包。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.2.3 从mysql网站下载最新稳定版本的二进制包安装&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 通过CentOS安装媒体或yum安装的二进制包版本会落后于mysql开发者网站发布的版本，可以从mysql网站下载安装最新稳定版本的mysql。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 访问MySQL网站&lt;a href=&quot;http://dev.mysql.com/downloads/&quot;&gt;http://dev.mysql.com/downloads/&lt;/a&gt;下载最新稳定发行版的相应硬件平台的MySQL。本文使用的是Red Hat Enterprise Linux 5 RPM (x86) 5.0.45版本。需要下载Server、Client、Headers and Libraries、Share Libraries/Shared compatibility libraries几个rpm包，其它为可选包，按需要选择。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在linux系统下用下面的命令下载：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wget &lt;a href=&quot;http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/MySQL-server-community-5.0.45-0.rhel5.i386.rpm&quot;&gt;http://mysql.mirrors.pair.com/Do ... 45-0.rhel5.i386.rpm&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wget &lt;a href=&quot;http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/MySQL-client-community-5.0.45-0.rhel5.i386.rpm&quot;&gt;http://mysql.mirrors.pair.com/Do ... 45-0.rhel5.i386.rpm&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wget &lt;a href=&quot;http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/MySQL-devel-community-5.0.45-0.rhel5.i386.rpm&quot;&gt;http://mysql.mirrors.pair.com/Do ... 45-0.rhel5.i386.rpm&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wget &lt;a href=&quot;http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/MySQL-shared-community-5.0.45-0.rhel5.i386.rpm&quot;&gt;http://mysql.mirrors.pair.com/Do ... 45-0.rhel5.i386.rpm&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wget &lt;a href=&quot;http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/MySQL-shared-compat-5.0.45-0.rhel5.i386.rpm&quot;&gt;http://mysql.mirrors.pair.com/Do ... 45-0.rhel5.i386.rpm&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令安装：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpm -iUvh MySQL-server-community-5.0.45-0.rhel5.i386.rpm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpm -iUvh MySQL-client-community-5.0.45-0.rhel5.i386.rpm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpm -iUvh MySQL-devel-community-5.0.45-0.rhel5.i386.rpm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpm -iUvh MySQL-shared-community-5.0.45-0.rhel5.i386.rpm&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rpm -iUvh MySQL-shared-compat-5.0.45-0.rhel5.i386.rpm&lt;br&gt;4. MySQL的配置&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.1 目录结构&lt;br&gt;　4.1.1 源码包方式安装目录结构&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 源码包方式安装时通常是在3.1.4节中configure命令的--prefix选项指定的目录中建立如下的目录结构，特殊指定的目录除外：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ./bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql用户可执行文件目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ./include/mysql&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql C头文件目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ./info&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql 信息文件目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ./lib/mysql&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql库文件目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ./libexec&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql后台daemon程序目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ./man&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql联机帮助文档目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ./mysql-test&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql测试程序目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ./share/mysql&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql公用文件目录，包括字符集、配置文件模板、启动脚本、初始化SQL文件等&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ./sql-bench&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql压力测试程序目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/my.cnf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql配置文件&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/rc.d/init.d/mysqld #mysqld服务启动脚本&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.1.2 RPM二进制包方式安装目录结构&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 二进制包方式安装时使用系统软件默认目录结构 ：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql用户可执行文件目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/libexec&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql后台daemon程序目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/lib/mysql&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql库文件目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/lib64/mysql&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #如果为64系统，mysql 64位库文件目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/share/doc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql文档目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/share/info&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql信息文件目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/share/man&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql联机帮助文档目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/share/mysql&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql字符集目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/include/mysql #mysql C头文件目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /var/log&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysqld服务日志文件目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /var/run/mysqld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysqld服务运行状态目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /var/lib/mysql&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql数据文件目录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/my.cnf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #mysql配置文件&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/rc.d/init.d/mysqld&amp;nbsp; #mysqld服务启动脚本&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.2 配置文件&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Linux系统下，mysql的配置参数文件为my.cnf，一般按下面的顺序查找此文件：/etc目录、mysql安装目录、mysql数据目录。配置模板位于源码树的support-files目录，有my-small.cnf、my-medium.cnf、my-large.cnf、my- huge.cnf四个，关于mysql配置文件的详细信息请参阅笔者的其它文章或是mysql官方文档。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.3 启动mysqld服务&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令启动mysql：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; service mysqld start&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.3 设置mysql帐号&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysql安装后默认生成两个帐号：一个是root，未设置密码，可以从本机登录到mysql；另一个是匿名帐号，无帐号名、无密码，可以从本机登录，未提供用户名的连接都将假定为此帐号。这样的设置存在着安全隐患，按下面的步骤进行更改。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 以root帐号连接到mysql服务器：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysql -u root &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 如果提示找不到mysql文件，请尝试使用绝对路径，如本文示例为：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/local/mysql/bin/mysql -u root &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 命令成功执行后将进入到mysql命令提示符下：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mysql&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; （以下命令均在mysql命令提示符下执行）&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 改变当前数据库为mysql：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; use mysql&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 设置从本地主机登录的root帐号密码：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set password for root@localhost=password(&#39;your password&#39;);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 或：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; update user set password=password(&#39;your password&#39;) where user=&#39;root&#39; and host=&#39;localhost&#39;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 删除匿名帐号： &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delete from user where user=&#39;&#39; ;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 删除密码为空的帐号：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delete from user where password=&#39;&#39;;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 删除允许非localhost主机登录的帐号：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delete from user where host&amp;lt;&amp;gt;&#39;localhost&#39; ;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令使更改生效：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; flush privileges ; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行下面的命令退出mysql命令行：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; quit&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 或：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \q&lt;br&gt;5. 结束语&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 至此，Mysql基本安装完毕。希望本文能对初学者有所帮助。 &lt;br&gt;本文来自CSDN博客，转载请标明出处：&lt;a href=&quot;http://blog.csdn.net/xiamizy/archive/2008/01/30/2072525.aspx&quot;&gt;http://blog.csdn.net/xiamizy/archive/2008/01/30/2072525.aspx&lt;/a&gt;&lt;br&gt;Linux (non RPM packages) downloads&lt;br&gt;#newuser&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ## 按提示添加名为”mysql”的用户和组，你也可以使用sysinstall来添加&lt;br&gt;#vi /etc/group&amp;nbsp; ## 在wheel组里添加上mysql用户（一般是在root后面加上”,mysql”），原因在后面说到&lt;br&gt;#tar zxvf&amp;nbsp; mysql-5.1.31-linux-686-glibc23.tar.gz&lt;br&gt;#mv mysql-5.1.31-linux-686-glibc23 /usr/local/mysql&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ## 我安装在/usr/local/mysql下&lt;br&gt;#cd /usr/local/mysql&lt;br&gt;#chown -R mysql .&lt;br&gt;#chgrp -R mysql .&lt;br&gt;#su simon&amp;nbsp;&amp;nbsp;&amp;nbsp; ## 这一步重要呀，mysql里的INSTALL-BINARY都没提到，试了N次才知，要不你就要以root的身份运行，即执行 scripts/mysql_install_db时不指定–user=mysql, 要不下面的那一步死活不能通过，也没有错误提示，我在这里卡了很久&lt;br&gt;$scripts/mysql_install_db –user=mysql&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ## 这里可能会出现一些警告，主要是因为DNS，你可以加上 –force参数或在/etc/hosts里加一项你的主机名&lt;br&gt;$exit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&amp;nbsp; 因为我之前是用su,反正你改回root就行,因为要启动服务&lt;br&gt;#chown -R root .&lt;br&gt;#chown -R mysql .&lt;br&gt;#cp support-files/my-xxx.cnf /etc/my.cnf&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&amp;nbsp; 这里根据你自己的要求使用mysql的配置文件&lt;br&gt;#support-files/mysql.server start ## 如果你是在wheel组里添加了 mysql用户，那这里就应该不会出问题了，因为mysql要在/tmp下添加一个sock,但用户“mysql”对这目录是没有有写权限的，所以要让 “mysql”成为whell的成员&lt;br&gt;#bin/mysqladmin -uroot password ‘这里填写你的root密码’&lt;br&gt;好了，基本完成&lt;br&gt;验证mysql运行:&lt;br&gt;#netstat -al&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&amp;nbsp; 看看3306,如果启动了就表示成功了&lt;br&gt;#bin/mysql -uroot -p&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ##&amp;nbsp; 试试登录，应该没问题了&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/4502079194239161254/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/10/mysql.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/4502079194239161254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/4502079194239161254'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/10/mysql.html' title='记录mysql的安装方式'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-4343472738094275062</id><published>2012-10-07T18:45:00.001-07:00</published><updated>2012-10-07T18:45:08.444-07:00</updated><title type='text'>大日志分割方法</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;strong&gt;说&lt;/strong&gt;明：&lt;/strong&gt; &lt;p&gt;本文采用一个50M大小的日志文件进行测试。&lt;br&gt;日志文件名：log.txt.gz。&lt;br&gt;文件行数：208363 &lt;p&gt;&lt;strong&gt;方法1：（split分割）&lt;/strong&gt;&lt;br&gt;语法：split [-&amp;lt;行数&amp;gt;][-b &amp;lt;字节&amp;gt;][-C &amp;lt;字节&amp;gt;][-l &amp;lt;行数&amp;gt;][要切割的文件][输出文件名] &lt;p&gt;# gunzip log.txt.gz //一定要先解压，否则分割的文件是不能cat/zcat显示； &lt;p&gt;# wc -l log.txt //计算一个文件的总行数； &lt;p&gt;208363 log.txt&lt;br&gt;# split -l 120000 log.txt newlog //通过指定行数，将日志分割成两个文件；&lt;br&gt;# du -sh *50M log.txt&lt;br&gt;29M newlogaa&lt;br&gt;22M newlogab&lt;br&gt;# file * //分割后的文件与原文件属性一样&lt;br&gt;log.txt: ASCII text, with very long lines, with CRLF line terminators&lt;br&gt;newlogaa: ASCII text, with very long lines, with CRLF line terminators&lt;br&gt;newlogab: ASCII text, with very long lines, with CRLF line terminators&lt;br&gt;# gzip newlogaa newlogab //将分割后的文件进行压缩，以便传输 &lt;p&gt;另一种方法，通过 &lt;p&gt;&lt;strong&gt;方法2：（dd分割）&lt;/strong&gt;&lt;br&gt;# gunzip log.txt.gz //一定要先解压，否则分割的文件是不能cat/zcat显示； &lt;p&gt;#dd bs=20480 count=1500 if=log.txt of=newlogaa //按大小分第一个文件 &lt;p&gt;#dd bs=20480 count=1500 if=log.txt of=newlogab skip=1500 //将大小之后的生成另一个文件#file * &lt;p&gt;log.txt: ASCII text, with very long lines, with CRLF line terminators&lt;br&gt;newlogaa: ASCII text, with very long lines, with CRLF line terminators&lt;br&gt;newlogab: ASCII text, with very long lines, with CRLF line terminators &lt;p&gt;分割没问题，但会出现同一行分到不同文件的情况，除非你以及日志分析系统可以“容忍”。 &lt;p&gt;&lt;strong&gt;方法3：（head+tail 分割）&lt;/strong&gt;&lt;br&gt;#gzip log.txt.gz //如不解压缩，下面请用zcat。&lt;br&gt;#wc -l log.txt //统计一个行数&lt;br&gt;208363 log.txt&lt;br&gt;# head -n `echo $((208363/2+1))` log.txt &amp;gt; newloga.txt //前x行重定向输出到一个文件中； &lt;p&gt;#tail –n `echo $((208363-208362/2-1))` log.txt &amp;gt;newlogb.txt //后x行重定向输出到一个文件中； &lt;p&gt;#gzip newloga.txt newlogb.txt //将两个文件进行压缩 &lt;p&gt;&lt;strong&gt;方法4：（awk分割）&lt;/strong&gt;&lt;br&gt;#gzip log.txt.gz#awk ‘{if (NR&amp;lt;120000) print $0}’ log.txt &amp;gt;newloga.txt#awk ‘{if (NR&amp;gt;=120000) print $0}’ log.txt &amp;gt;newlogb.txt &lt;p&gt;以上两个命令，都要遍历整个文件，所以考虑到效率，应使用合并成：  &lt;p&gt;#awk ‘{if (NR&amp;lt;120000) print $0 &amp;gt;”newloga.txt”;if (NR&amp;gt;=120000) print $0&amp;gt;”newlogb.txt”}’ log.txt &lt;p&gt;&lt;strong&gt;总结：&lt;/strong&gt;&lt;br&gt;以上四种方法，除了dd之外的三种方式都可以很好的整行分割日志文件。进行分割时，应考虑在读一次文件的同时完成，如不然，按下面的方式分割：&lt;br&gt;Cat log.txt| head –12000 &amp;gt;newloga.txt&lt;br&gt;Cat log.txt | tail –23000 &amp;gt;newlogb.txt&lt;br&gt;如用此方法分割文件的后一部分，那么执行第二行命令文件时，前x行是白白读一遍的，执行的效率将很差，如文件过大，还可能出现内存不够的情况。&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/4343472738094275062/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/10/blog-post.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/4343472738094275062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/4343472738094275062'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/10/blog-post.html' title='大日志分割方法'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-1118874535185233701</id><published>2012-08-08T00:19:00.001-07:00</published><updated>2012-08-08T00:19:20.214-07:00</updated><title type='text'>zabbix中文配置指南</title><content type='html'>&lt;h3&gt;一、Zabbix简介&lt;/h3&gt; &lt;h4&gt;&lt;strong&gt;1.1 Zabbix简介&lt;/strong&gt;&lt;/h4&gt; &lt;p&gt;　　Zabbix是一个企业级的开源分布式监控解决方案，由一个国外的团队持续维护更新，软件可以自由下载使用，运作团队靠提供收费的技术支持赢利。官方网站：http://www.zabbix.com官方文档：http://www.zabbix.com/documentation/2.0 /manual/quickstart。Zabbix通过C/S模式采集数据，通过B/S模式在web端展示和配置。 &lt;p&gt;&lt;strong&gt;Zabbix运行条件：&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;Server&lt;/strong&gt;：Zabbix Server需运行在LAMP（Linux+Apache+Mysql+PHP）环境下，对硬件要求低。 &lt;p&gt;&lt;strong&gt;Agent&lt;/strong&gt;：目前已有的agent基本支持市面常见的OS，包含Linux、HPUX、Solaris、Sun、windows。 &lt;p&gt;&lt;strong&gt;SNMP&lt;/strong&gt;：支持各类常见的网络设备 &lt;p&gt;&lt;strong&gt;1.2 Zabbix功能&lt;/strong&gt; &lt;p&gt;　　具备常见的商业监控软件所具备的功能（主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制）支持自动发现网络设备和服务器；支持分布式，能集中展示、管理分布式的监控点；扩展性强，server提供通用接口，可以自己开发完善各类监控。 &lt;p&gt;&lt;strong&gt;1.3 优劣势&lt;/strong&gt; &lt;p&gt;&lt;strong&gt;优点&lt;/strong&gt;：开源，无软件成本投入；Server对设备性能要求低（实际测试环境：虚拟机CentOS5，2GCPU 1G内存，监控5台设备，CPU使用率基本保持在10%以下，内存剩余400M以上）；支持设备多；支持分布式集中管理；开放式接口，扩展性强。 &lt;p&gt;&lt;strong&gt;缺点&lt;/strong&gt;：中文资料较少。 &lt;h3&gt;&lt;strong&gt;二、Zabbix配置文件&lt;/strong&gt;&lt;/h3&gt; &lt;h4&gt;&lt;strong&gt;2.1 说明&lt;/strong&gt;&lt;/h4&gt; &lt;p&gt;&lt;strong&gt;Server&lt;/strong&gt;：指安装zabbix服务的服务器（以下简称服务器端），是最重要的部份，主要安装在linux系统上（支持多种操作系统），采用mysql存储监控数据并使用apache+php的方式呈现。 &lt;p&gt;&lt;strong&gt;Agent&lt;/strong&gt;：指安装在被监控设备上的zabbix代理（以下简称代理），被监控设备上的数据由代理收集后统一上传到服务器端由服务器端收集、整理并呈现。 &lt;p&gt;&lt;strong&gt;SNMP&lt;/strong&gt;：也是agent的一种，指支持SNMP协议的设备（也可以是服务器），通过设定SNMP的参数将相关监控数据传送至服务器端（大部份的交换机、防火墙等网络设备都支持SNMP协议）。 &lt;p&gt;&lt;strong&gt;IPMI&lt;/strong&gt;：Agent的另一种方式，主要应用于设备的物理性能监控，例如设备的温度、风扇的转速等。 &lt;h4&gt;&lt;strong&gt;2.2 Zabbix架构&lt;/strong&gt;&lt;/h4&gt; &lt;p&gt;　　Zabbix支持多种网络方式下的监控，可通过分布式的方式部署和安装监控代理，整个架构如（图一、图四）所示。&lt;a href=&quot;http://img1.51cto.com/attachment/201208/130335905.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/130335905.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt; &lt;p&gt;图一：架构图 &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/130428909.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/130428909.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt; &lt;p&gt;图四：架构图 &lt;h4&gt;&lt;strong&gt;2.3 Zabbix服务配置文件&lt;/strong&gt;&lt;/h4&gt; &lt;p&gt;　　Zabbix安装后服务端默认的配置文件存在安装文件夹中的/etc中，假设编译的参数是“—prefix=/usr/local/zabbix”，那么服务端的配置文件则在“vi /usr/loca/zabbix/etc/”。如图二所示。 &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/130608532.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/130608532.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt; &lt;p&gt;图二：配置文件 &lt;p&gt;　　主要的配置文件两个:“zabbix_server.conf”负责服务器端的设定；“zabbix_agent.conf”用来设置客户端代理参数；“zabbix_proxy.conf”用来设定分布式的部署。 &lt;h4&gt;&lt;strong&gt;2.4 zabbix_server.conf说明&lt;/strong&gt;&lt;/h4&gt; &lt;p&gt;　　Zabbix_server.conf中的参数比较多，设定值的跨度也很大，这里仅列出常用的一些参数。如图三所示。 Zabbix_server.conf参数除了保证服务正常运行外还涉及该服务器的性能，如果参数设定不合理可能会导致zabbix添加主机不正常、代理端数据无法正常收集或是zabbix服务器性能严重下降，经常报告CPU占用过高或是IO占用过高等问题。 &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/130715384.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/130715384.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt; &lt;p&gt;图三：zabbix_server.conf &lt;p&gt;DBName=zabbix&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zabbix所属数据库名称&lt;br&gt;DBUser=zabbix&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zabbix所属数据库用户&lt;br&gt;DBPassword=www.xxxxxx.com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zabbix数据库密码&lt;br&gt;StartPollers=30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 轮询的初始值（0-1000）&lt;br&gt;StartIPMIPollers=4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPMI轮询的初始值（0-1000）&lt;br&gt;StartPollersUnreachable=30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 轮询不可达的主机数（包括IPMI 0-1000）&lt;br&gt;StartTrappers=8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 捕获的初始值（0-1000）&lt;br&gt;StartPingers=4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ping的初始值（0-1000）&lt;br&gt;StartDiscoverers=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 自动发现的初始值（0-250）&lt;br&gt;CacheSize=384M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 缓存大小&lt;br&gt;CacheUpdateFrequency=300&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 缓存更新的频率&lt;br&gt;StartDBSyncers=8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 数据库同步时间&lt;br&gt;TrendCacheSize=128M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 总趋势缓存大小&lt;br&gt;AlertScriptsPath=/usr/bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 脚本的存放位置&lt;br&gt;LogSlowQueries=1000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 日志慢查询设定 &lt;h4&gt;&lt;strong&gt;2.5 zabbix_agent.conf说明&lt;/strong&gt;&lt;/h4&gt; &lt;p&gt;　　Zabbix_agent.conf用来配置代理的参数，该文件中需要更改的地方比较少，仅更改几个常用的参数就行了（linux的agent和windows的都差不多，大同小异,以下的说明以windows为例）。如图五所示。 &lt;p&gt;LogFile=c:\zabbix\zabbix_agentd.log&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 日志文件的存放位置&lt;br&gt;Server=192.168.0.189&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zabbix服务器的IP&lt;br&gt;Hostname=192.168.0.13&amp;nbsp; 被监控机的IP &lt;p&gt;需要注意的是代理端的设定参数“Hostname=192.168.0.13”要和配置时填入的主机名称一致，不然日志中将会报“host {主机名}not found”的错误。如（图六、七）所示。 &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131147196.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/131147196.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt; &lt;p&gt;图五：zabbix_agent.conf &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131211742.jpg&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/131211742.jpg&quot; width=&quot;650&quot;&gt;&lt;/a&gt; &lt;p&gt;图六：主机名不一致的错误提示 &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131247145.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/131247145.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt; &lt;p&gt;图七：填入正确的主机名 &lt;h4&gt;&lt;strong&gt;2.6 Agent安装&lt;/strong&gt;&lt;/h4&gt; &lt;p&gt;　　Zabbix需要在被监控的host上安装agent，在zabbix官网上下载相应平台的agent包到各被监控端，按如下方式在被监控上运行 agent。（注：官网上下载的agent包里没有运行agentd所必须的配置文件，可以从zabbix server上拷贝一份zabbix_agentd.conf，这个conf文件是所有平台都通用的） &lt;p&gt;&lt;strong&gt;2.6.1 Linux Agent安装&lt;/strong&gt; &lt;p&gt;　　Linux、UNIX上的agent是编译好了的，不用编译安装。（图八）&lt;pre&gt;&lt;ol&gt;&lt;li&gt;useradd zabbix&amp;nbsp; &lt;li&gt;cd /usr/local/zabbix &lt;li&gt;tar zxvf zabbix_agents_1.8.linux2_6.i386.tar.gz &lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131431640.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/131431640.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图八：agent安装&lt;br /&gt;&lt;p&gt;　　取一份server上的zabbix_agnetd.conf到本地，然后按说明修改，一般我们只需修改2.5中的三个参数。修改完成后，运行agentd。&lt;pre&gt;&lt;ol&gt;&lt;li&gt;/usr/local/zabbix/sbin/zabbix-agentd –c /usr/local/zabbix/zabbix_agentd.conf &amp;amp; &lt;li&gt;ps –ef|grep zabbix_agentd &lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;　　如果进程没起来，可查看agentd.log日志来排查问题。（注：启动时建议用全路径，否则可能会出错），加入开机运行。&lt;pre&gt;&lt;ol&gt;&lt;li&gt;echo ‘/usr/local/zabbix/sbin/zabbix-agentd –c /usr/local/zabbix/zabbix_agentd.conf &amp;amp;‘ &amp;gt;&amp;gt;/etc/rc.local &lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;2.6.2 Windows agent安装&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;　　Windows下解压客户端包到c:\zabbix,下载修改好的zabbix_agentd.conf文件也放到c:\zabbix,打开cmd命令行，执行:&lt;pre&gt;&lt;ol&gt;&lt;li&gt;zabbix_agentd -c &quot;c:\zabbix\zabbix_agentd.conf&quot; -i &lt;li&gt;zabbix_agentd -c &quot;c:\zabbix\zabbix_agentd.conf&quot; -s &lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;　　安装后会在系统服务里添加一个zabbix_agentd服务（图九），会自动开机运行。如果需要将卸载客户端，请执行(图十)：&lt;pre&gt;&lt;ol&gt;&lt;li&gt;zabbix_agentd -c &quot;c:\zabbix\zabbix_agentd.conf&quot; -x &lt;li&gt;zabbix_agentd -c &quot;c:\zabbix\zabbix_agentd.conf&quot; –d &lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131701504.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/131701504.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图九：zabbix agent服务&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131728994.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/131728994.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图十：zabbix agent服务卸载、安装命令&lt;br /&gt;&lt;h3&gt;三、Zabbix配置&lt;/h3&gt;&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;3.1 更改Zabbix map图标&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　Zabbix的maps用来图形化显示监控设备的拓扑图，并且以不同的标记显示故障事件，通过该图表很直观的显示设备的整体情况。系统默认的图标比较简陋，如图十一所示。通过更改系统自带的图标让监控显示更加直观、方便（图十二）。&lt;br /&gt;&lt;p&gt;　　首先下载Icon图标，通过http://www.zabbix.com/forum/attachment.php?attachmentid=1855&amp;amp;d=1239079235下载图标库并压至相关目录。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131837981.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/131837981.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图十一：默认的maps图&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131901206.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/131901206.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图十二：新maps图&lt;pre&gt;&lt;ol&gt;&lt;li&gt;unzip zabbix_icons_set_generic.zip &lt;li&gt;unzip make_img_insert_sql.sh.gz &lt;li&gt;sh make_img_insert_sql.sh ./48 1000 &lt;li&gt;mv my_images_mysql.sql my_images_mysql_48.sql &lt;li&gt;sh make_img_insert_sql.sh ./128 2000 &lt;li&gt;mv my_images_mysql.sql my_images_mysql_128.sql &lt;li&gt;cat my_images_mysql_48.sql |mysql -u zabbix -p zabbix &lt;li&gt;cat my_images_mysql_128.sql |mysql -u zabbix -p zabbix &lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;　　指令执行后可能出现128_g_router_off.png、128_g_router_on.png、128_g_router_unknown.png这三个文件的错误提示，对于这三个文件可以直接通过web方式更改提交。&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;3.2 添加短信报警（脚本方式）&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　短信提醒功能（图二十）可以让运维团队在第一时间了解故障，让系统管理人员快速定位、解决故障。以下是详细步骤：&lt;br /&gt;&lt;p&gt;&lt;strong&gt;3.2.1 新建短信发送脚本&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;　　对于可以通http方式发送短信的方式都可以参考该脚本，这个例子中日常的短信发送都是通过windows平台发送，这里把它转换成了linux下可用的脚本（图十三）。这里通过“curl”指令来实现http的操作，随后通后“iconv”指令实现编码转换（utf8转gbk编码），否则可能出现收到短信是乱码的情况。&lt;br /&gt;&lt;p&gt;　　需注意的是该脚本的存放位置要和2.4中的脚本存放位置一致。&lt;pre&gt;&lt;ol&gt;&lt;li&gt;#!/bin/sh &lt;li&gt;IFS=&quot;&quot; &lt;li&gt;sms=&quot;http://x1.xxxxxxxx.cn/gbk/interface/send_sms.aspx?username=xxxxxx&amp;amp;password=yyyyyy&amp;amp;receiver=$1&amp;amp;content=$2,$3&quot; &lt;li&gt;echo $sms|tr &#39; &#39; &#39;.&#39;|iconv -f utf8 -t gbk &amp;gt;/tmp/sendsms.in &lt;li&gt;cont=`cat /tmp/sendsms.in` &lt;li&gt;curl $cont -s -o /tmp/sendsms.log &lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132135105.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/132135105.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图十三：sendsms.sh图&lt;br /&gt;&lt;p&gt;&lt;strong&gt;3.2.2 增加报警方式类型&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;　　进入zabbix的WEB管理页面，在“Administration”---“Media types”，新建一个告警方式类型,描述栏填写“message send by mobile”，类型栏选择“Script”，Script name栏填写“sendsms.sh”，勾选“enable”单击保存按钮。（图十四）&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132207908.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/132207908.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图十四：media types图&lt;br /&gt;&lt;p&gt;&lt;strong&gt;3.2.3 增加报警通知的用户&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;　　进入zabbix的WEB管理页面，在“Administration”---“Users”—“Create user”进入新建用户页面，在该页面中选择“Media”选择新建报警类型“add”。设置告警方式为“message send by mobile”，在send to栏中设置接收报警的手机号码，在相应的栏中设定事件的等级（N未分级、I信息、W警告、A平均、H高、D害难）和工作时间，点击保存。（图十五）&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132239480.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/132239480.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图十五：user图&lt;br /&gt;&lt;p&gt;&lt;strong&gt;3.2.4 增加报警动作&lt;/strong&gt;&lt;br /&gt;&lt;p&gt;　　进入zabbix的WEB管理页面，在“Configuration”---“Actions”—“Create action”进入新建动作页面，在该页面中共包含三项目内容：&lt;br /&gt;&lt;p&gt;　　“Action”指报警动作的名称、报警周期、标题、详细内容及故障恢复时的报警标题和内容。这里需要注意的是标题和内容不能太长，不然一条短信无法定远整显示（图十六、十七分别表示action默认的内容和精简后的内容）。在标题和内容中都可以使用zabbix中自定义的宏。常见的宏有以下内容：&lt;br /&gt;&lt;p&gt;{HOST.CONN}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 主机IP地址&lt;br&gt;{TRIGGER.NAME}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 触发事件名称&lt;br&gt;{TRIGGER.STATUS}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 事件触发状态&lt;br&gt;{TRIGGER.SEVERITY}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 事件触发级别&lt;br&gt;{ITEM.NAME1}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 监控项的名称&lt;br&gt;{ITEM.KEY1}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 监控项的参数&lt;br&gt;{ITEM.VALUE1}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 监控项目的值&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132411635.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/132411635.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图十六：默认action图&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132438330.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/132438330.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图十七：修改的action图&lt;br /&gt;&lt;p&gt;　　“Conditions”指满足条件的主机。“Type of calculation”指的是条件的集合，分为两种：“AND”指条件必须同时满足，“OR”指满足其中的一个条件就可以。“Conditions”指满足条件的主机。图十八所表达的意思是：“当主机的状态不是“维护”并且主机已经触发“问题”并且主机组等于“project3 group”时的所有设备”。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132516964.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/132516964.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图十八：报警条件&lt;br /&gt;&lt;p&gt;　　“Operations”指对于满足条件的主机所采取的操作（图十九）。选择正确的发送周期“step”,默认为0，“operation type”指的是操作方式，可选择发送信息和执行远程指令；“send user groups”指发送的用户组；“send to users”发送到的用户；“send only to”采用的具体发送方式。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132545667.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/132545667.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图十九：报警操作&lt;br /&gt;&lt;p&gt;　　以上的这些设定好后就点“save”保存，当满足条件的主机触发报警时相关的用户就会收到短信提醒（图二十）。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132609780.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/132609780.png&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图二十：短信提醒&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;3.3 添加 Hosts&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　Host是Zabbix监控的基本载体，所有的监控项都是基于host的。通过Configuration-&amp;gt;Hosts-&amp;gt;Create Host来创建监控设备（图二一）。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/134308787.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/134308787.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图二一：HOST&lt;br /&gt;&lt;p&gt;　　按提示填入Host name、Groups、IP ,其他选项默认即可，Link Templates 处选择一个模板，save即可成功添加设备。（注：如果host上没安装agent，添加后的状态会是unmonitor，会采集不到值，Zabbix自带大量的设备监控模板，我们添加主机时通过link到这些模板，就可以快速添加主机的监控项和告警触发条件。）&lt;br&gt;一类的hosts可以归属到同一个Host Group，便于分类管理同一类设备，在Configuration-&amp;gt;Host Group-&amp;gt;Create Host Group 可以添加设备组。&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;3.4 添加 Items&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　Item是监控项，是监控的基本元素，每一个监控项对应一个被监控端的采集值。（图二二、二三）&lt;br /&gt;&lt;p&gt;　　在Configuration-&amp;gt;Hosts界面，我们能看到每个host所包含的items总数，点击对应主机的items项，可以看到具体的每个item信息，这些items可以引用自templates，也可以自己创建。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/134708549.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/134708549.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图二二：ITEM&lt;br /&gt;&lt;p&gt;　　通过点击具体item名字可以修改已有监控项的属性，点击Satus的链接可以禁用/启用这个监控项。（注：我们可以通过新建一个template，在 template中禁用掉所有不需要用到的items，然后把同一类hosts link to这个template，就不用一台台主机去更改items）新增item可以通过点击右上角的create item来创建。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132931517.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/132931517.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图二三：ITEM图&lt;br /&gt;&lt;p&gt;　　按提示逐项填入相关信息即可，其中key是zabbix已经自带的取值方法，Application类似于host groups，是item的组。（item key也可以自定义，后面会讲到如何自定义监控项）。&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;3.5 添加 Triggers&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　Trigger是触发器，当Items采集值满足triggers的触发条件时，就会产生actions。（图二四、二五）每一个trigger必须对应一个item，但一个item可以对应多个trigger。&lt;br /&gt;&lt;p&gt;　　同样，通过点击Configuration-&amp;gt;Hosts-&amp;gt;Triggers中某个trigger的名字，可以修改trigger的属性。（注意：引用自template的trigger触发值是不能单独修改的，必须在template中修改，或是复制一个同样的trigger再修改，然后禁用掉之前的）新增trigger可以通过点击右上角的create trigger来创建。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/133632387.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/133632387.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图二四：Triggers图&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132955712.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/132955712.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图二五：Triggers图&lt;br /&gt;&lt;p&gt;　　Expression中选择对应的item、触发方式及触发值，Severity是告警级别，根据trigger的严重性来选择。Zabbix 提供多种trigger触发方式供选择，常用的我们可以选择last value &amp;lt;/&amp;gt;/=/#/N(最近一次采集值),或是选择maximal value for period of time (一段时间内的最大值),等等。可以根据实际需要来设定触发方式。&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;3.6 添加 Graphs&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　Zabbix的Graphs功能很强大，可以为每一个item绘制图表，也可以把多个items绘制在一张图表内。通过 configuration-&amp;gt;hosts选择要绘制图表的host，点击graphs，create graphs即可创建图表。（图二六、二七）&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/133734103.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/133734103.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图二六：graph图&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135036917.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135036917.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图二七：graph图&lt;br /&gt;&lt;p&gt;　　Graph type：图表样式，有线状、柱状、饼状；还可以自定义图表大小，及Y轴最大最小值；通过add items可以添加在同一个图表中展示的多个items（注：注意每个item的颜色及取值范围，范围相差太大图表会显示不全）；配置好的graphs在 monitoring-&amp;gt;graphs中查看。在monitoring-&amp;gt;last data下能快速查看每个host的每个item的graph。&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;3.7 添加 Screens&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　Screen将多种信息放在一起展示，便于集中展示某个host的多个信息，或是比较多个hosts的同一种信息,这些信息可以为graphs、maps、server infos等等，几乎涵盖zabbix所有的监控信息。（图二八、二九）&lt;br /&gt;&lt;p&gt;　　通过configuration-&amp;gt;screen-&amp;gt;creat screen来创建，创建时定义screen的行数和列数，点击对应单元格内的change，添加相应的信息。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135140849.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135140849.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图二八：screen图&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135214772.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135214772.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图二九：screen图&lt;br /&gt;&lt;p&gt;　　通过monitoring-screen，可以查看之前配置好的信息。&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;3.8 添加 Maps&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　这里可以添加关于主机的拓扑图：configration-maps,在右上角可以create maps或者import map。这里我们点击crate maps 点save保存。（图三十、三一）&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135309675.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135309675.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图三十：maps图&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135332683.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135332683.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图三一：maps图&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;3.9 添加 SNMP监控&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　Zabbix snmp的监控要在configration 中hosts中添加相关主机和snmp设备IP地址，一般用snmp监控网络设备就可以了。（图三二、三三）在我看来zabbix 对server的监控一般是用agent来做的，所以zabbxi不建议用snmp对server监控，这一点和cacit有本质的区别，因为cacti 主要是通过snmp对主机和网络设备进行监控的。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135407976.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135407976.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图三二：SNMP图&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135455556.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135455556.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图三三：SNMP图&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;3.10 添加 Templates&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　如果有大量的同一类设备，需要监控的信息也大致类似，一个个去修改相关参数比较麻烦，我们可以通过创建一个template来简化操作。（图三四）&lt;br&gt;Configuration-&amp;gt;Host Groups-&amp;gt;Template-&amp;gt;Create Template。创建template后，在configuration-&amp;gt;host-&amp;gt;template下找到刚创建的 Template_MicrosoftSQLServer2008,修改相关的items、triggers、graphs等信息，使满足要求后link 到相关的host即可。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135559404.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135559404.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图三四：模板图&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;3.11 添加Reports（定制报表）&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　在zabbix中关于报表的功能有三项：Avaliability report：（图三五）整个系统可用的系统报表提供过滤功能。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135639714.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135639714.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图三五：avaliability report图&lt;br /&gt;&lt;p&gt;　　Most busy triggers top 100：（图三六）提供最常用的triggers 预览。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135712741.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135712741.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图三六：triggers top 100图&lt;br /&gt;&lt;p&gt;　　Bar report ：（图三七）可定制报表可以报多个报表整合到一起。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135738901.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135738901.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图三七：bar report图&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;3.12 Export/Import XML&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　Zabbix提供将所有配置导出为标准XML格式的文件，同样，也支持导入标准格式的XML配置文件。&lt;br /&gt;&lt;p&gt;　　通过configuration-&amp;gt;Host-&amp;gt;Export,勾选要导出的host，选择export即可导出xml文件到本地。（图三九）&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135826951.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135826951.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图三九：export图&lt;br /&gt;&lt;p&gt;　　Import可导入本地的XML文件，注意格式一定要符合标准要求，如果server上有同名的配置，会被覆盖掉。（图三八）&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135918919.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/135918919.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图三八：import图&lt;br /&gt;&lt;p&gt;　　如果有大量的配置需要手动新增，譬如新增oralce监控，我们可以手动编写xml，一次导入所有的items和triggers，但要注意格式，可自己导出一个配置后参考。&lt;br /&gt;&lt;h3&gt;&lt;strong&gt;四、Zabbix ITEM、模板及SNMP配置&lt;/strong&gt;&lt;/h3&gt;&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;4.1 Zabbix ITEM说明及配置&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　Item是zabbix中最小的监控单位，相关的数据都由item提供。在item项中，最重要的是“Key”项，该项提供具体的监控点（图四十）。这里有几个重要的值，分别如下：&lt;br /&gt;&lt;p&gt;type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 监控类型（有zabbix agent、snmp、jmx等）&lt;br&gt;key&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 监控值（对于windows监控点使用perf_counter前缀）&lt;br&gt;type of information&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 信息的类型（数值型、字符型、日志型、文本型等）&lt;br&gt;data type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 数据的类理（整数型、浮点型等）&lt;br&gt;Units&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 单元（例如B=Byte）&lt;br&gt;Update interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 数值的更新周期&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140113689.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/140113689.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图四十：item图&lt;br /&gt;&lt;p&gt;　　可以通过zabbix_get指令来获取被监控设备的数据值（图四一）。其中：-s指定需要取值的客户端；-p指定通讯端口；-k指定具体的键值。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140155841.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/140155841.png&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图四一：zabbix_get图&lt;br /&gt;&lt;p&gt;　　理论上只要是windows性能监视器可以查看的值，通过zabbix都可以监控到，但是对于不同的服务器安装的同类应用有可能存在监控键值不一样的情况，在windows系统下通过指令typeperf可以导出windows所有的监控键值（图四二、四三、四四）。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140222760.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/140222760.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图四二：typeperf图&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140244477.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/140244477.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图四三：sql2005图&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140311561.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/140311561.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图四四：sql2008图&lt;br /&gt;&lt;p&gt;Windows 主机的监控可以参考图四三、图四四所导出来的监控点，在新增的item中新建key，格式为“perf_counter【监控值】”（例如 perf_counter[\Processor(_Total)\% Processor Time]），图四五是参考SQL2005模板结合导出的监控点文件整理的SQL2008模板，请重点对照Key项。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140357490.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/140357490.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图四五：sql2008模板图&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;4.2 Zabbix页面显示项配置&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　通过更改zabbix的配置文件可以控制zabbix的页面显示内容，在zabbix初始安装完成后，管理界面上的“configuration”中还有一个页面是“install”选项，存在误操作重新安装的风险，通过修改menu.inc.php文件可以禁用该显示项目（图四六）。&lt;pre&gt;&lt;ol&gt;&lt;li&gt;vi /var/www/html/zabbix/include/menu.inc.php &lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140449498.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/140449498.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图四六：menu.inc.php图&lt;br /&gt;&lt;h4&gt;&lt;strong&gt;4.3 Zabbix SNMP说明及配置&lt;/strong&gt;&lt;/h4&gt;&lt;br /&gt;&lt;p&gt;　　SNMP协议主要用在对网络设备的监控方面，如交换机、防火墙等。首先需要在被监控设备上启用SNMP协议（图四七），然后在zabbix中增加被监控的主机。对于未找到snmp模板的设备就需要自己手动添加item，这里通过snmp指令查询到相关值，然后根据实际情况定制自己所需要item。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140532296.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/140532296.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图四七：启用snmp&lt;pre&gt;&lt;ol&gt;&lt;li&gt;snmpwalk 172.16.1.1 -v1 -c public |egrep -i &#39;if(in|out)&#39;|less &lt;li&gt;snmpwalk -v1 -c public -On 172.16.1.1 ifInOctets.7 &lt;li&gt;snmpwalk -v1 -c public -On 172.16.1.1 ifOutOctets.7 &lt;li&gt;snmpwalk -v1 -c public -On 172.16.1.1 ifInOctets.9 &lt;li&gt;snmpwalk -v1 -c public -On 172.16.1.1 ifOutOctets.9 &lt;li&gt;snmpwalk 172.16.1.1 -v1 -c public |grep -i eth0 &lt;li&gt;snmpwalk 172.16.1.1 -v1 -c public |grep -i eth2 &lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;　　通过第一条指令结合实际情况找出需要监控的网卡（一个设备上有多个网卡但仅启用了其中的两个），并且区分出内网网卡和外网网卡；通过其它指令进一步确认网卡的状态及实时的数据，根据得出的数据结合设备实际情况定制zabbix的snmp item项，注意OID的填写（图四八、四九、五十）。&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140626354.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/140626354.png&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图四八：snmpwalk指令&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140653234.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/140653234.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图四九：snmpwalk指令&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140719138.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201208/140719138.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;图五十：SNMP item图&lt;br /&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/1118874535185233701/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/08/zabbix_8.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/1118874535185233701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/1118874535185233701'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/08/zabbix_8.html' title='zabbix中文配置指南'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-5906833976317552065</id><published>2012-08-07T23:53:00.001-07:00</published><updated>2012-08-07T23:53:34.204-07:00</updated><title type='text'>企业应用监控利器-ZABBIX</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;b&gt;zabbix简介&lt;/b&gt;&lt;/strong&gt; &lt;p&gt;　　zabbix（&lt;a href=&quot;http://www.zabbix.com/&quot;&gt;http://www.zabbix.com/&lt;/a&gt;）是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201206/080228259.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201206/080228259.png&quot; width=&quot;600&quot; height=&quot;450&quot;&gt;&lt;/a&gt; &lt;p&gt;　　zabbix能监视各种网络参数，保证服务器系统的安全运营；并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。 &lt;p&gt;　　zabbix由2部分构成，zabbix server与可选组件zabbix agent。 &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201206/080303747.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201206/080303747.png&quot; width=&quot;600&quot; height=&quot;450&quot;&gt;&lt;/a&gt; &lt;p&gt;　　zabbix server可以通过SNMP，zabbix agent，ping，端口监视等方法提供对远程服务器/网络状态的监视，数据收集等功能，它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。　　 &lt;p&gt;　　zabbix agent需要安装在被监视的目标服务器上，它主要完成对硬件信息或与操作系统有关的内存，CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。 &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201206/080331780.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201206/080331780.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt; &lt;p&gt;　　zabbix server可以单独监视远程服务器的服务状态；同时也可以与zabbix agent配合，可以轮询zabbix agent主动接收监视数据（trapping方式），同时还可被动接收zabbix agent发送的数据（trapping方式）。 &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201206/080359568.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201206/080359568.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt; &lt;p&gt;　　另外zabbix server还支持SNMP (v1,v2)，可以与SNMP软件(例如：net-snmp)等配合使用。 &lt;p&gt;　　zabbix的主要特点：　　 &lt;p&gt;　　- 安装与配置简单，学习成本低　　 &lt;p&gt;　　- 支持多语言（包括中文）　　 &lt;p&gt;　　- 免费开源　　 &lt;p&gt;　　- 自动发现服务器与网络设备　　 &lt;p&gt;　　- 分布式监视以及WEB集中管理功能　　 &lt;p&gt;　　- 可以无agent监视　　 &lt;p&gt;　　- 用户安全认证和柔软的授权方式　　 &lt;p&gt;　　- 通过WEB界面设置或查看监视结果　　 &lt;p&gt;　　- email等通知功能 宋体黑色 &lt;p&gt;&lt;b&gt;附加说明&lt;/b&gt; &lt;p&gt;　　其实网上已有很多的文章说明怎么搭建监控系统，其中最多的要属cacti其次就属zabbix了。个人对这两个软件都体验了一把，感觉zabbix最大的优势是简单、高效；而cacti虽然图然很好看但监控出来的数据不准确（和现实系统表现出来的有出入下面是cacai的图，大家可对比一下）。&lt;a href=&quot;http://img1.51cto.com/attachment/201206/144004566.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201206/144004566.png&quot; width=&quot;600&quot; height=&quot;450&quot;&gt;&lt;/a&gt; &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201206/080523519.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201206/080523519.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt; &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201206/080607898.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201206/080607898.png&quot; width=&quot;650&quot;&gt;&lt;/a&gt; &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201206/080656803.png&quot;&gt;&lt;img border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://img1.51cto.com/attachment/201206/080656803.png&quot; width=&quot;600&quot; height=&quot;450&quot;&gt;&lt;/a&gt; &lt;p&gt;最后决定发现zabbix是正确的选择。网上看上去有很多参考资料，但当你参考时发现仍会出现不同的问题：系统环境不一样；zabbix的版本不一致；相关的PHP模块找不到；相关的MYSQL版本不一致；找不到合适的监控模板等等，本文的目的是尽量解决这些问题同时将自己的做法及想法贡献出来大家一起参考。其中有些部份的内容可能用不到放在这里的原因仅做参考用。 &lt;p&gt;&lt;b&gt;网络设定相关&lt;/b&gt; &lt;p&gt;1.增加路由 &lt;ol&gt; &lt;li&gt; &lt;p&gt;route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.0.22&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;2.系统启动后网卡需手动激活 &lt;p&gt;　　原因是最小化安装CentOS6.2后，网卡是没有默认启动的（onboot=“no”），并且设置了依赖NetworkManager 的选项（NM_CONTROLLED=&quot;yes&quot;），但是minimal的情况下并没有安装系统默认提供的网络管理工具NetworkManger。我们需要修改/etc/sysconfig/network-script/ifcfg-eth0文件 &lt;p&gt;3.安装传输文件协方式 &lt;ol&gt; &lt;li&gt; &lt;p&gt;yum install lrzsz&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;时间设定&lt;/b&gt; &lt;p&gt;1.时间设定 &lt;ol&gt; &lt;li&gt; &lt;p&gt;hwclock --set --date=&quot;07/07/06 10:19&quot;&lt;/p&gt; &lt;li&gt; &lt;p&gt;hwclock --hctosys&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;　　时间的正确设定很重要，时间不同步将导致监控的数据不一致，有可能出现监控了一周却始终只有三五天数据或是无法得到当前时间数据的情况。其中第一条语句是设定硬件时钟，第二条语句是设定系统时钟和硬件时钟同步。 &lt;p&gt;2.时区设定 &lt;ol&gt; &lt;li&gt; &lt;p&gt;tzselect&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;　　时区的设定也很重要，如果系统及硬件时钟正确而时区设定不正确的话会导致图形显示出来的数据相关几个小时，因些调整好时区也是一个重要的步骤。 &lt;p&gt;　　查找系统文件etc/sysconfig/clock并修改为： &lt;ol&gt; &lt;li&gt; &lt;p&gt;ZONE=&quot;Asia/Shanghai&quot;&lt;/p&gt; &lt;li&gt; &lt;p&gt;UTC=true&lt;/p&gt; &lt;li&gt; &lt;p&gt;ARC=false&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;　　找到系统文件/usr/share/zoneinfo/Asia/Shanghai用这个文件替换当前的/etc/localtime文件 &lt;ol&gt; &lt;li&gt; &lt;p&gt;cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;　　修改php.ini &lt;ol&gt; &lt;li&gt; &lt;p&gt;date.timezone = Asia/Shanghai&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;字体设定&lt;/b&gt; &lt;p&gt;　　zabbix自带的中文字体不太好看，你可以将自己替换喜欢的字体。常用的字体windows其实已经自带了（系统字体的存放位置位于c:\windows\font中，如下图所示），你可以直接用windows中的字体进行替换。 &lt;p&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201206/20/65148_13402058434Iak.png&quot;&gt;&lt;img title=&quot;2012-6-20 21-56-43&quot; border=&quot;0&quot; alt=&quot;2012-6-20 21-56-43&quot; src=&quot;http://img1.51cto.com/attachment/201206/20/65148_1340205854uuQQ.png&quot; width=&quot;650&quot; height=&quot;548&quot;&gt;&lt;/a&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;wget http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.0/zabbix-2.0.0.tar.gz&lt;/p&gt; &lt;li&gt; &lt;p&gt;tar zxvf zabbix-2.0.0.tar.gz&lt;/p&gt; &lt;li&gt; &lt;p&gt;cp -r /root/zabbix-2.0.0/frontends/php /var/www/html/&lt;/p&gt; &lt;li&gt; &lt;p&gt;mv /var/www/html/php/ /var/www/html/zabbix&lt;/p&gt; &lt;li&gt; &lt;p&gt;cd /var/www/html/zabbix/fonts/&lt;/p&gt; &lt;li&gt; &lt;p&gt;cp -frp DejaVuSans.ttf DejaVuSans.ttf.old&lt;/p&gt; &lt;li&gt; &lt;p&gt;mv simsunb.ttf DejaVusans.ttf&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;XDMCP设定&lt;/b&gt; &lt;p&gt;　　对于在windows下想用xmanager连接linux进行图形化远程操作的人员来说，设定好XDMCP是必不可少的步骤。这里仅仅介绍linux端的设定，对于该方式和该软件不了解的可以自己google下。 &lt;ol&gt; &lt;li&gt; &lt;p&gt;vi /etc/gdm/custom.conf&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;　　修改配置文件。 &lt;ol&gt; &lt;li&gt; &lt;p&gt;[daemon]&lt;/p&gt; &lt;li&gt; &lt;p&gt;[security]&lt;/p&gt; &lt;li&gt; &lt;p&gt;AllowRemoteRoot=true&lt;/p&gt; &lt;li&gt; &lt;p&gt;[xdmcp]&lt;/p&gt; &lt;li&gt; &lt;p&gt;Enable=true&lt;/p&gt; &lt;li&gt; &lt;p&gt;[greeter]&lt;/p&gt; &lt;li&gt; &lt;p&gt;IncludeAll=true&lt;/p&gt; &lt;li&gt; &lt;p&gt;[chooser]&lt;/p&gt; &lt;li&gt; &lt;p&gt;[debug]&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;iptables设定&lt;/b&gt; &lt;p&gt;　　iptables的作用及它的重要性不需做太多解释，这里只列出必要开放的端口，对于语句或内容有疑问的请自行google或和我联系。 &lt;ol&gt; &lt;li&gt; &lt;p&gt;vi /etc/sysconfig/iptables&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;　　修改iptables配置文件 &lt;ol&gt; &lt;li&gt; &lt;p&gt;:INPUT ACCEPT [0:0]&lt;/p&gt; &lt;li&gt; &lt;p&gt;:FORWARD ACCEPT [0:0]&lt;/p&gt; &lt;li&gt; &lt;p&gt;:OUTPUT ACCEPT [0:0]&lt;/p&gt; &lt;li&gt; &lt;p&gt;-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;/p&gt; &lt;li&gt; &lt;p&gt;-A INPUT -p icmp -j ACCEPT&lt;/p&gt; &lt;li&gt; &lt;p&gt;-A INPUT -i lo -j ACCEPT&lt;/p&gt; &lt;li&gt; &lt;p&gt;-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT&lt;/p&gt; &lt;li&gt; &lt;p&gt;-A INPUT -m state --state NEW -m udp -p udp --dport 177 -j ACCEPT&lt;/p&gt; &lt;li&gt; &lt;p&gt;-A INPUT -m state --state NEW -m tcp -p tcp --dport 6000:6010 -j ACCEPT&lt;/p&gt; &lt;li&gt; &lt;p&gt;-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCEPT&lt;/p&gt; &lt;li&gt; &lt;p&gt;-A INPUT -m state --state NEW -m udp -p udp --dport 10050:10051 -j ACCEPT&lt;/p&gt; &lt;li&gt; &lt;p&gt;-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT&lt;/p&gt; &lt;li&gt; &lt;p&gt;-A INPUT -j REJECT --reject-with icmp-host-prohibited&lt;/p&gt; &lt;li&gt; &lt;p&gt;-A FORWARD -j REJECT --reject-with icmp-host-prohibited&lt;/p&gt; &lt;li&gt; &lt;p&gt;COMMIT&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;HTTPD设定&lt;/b&gt; &lt;p&gt;　　HTTPD的作用也无需太多介结大家都能明白，这里需要说明的是HTTPD的设定可能是在安装了HTTP和PHP组件后，这里仅做参考用并不代表安装一定按些步骤。实在不明白的google吧。 &lt;ol&gt; &lt;li&gt; &lt;p&gt;vi /etc/httpd/conf.d/zabbix.conf&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;　　增加配置文件 &lt;ol&gt; &lt;li&gt; &lt;p&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServerAdmin zabbix&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DocumentRoot /var/www/html/zabbix&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ErrorLog /var/log/httpd/zabbix.log&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HostnameLookups Off&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UseCanonicalName Off&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ServerSignature Off&lt;/p&gt; &lt;li&gt; &lt;li&gt; &lt;p&gt;&amp;lt;Directory /&amp;gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Options FollowSymLinks&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AllowOverride None&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Order allow,deny&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Allow from all&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;lt;/Directory&amp;gt;&lt;/p&gt; &lt;li&gt; &lt;li&gt; &lt;p&gt;&amp;lt;Directory &quot;/var/www/html&quot;&amp;gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Options Indexes FollowSymLinks&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AllowOverride None&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Order allow,deny&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Allow from all&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;lt;/Directory&amp;gt;&lt;/p&gt; &lt;li&gt; &lt;p&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;禁用selinux&lt;/b&gt; &lt;p&gt;　　selinux确实提高了系统的安全性，但另一方面也给应用程序增加了很多的不确定性。我在安装配置完zabbix后曾出现过始终无法打开浏览页面无法进入web安装界面的情况，后来禁用selinux后问题解决。对于selinux的启用与否个人见仁见智可以根据自已的需求决定是否开启。 &lt;ol&gt; &lt;li&gt; &lt;p&gt;vi /etc/selinux/config&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;　　禁用selinux &lt;ol&gt; &lt;li&gt; &lt;p&gt;SELINUX=disabled&lt;/p&gt; &lt;li&gt; &lt;p&gt;SELINUXTYPE=targeted&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;禁用ctrl+alt+del&lt;/b&gt; &lt;p&gt;　　禁用ctrl+alt+del的作用是防止机房管理人员误操作导致系统重启的问题。需注意的是在centos6之前的版本中该设置文件是/etc /inittab，而到了centos6以后被放到了/etc/init/control-alt-delete.conf中。 &lt;ol&gt; &lt;li&gt; &lt;p&gt;vi /etc/init/control-alt-delete.conf&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;　　禁用ctrl+alt+del &lt;ol&gt; &lt;li&gt; &lt;p&gt;#start on control-alt-delete&lt;/p&gt; &lt;li&gt; &lt;p&gt;#exec /sbin/shutdown -r now &quot;Control-Alt-Delete pressed&quot;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;1.增加用户组&lt;/b&gt; &lt;p&gt;　　主要是增加zabbix用户组，如果不增加该用户和组，在后面的编译安装时将会有相关提示。 &lt;ol&gt; &lt;li&gt; &lt;p&gt;groupadd -g 130 zabbix&lt;/p&gt; &lt;li&gt; &lt;p&gt;useradd -u 130 -g zabbix -c &quot;Zabbix Monitoring&quot; zabbix&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;2.增加软件源&lt;/b&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;wget http://mirrors.163.com/.help/CentOS6-Base-163.repo&lt;/p&gt; &lt;li&gt; &lt;p&gt;mv CentOS6-Base-163.repo /etc/yum.repos.d/&lt;/p&gt; &lt;li&gt; &lt;p&gt;wget http://mirrors.ustc.edu.cn/fedora/epel//6/i386/epel-release-6-7.noarch.rpm&lt;/p&gt; &lt;li&gt; &lt;p&gt;rpm -ivh epel-release-6-7.noarch.rpm&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;3.安装相关软件&lt;/b&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;yum --enablerepo=epel install iksemel iksemel-devel&lt;/p&gt; &lt;li&gt; &lt;p&gt;yum install mysql-server httpd php mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath&amp;nbsp;&amp;nbsp; php-mbstring php-xml postfix zlib-devel glibc-devel automake mysql libidn-devel openssl-devel rpm-devel&amp;nbsp;&amp;nbsp; OpenIPMI-devel&lt;/p&gt; &lt;li&gt; &lt;p&gt;yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers&lt;/p&gt; &lt;li&gt; &lt;p&gt;yum&amp;nbsp; install net-snmp*&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;4.配置数据库&lt;/b&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;service mysqld start&lt;/p&gt; &lt;li&gt; &lt;p&gt;mysqladmin -u root password &#39;password&#39;&lt;/p&gt; &lt;li&gt; &lt;p&gt;mysql_secure_installation&lt;/p&gt; &lt;li&gt; &lt;p&gt;mysql -uroot -p&lt;/p&gt; &lt;li&gt; &lt;p&gt;create database zabbix default character set utf8;&lt;/p&gt; &lt;li&gt; &lt;p&gt;grant all privileges on zabbix.* to &#39;zabbix&#39;@&#39;localhost&#39; identified by &#39;password&#39;;&lt;/p&gt; &lt;li&gt; &lt;p&gt;quit;&lt;/p&gt; &lt;li&gt; &lt;p&gt;tar zxvf zabbix-2.0.0.tar.gz&lt;/p&gt; &lt;li&gt; &lt;p&gt;cd database/mysql&lt;/p&gt; &lt;li&gt; &lt;p&gt;cat schema.sql |mysql -u zabbix -p zabbix&lt;/p&gt; &lt;li&gt; &lt;p&gt;cat images.sql |mysql -u zabbix -p zabbix&lt;/p&gt; &lt;li&gt; &lt;p&gt;cat data.sql |mysql -u zabbix -p zabbix &lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;5.编译zabbix&lt;/b&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl --with-openipmi --enable-proxy --enable-agent&lt;/p&gt; &lt;li&gt; &lt;p&gt;make&lt;/p&gt; &lt;li&gt; &lt;p&gt;make install&lt;/p&gt; &lt;li&gt; &lt;p&gt;cp misc/init.d/redhat/8.0/zabbix_* /etc/init.d/&lt;/p&gt; &lt;li&gt; &lt;p&gt;chmod 755 /etc/init.d/zabbix_*&lt;/p&gt; &lt;li&gt; &lt;p&gt;chown -R zabbix:zabbix /usr/local/zabbix&lt;/p&gt; &lt;li&gt; &lt;p&gt;chkconfig --add zabbix_server&lt;/p&gt; &lt;li&gt; &lt;p&gt;chkconfig --add zabbix_agentd&lt;/p&gt; &lt;li&gt; &lt;p&gt;chkconfig --level 35 zabbix_server on&lt;/p&gt; &lt;li&gt; &lt;p&gt;chkconfig --level 35 zabbix_agentd on&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;6.配置zabbix&lt;/b&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;vi /usr/local/zabbix/etc/zabbix_server.conf&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;　　配置zabbix_server.conf文件 &lt;ol&gt; &lt;li&gt; &lt;p&gt;SourceIP=192.168.0.189&lt;/p&gt; &lt;li&gt; &lt;p&gt;DBName=zabbix&lt;/p&gt; &lt;li&gt; &lt;p&gt;DBUser=zabbix&lt;/p&gt; &lt;li&gt; &lt;p&gt;DBPassword=password&lt;/p&gt; &lt;li&gt; &lt;p&gt;vi /usr/loca/zabbix/etc/zabbix_agent.conf&lt;/p&gt; &lt;li&gt; &lt;p&gt;hostname=myj-jk&lt;/p&gt; &lt;li&gt; &lt;p&gt;Server=192.168.0.189&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;　　启动zabbix服务 &lt;ol&gt; &lt;li&gt; &lt;p&gt;service zabbix_server start&lt;/p&gt; &lt;li&gt; &lt;p&gt;service zabbix_agentd start&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;7.配置php.ini&lt;/b&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;memory_limit = 256M&lt;/p&gt; &lt;li&gt; &lt;p&gt;date.timezone = Asia/Shanghai&lt;/p&gt; &lt;li&gt; &lt;p&gt;post_max_size = 32M&lt;/p&gt; &lt;li&gt; &lt;p&gt;max_execution_time = 600&lt;/p&gt; &lt;li&gt; &lt;p&gt;upload_max_filesize = 16M&lt;/p&gt; &lt;li&gt; &lt;p&gt;max_input_time = 600&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;8.启动httpd服务&lt;/b&gt; &lt;ol&gt; &lt;li&gt; &lt;p&gt;service httpd start&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;　　到这里就可以启动web服务进行zabbix的安装了，httpd服务启动后直接在浏览器中输入服务器的IP地址开始安装，按照图形的方式一步一步安装完成吧。后面就如何自定义监控模板（IIS6、IIS7、SQL2005、SQL2008），如自定义MAP图标以及zabbix简单的性能优化写出我自己的理解。&lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/5906833976317552065/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/08/zabbix_7.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/5906833976317552065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/5906833976317552065'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/08/zabbix_7.html' title='企业应用监控利器-ZABBIX'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8660803620433434350.post-5313343680346834400</id><published>2012-08-07T23:38:00.001-07:00</published><updated>2012-08-07T23:48:26.274-07:00</updated><title type='text'>zabbix中文配置指南</title><content type='html'>&lt;h3&gt;
一、Zabbix简介&lt;/h3&gt;
&lt;h4&gt;
&lt;b&gt;1.1 Zabbix简介&lt;/b&gt;&lt;/h4&gt;
Zabbix是一个企业级的开源分布式监控解决方案，由一个国外的团队持续维护更新，软件可以自由下载使用，运作团队靠提供收费的技术支持赢利。官方网站：http://www.zabbix.com官方文档：http://www.zabbix.com/documentation/2.0 /manual/quickstart。Zabbix通过C/S模式采集数据，通过B/S模式在web端展示和配置。 &lt;br /&gt;
&lt;b&gt;Zabbix运行条件：&lt;/b&gt; &lt;br /&gt;
&lt;b&gt;Server&lt;/b&gt;：Zabbix Server需运行在LAMP（Linux+Apache+Mysql+PHP）环境下，对硬件要求低。 &lt;br /&gt;
&lt;b&gt;Agent&lt;/b&gt;：目前已有的agent基本支持市面常见的OS，包含Linux、HPUX、Solaris、Sun、windows。 &lt;br /&gt;
&lt;b&gt;SNMP&lt;/b&gt;：支持各类常见的网络设备 &lt;br /&gt;
&lt;b&gt;1.2 Zabbix功能&lt;/b&gt; &lt;br /&gt;
　　具备常见的商业监控软件所具备的功能（主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制）支持自动发现网络设备和服务器；支持分布式，能集中展示、管理分布式的监控点；扩展性强，server提供通用接口，可以自己开发完善各类监控。 &lt;br /&gt;
&lt;b&gt;1.3 优劣势&lt;/b&gt; &lt;br /&gt;
&lt;b&gt;优点&lt;/b&gt;：开源，无软件成本投入；Server对设备性能要求低（实际测试环境：虚拟机CentOS5，2GCPU 1G内存，监控5台设备，CPU使用率基本保持在10%以下，内存剩余400M以上）；支持设备多；支持分布式集中管理；开放式接口，扩展性强。 &lt;br /&gt;
&lt;b&gt;缺点&lt;/b&gt;：中文资料较少。 &lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;二、Zabbix配置文件&lt;/b&gt;&lt;/h3&gt;
&lt;h4&gt;
&lt;b&gt;2.1 说明&lt;/b&gt;&lt;/h4&gt;
&lt;b&gt;Server&lt;/b&gt;：指安装zabbix服务的服务器（以下简称服务器端），是最重要的部份，主要安装在linux系统上（支持多种操作系统），采用mysql存储监控数据并使用apache+php的方式呈现。 &lt;br /&gt;
&lt;b&gt;Agent&lt;/b&gt;：指安装在被监控设备上的zabbix代理（以下简称代理），被监控设备上的数据由代理收集后统一上传到服务器端由服务器端收集、整理并呈现。 &lt;br /&gt;
&lt;b&gt;SNMP&lt;/b&gt;：也是agent的一种，指支持SNMP协议的设备（也可以是服务器），通过设定SNMP的参数将相关监控数据传送至服务器端（大部份的交换机、防火墙等网络设备都支持SNMP协议）。 &lt;br /&gt;
&lt;b&gt;IPMI&lt;/b&gt;：Agent的另一种方式，主要应用于设备的物理性能监控，例如设备的温度、风扇的转速等。 &lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;2.2 Zabbix架构&lt;/b&gt;&lt;/h4&gt;
Zabbix支持多种网络方式下的监控，可通过分布式的方式部署和安装监控代理，整个架构如（图一、图四）所示。&lt;a href=&quot;http://img1.51cto.com/attachment/201208/130335905.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/130335905.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt; &lt;br /&gt;
图一：架构图 &lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/130428909.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/130428909.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt; &lt;br /&gt;
图四：架构图 &lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;2.3 Zabbix服务配置文件&lt;/b&gt;&lt;/h4&gt;
Zabbix安装后服务端默认的配置文件存在安装文件夹中的/etc中，假设编译的参数是“—prefix=/usr/local/zabbix”，那么服务端的配置文件则在“vi /usr/loca/zabbix/etc/”。如图二所示。 &lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/130608532.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/130608532.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt; &lt;br /&gt;
图二：配置文件 &lt;br /&gt;
　　主要的配置文件两个:“zabbix_server.conf”负责服务器端的设定；“zabbix_agent.conf”用来设置客户端代理参数；“zabbix_proxy.conf”用来设定分布式的部署。 &lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;2.4 zabbix_server.conf说明&lt;/b&gt;&lt;/h4&gt;
Zabbix_server.conf中的参数比较多，设定值的跨度也很大，这里仅列出常用的一些参数。如图三所示。 Zabbix_server.conf参数除了保证服务正常运行外还涉及该服务器的性能，如果参数设定不合理可能会导致zabbix添加主机不正常、代理端数据无法正常收集或是zabbix服务器性能严重下降，经常报告CPU占用过高或是IO占用过高等问题。 &lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/130715384.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/130715384.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt; &lt;br /&gt;
图三：zabbix_server.conf &lt;br /&gt;
DBName=zabbix&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zabbix所属数据库名称&lt;br /&gt;DBUser=zabbix&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zabbix所属数据库用户&lt;br /&gt;DBPassword=www.xxxxxx.com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zabbix数据库密码&lt;br /&gt;StartPollers=30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 轮询的初始值（0-1000）&lt;br /&gt;StartIPMIPollers=4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IPMI轮询的初始值（0-1000）&lt;br /&gt;StartPollersUnreachable=30&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 轮询不可达的主机数（包括IPMI 0-1000）&lt;br /&gt;StartTrappers=8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 捕获的初始值（0-1000）&lt;br /&gt;StartPingers=4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ping的初始值（0-1000）&lt;br /&gt;StartDiscoverers=0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 自动发现的初始值（0-250）&lt;br /&gt;CacheSize=384M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 缓存大小&lt;br /&gt;CacheUpdateFrequency=300&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 缓存更新的频率&lt;br /&gt;StartDBSyncers=8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 数据库同步时间&lt;br /&gt;TrendCacheSize=128M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 总趋势缓存大小&lt;br /&gt;AlertScriptsPath=/usr/bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 脚本的存放位置&lt;br /&gt;LogSlowQueries=1000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 日志慢查询设定 &lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;2.5 zabbix_agent.conf说明&lt;/b&gt;&lt;/h4&gt;
Zabbix_agent.conf用来配置代理的参数，该文件中需要更改的地方比较少，仅更改几个常用的参数就行了（linux的agent和windows的都差不多，大同小异,以下的说明以windows为例）。如图五所示。 &lt;br /&gt;
LogFile=c:\zabbix\zabbix_agentd.log&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 日志文件的存放位置&lt;br /&gt;Server=192.168.0.189&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; zabbix服务器的IP&lt;br /&gt;Hostname=192.168.0.13&amp;nbsp; 被监控机的IP &lt;br /&gt;
需要注意的是代理端的设定参数“Hostname=192.168.0.13”要和配置时填入的主机名称一致，不然日志中将会报“host {主机名}not found”的错误。如（图六、七）所示。 &lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131147196.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/131147196.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt; &lt;br /&gt;
图五：zabbix_agent.conf &lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131211742.jpg&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/131211742.jpg&quot; width=&quot;650&quot; /&gt;&lt;/a&gt; &lt;br /&gt;
图六：主机名不一致的错误提示 &lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131247145.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/131247145.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt; &lt;br /&gt;
图七：填入正确的主机名 &lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;2.6 Agent安装&lt;/b&gt;&lt;/h4&gt;
Zabbix需要在被监控的host上安装agent，在zabbix官网上下载相应平台的agent包到各被监控端，按如下方式在被监控上运行 agent。（注：官网上下载的agent包里没有运行agentd所必须的配置文件，可以从zabbix server上拷贝一份zabbix_agentd.conf，这个conf文件是所有平台都通用的） &lt;br /&gt;
&lt;b&gt;2.6.1 Linux Agent安装&lt;/b&gt; &lt;br /&gt;
　　Linux、UNIX上的agent是编译好了的，不用编译安装。（图八）&lt;br /&gt;
&lt;pre&gt;&lt;ol&gt;
&lt;li&gt;useradd zabbix&amp;nbsp; &lt;/li&gt;
&lt;li&gt;cd /usr/local/zabbix &lt;/li&gt;
&lt;li&gt;tar zxvf zabbix_agents_1.8.linux2_6.i386.tar.gz &lt;/li&gt;
&lt;/ol&gt;
&lt;/pre&gt;
&lt;br /&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131431640.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/131431640.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图八：agent安装&lt;br /&gt;
　　取一份server上的zabbix_agnetd.conf到本地，然后按说明修改，一般我们只需修改2.5中的三个参数。修改完成后，运行agentd。&lt;br /&gt;
&lt;pre&gt;&lt;ol&gt;
&lt;li&gt;/usr/local/zabbix/sbin/zabbix-agentd –c /usr/local/zabbix/zabbix_agentd.conf &amp;amp; &lt;/li&gt;
&lt;li&gt;ps –ef|grep zabbix_agentd &lt;/li&gt;
&lt;/ol&gt;
&lt;/pre&gt;
&lt;br /&gt;　　如果进程没起来，可查看agentd.log日志来排查问题。（注：启动时建议用全路径，否则可能会出错），加入开机运行。&lt;br /&gt;
&lt;pre&gt;&lt;ol&gt;
&lt;li&gt;echo ‘/usr/local/zabbix/sbin/zabbix-agentd –c /usr/local/zabbix/zabbix_agentd.conf &amp;amp;‘ &amp;gt;&amp;gt;/etc/rc.local &lt;/li&gt;
&lt;/ol&gt;
&lt;/pre&gt;
&lt;br /&gt;&lt;b&gt;2.6.2 Windows agent安装&lt;/b&gt;&lt;br /&gt;
　　Windows下解压客户端包到c:\zabbix,下载修改好的zabbix_agentd.conf文件也放到c:\zabbix,打开cmd命令行，执行:&lt;br /&gt;
&lt;pre&gt;&lt;ol&gt;
&lt;li&gt;zabbix_agentd -c &quot;c:\zabbix\zabbix_agentd.conf&quot; -i &lt;/li&gt;
&lt;li&gt;zabbix_agentd -c &quot;c:\zabbix\zabbix_agentd.conf&quot; -s &lt;/li&gt;
&lt;/ol&gt;
&lt;/pre&gt;
&lt;br /&gt;　　安装后会在系统服务里添加一个zabbix_agentd服务（图九），会自动开机运行。如果需要将卸载客户端，请执行(图十)：&lt;br /&gt;
&lt;pre&gt;&lt;ol&gt;
&lt;li&gt;zabbix_agentd -c &quot;c:\zabbix\zabbix_agentd.conf&quot; -x &lt;/li&gt;
&lt;li&gt;zabbix_agentd -c &quot;c:\zabbix\zabbix_agentd.conf&quot; –d &lt;/li&gt;
&lt;/ol&gt;
&lt;/pre&gt;
&lt;br /&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131701504.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/131701504.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图九：zabbix agent服务&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131728994.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/131728994.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图十：zabbix agent服务卸载、安装命令&lt;br /&gt;
&lt;h3&gt;
三、Zabbix配置&lt;/h3&gt;
&lt;br /&gt;&lt;h4&gt;
&lt;b&gt;3.1 更改Zabbix map图标&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　Zabbix的maps用来图形化显示监控设备的拓扑图，并且以不同的标记显示故障事件，通过该图表很直观的显示设备的整体情况。系统默认的图标比较简陋，如图十一所示。通过更改系统自带的图标让监控显示更加直观、方便（图十二）。&lt;br /&gt;
　　首先下载Icon图标，通过http://www.zabbix.com/forum/attachment.php?attachmentid=1855&amp;amp;d=1239079235下载图标库并压至相关目录。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131837981.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/131837981.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图十一：默认的maps图&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/131901206.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/131901206.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图十二：新maps图&lt;br /&gt;
&lt;pre&gt;&lt;ol&gt;
&lt;li&gt;unzip zabbix_icons_set_generic.zip &lt;/li&gt;
&lt;li&gt;unzip make_img_insert_sql.sh.gz &lt;/li&gt;
&lt;li&gt;sh make_img_insert_sql.sh ./48 1000 &lt;/li&gt;
&lt;li&gt;mv my_images_mysql.sql my_images_mysql_48.sql &lt;/li&gt;
&lt;li&gt;sh make_img_insert_sql.sh ./128 2000 &lt;/li&gt;
&lt;li&gt;mv my_images_mysql.sql my_images_mysql_128.sql &lt;/li&gt;
&lt;li&gt;cat my_images_mysql_48.sql |mysql -u zabbix -p zabbix &lt;/li&gt;
&lt;li&gt;cat my_images_mysql_128.sql |mysql -u zabbix -p zabbix &lt;/li&gt;
&lt;/ol&gt;
&lt;/pre&gt;
&lt;br /&gt;　　指令执行后可能出现128_g_router_off.png、128_g_router_on.png、128_g_router_unknown.png这三个文件的错误提示，对于这三个文件可以直接通过web方式更改提交。&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;3.2 添加短信报警（脚本方式）&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　短信提醒功能（图二十）可以让运维团队在第一时间了解故障，让系统管理人员快速定位、解决故障。以下是详细步骤：&lt;br /&gt;
&lt;b&gt;3.2.1 新建短信发送脚本&lt;/b&gt;&lt;br /&gt;
　　对于可以通http方式发送短信的方式都可以参考该脚本，这个例子中日常的短信发送都是通过windows平台发送，这里把它转换成了linux下可用的脚本（图十三）。这里通过“curl”指令来实现http的操作，随后通后“iconv”指令实现编码转换（utf8转gbk编码），否则可能出现收到短信是乱码的情况。&lt;br /&gt;
　　需注意的是该脚本的存放位置要和2.4中的脚本存放位置一致。&lt;br /&gt;
&lt;pre&gt;&lt;ol&gt;
&lt;li&gt;#!/bin/sh &lt;/li&gt;
&lt;li&gt;IFS=&quot;&quot; &lt;/li&gt;
&lt;li&gt;sms=&quot;http://x1.xxxxxxxx.cn/gbk/interface/send_sms.aspx?username=xxxxxx&amp;amp;password=yyyyyy&amp;amp;receiver=$1&amp;amp;content=$2,$3&quot; &lt;/li&gt;
&lt;li&gt;echo $sms|tr &#39; &#39; &#39;.&#39;|iconv -f utf8 -t gbk &amp;gt;/tmp/sendsms.in &lt;/li&gt;
&lt;li&gt;cont=`cat /tmp/sendsms.in` &lt;/li&gt;
&lt;li&gt;curl $cont -s -o /tmp/sendsms.log &lt;/li&gt;
&lt;/ol&gt;
&lt;/pre&gt;
&lt;br /&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132135105.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/132135105.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图十三：sendsms.sh图&lt;br /&gt;
&lt;b&gt;3.2.2 增加报警方式类型&lt;/b&gt;&lt;br /&gt;
　　进入zabbix的WEB管理页面，在“Administration”---“Media types”，新建一个告警方式类型,描述栏填写“message send by mobile”，类型栏选择“Script”，Script name栏填写“sendsms.sh”，勾选“enable”单击保存按钮。（图十四）&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132207908.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/132207908.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图十四：media types图&lt;br /&gt;
&lt;b&gt;3.2.3 增加报警通知的用户&lt;/b&gt;&lt;br /&gt;
　　进入zabbix的WEB管理页面，在“Administration”---“Users”—“Create user”进入新建用户页面，在该页面中选择“Media”选择新建报警类型“add”。设置告警方式为“message send by mobile”，在send to栏中设置接收报警的手机号码，在相应的栏中设定事件的等级（N未分级、I信息、W警告、A平均、H高、D害难）和工作时间，点击保存。（图十五）&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132239480.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/132239480.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图十五：user图&lt;br /&gt;
&lt;b&gt;3.2.4 增加报警动作&lt;/b&gt;&lt;br /&gt;
　　进入zabbix的WEB管理页面，在“Configuration”---“Actions”—“Create action”进入新建动作页面，在该页面中共包含三项目内容：&lt;br /&gt;
　　“Action”指报警动作的名称、报警周期、标题、详细内容及故障恢复时的报警标题和内容。这里需要注意的是标题和内容不能太长，不然一条短信无法定远整显示（图十六、十七分别表示action默认的内容和精简后的内容）。在标题和内容中都可以使用zabbix中自定义的宏。常见的宏有以下内容：&lt;br /&gt;
{HOST.CONN}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 主机IP地址&lt;br /&gt;{TRIGGER.NAME}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 触发事件名称&lt;br /&gt;{TRIGGER.STATUS}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 事件触发状态&lt;br /&gt;{TRIGGER.SEVERITY}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 事件触发级别&lt;br /&gt;{ITEM.NAME1}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 监控项的名称&lt;br /&gt;{ITEM.KEY1}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 监控项的参数&lt;br /&gt;{ITEM.VALUE1}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 监控项目的值&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132411635.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/132411635.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图十六：默认action图&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132438330.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/132438330.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图十七：修改的action图&lt;br /&gt;
　　“Conditions”指满足条件的主机。“Type of calculation”指的是条件的集合，分为两种：“AND”指条件必须同时满足，“OR”指满足其中的一个条件就可以。“Conditions”指满足条件的主机。图十八所表达的意思是：“当主机的状态不是“维护”并且主机已经触发“问题”并且主机组等于“project3 group”时的所有设备”。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132516964.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/132516964.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图十八：报警条件&lt;br /&gt;
　　“Operations”指对于满足条件的主机所采取的操作（图十九）。选择正确的发送周期“step”,默认为0，“operation type”指的是操作方式，可选择发送信息和执行远程指令；“send user groups”指发送的用户组；“send to users”发送到的用户；“send only to”采用的具体发送方式。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132545667.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/132545667.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图十九：报警操作&lt;br /&gt;
　　以上的这些设定好后就点“save”保存，当满足条件的主机触发报警时相关的用户就会收到短信提醒（图二十）。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132609780.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/132609780.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图二十：短信提醒&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;3.3 添加 Hosts&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　Host是Zabbix监控的基本载体，所有的监控项都是基于host的。通过Configuration-&amp;gt;Hosts-&amp;gt;Create Host来创建监控设备（图二一）。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/134308787.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/134308787.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图二一：HOST&lt;br /&gt;
　　按提示填入Host name、Groups、IP ,其他选项默认即可，Link Templates 处选择一个模板，save即可成功添加设备。（注：如果host上没安装agent，添加后的状态会是unmonitor，会采集不到值，Zabbix自带大量的设备监控模板，我们添加主机时通过link到这些模板，就可以快速添加主机的监控项和告警触发条件。）&lt;br /&gt;一类的hosts可以归属到同一个Host Group，便于分类管理同一类设备，在Configuration-&amp;gt;Host Group-&amp;gt;Create Host Group 可以添加设备组。&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;3.4 添加 Items&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　Item是监控项，是监控的基本元素，每一个监控项对应一个被监控端的采集值。（图二二、二三）&lt;br /&gt;
　　在Configuration-&amp;gt;Hosts界面，我们能看到每个host所包含的items总数，点击对应主机的items项，可以看到具体的每个item信息，这些items可以引用自templates，也可以自己创建。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/134708549.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/134708549.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图二二：ITEM&lt;br /&gt;
　　通过点击具体item名字可以修改已有监控项的属性，点击Satus的链接可以禁用/启用这个监控项。（注：我们可以通过新建一个template，在 template中禁用掉所有不需要用到的items，然后把同一类hosts link to这个template，就不用一台台主机去更改items）新增item可以通过点击右上角的create item来创建。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132931517.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/132931517.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图二三：ITEM图&lt;br /&gt;
　　按提示逐项填入相关信息即可，其中key是zabbix已经自带的取值方法，Application类似于host groups，是item的组。（item key也可以自定义，后面会讲到如何自定义监控项）。&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;3.5 添加 Triggers&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　Trigger是触发器，当Items采集值满足triggers的触发条件时，就会产生actions。（图二四、二五）每一个trigger必须对应一个item，但一个item可以对应多个trigger。&lt;br /&gt;
　　同样，通过点击Configuration-&amp;gt;Hosts-&amp;gt;Triggers中某个trigger的名字，可以修改trigger的属性。（注意：引用自template的trigger触发值是不能单独修改的，必须在template中修改，或是复制一个同样的trigger再修改，然后禁用掉之前的）新增trigger可以通过点击右上角的create trigger来创建。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/133632387.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/133632387.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图二四：Triggers图&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/132955712.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/132955712.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图二五：Triggers图&lt;br /&gt;
　　Expression中选择对应的item、触发方式及触发值，Severity是告警级别，根据trigger的严重性来选择。Zabbix 提供多种trigger触发方式供选择，常用的我们可以选择last value &amp;lt;/&amp;gt;/=/#/N(最近一次采集值),或是选择maximal value for period of time (一段时间内的最大值),等等。可以根据实际需要来设定触发方式。&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;3.6 添加 Graphs&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　Zabbix的Graphs功能很强大，可以为每一个item绘制图表，也可以把多个items绘制在一张图表内。通过 configuration-&amp;gt;hosts选择要绘制图表的host，点击graphs，create graphs即可创建图表。（图二六、二七）&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/133734103.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/133734103.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图二六：graph图&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135036917.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135036917.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图二七：graph图&lt;br /&gt;
　　Graph type：图表样式，有线状、柱状、饼状；还可以自定义图表大小，及Y轴最大最小值；通过add items可以添加在同一个图表中展示的多个items（注：注意每个item的颜色及取值范围，范围相差太大图表会显示不全）；配置好的graphs在 monitoring-&amp;gt;graphs中查看。在monitoring-&amp;gt;last data下能快速查看每个host的每个item的graph。&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;3.7 添加 Screens&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　Screen将多种信息放在一起展示，便于集中展示某个host的多个信息，或是比较多个hosts的同一种信息,这些信息可以为graphs、maps、server infos等等，几乎涵盖zabbix所有的监控信息。（图二八、二九）&lt;br /&gt;
　　通过configuration-&amp;gt;screen-&amp;gt;creat screen来创建，创建时定义screen的行数和列数，点击对应单元格内的change，添加相应的信息。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135140849.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135140849.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图二八：screen图&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135214772.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135214772.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图二九：screen图&lt;br /&gt;
　　通过monitoring-screen，可以查看之前配置好的信息。&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;3.8 添加 Maps&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　这里可以添加关于主机的拓扑图：configration-maps,在右上角可以create maps或者import map。这里我们点击crate maps 点save保存。（图三十、三一）&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135309675.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135309675.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图三十：maps图&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135332683.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135332683.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图三一：maps图&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;3.9 添加 SNMP监控&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　Zabbix snmp的监控要在configration 中hosts中添加相关主机和snmp设备IP地址，一般用snmp监控网络设备就可以了。（图三二、三三）在我看来zabbix 对server的监控一般是用agent来做的，所以zabbxi不建议用snmp对server监控，这一点和cacit有本质的区别，因为cacti 主要是通过snmp对主机和网络设备进行监控的。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135407976.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135407976.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图三二：SNMP图&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135455556.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135455556.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图三三：SNMP图&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;3.10 添加 Templates&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　如果有大量的同一类设备，需要监控的信息也大致类似，一个个去修改相关参数比较麻烦，我们可以通过创建一个template来简化操作。（图三四）&lt;br /&gt;Configuration-&amp;gt;Host Groups-&amp;gt;Template-&amp;gt;Create Template。创建template后，在configuration-&amp;gt;host-&amp;gt;template下找到刚创建的 Template_MicrosoftSQLServer2008,修改相关的items、triggers、graphs等信息，使满足要求后link 到相关的host即可。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135559404.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135559404.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图三四：模板图&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;3.11 添加Reports（定制报表）&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　在zabbix中关于报表的功能有三项：Avaliability report：（图三五）整个系统可用的系统报表提供过滤功能。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135639714.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135639714.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图三五：avaliability report图&lt;br /&gt;
　　Most busy triggers top 100：（图三六）提供最常用的triggers 预览。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135712741.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135712741.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图三六：triggers top 100图&lt;br /&gt;
　　Bar report ：（图三七）可定制报表可以报多个报表整合到一起。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135738901.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135738901.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图三七：bar report图&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;3.12 Export/Import XML&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　Zabbix提供将所有配置导出为标准XML格式的文件，同样，也支持导入标准格式的XML配置文件。&lt;br /&gt;
　　通过configuration-&amp;gt;Host-&amp;gt;Export,勾选要导出的host，选择export即可导出xml文件到本地。（图三九）&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135826951.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135826951.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图三九：export图&lt;br /&gt;
　　Import可导入本地的XML文件，注意格式一定要符合标准要求，如果server上有同名的配置，会被覆盖掉。（图三八）&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/135918919.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/135918919.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图三八：import图&lt;br /&gt;
　　如果有大量的配置需要手动新增，譬如新增oralce监控，我们可以手动编写xml，一次导入所有的items和triggers，但要注意格式，可自己导出一个配置后参考。&lt;br /&gt;
&lt;h3&gt;
&lt;b&gt;四、Zabbix ITEM、模板及SNMP配置&lt;/b&gt;&lt;/h3&gt;
&lt;br /&gt;&lt;h4&gt;
&lt;b&gt;4.1 Zabbix ITEM说明及配置&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　Item是zabbix中最小的监控单位，相关的数据都由item提供。在item项中，最重要的是“Key”项，该项提供具体的监控点（图四十）。这里有几个重要的值，分别如下：&lt;br /&gt;
type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 监控类型（有zabbix agent、snmp、jmx等）&lt;br /&gt;key&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 监控值（对于windows监控点使用perf_counter前缀）&lt;br /&gt;type of information&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 信息的类型（数值型、字符型、日志型、文本型等）&lt;br /&gt;data type&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 数据的类理（整数型、浮点型等）&lt;br /&gt;Units&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 单元（例如B=Byte）&lt;br /&gt;Update interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 数值的更新周期&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140113689.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/140113689.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图四十：item图&lt;br /&gt;
　　可以通过zabbix_get指令来获取被监控设备的数据值（图四一）。其中：-s指定需要取值的客户端；-p指定通讯端口；-k指定具体的键值。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140155841.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/140155841.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图四一：zabbix_get图&lt;br /&gt;
　　理论上只要是windows性能监视器可以查看的值，通过zabbix都可以监控到，但是对于不同的服务器安装的同类应用有可能存在监控键值不一样的情况，在windows系统下通过指令typeperf可以导出windows所有的监控键值（图四二、四三、四四）。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140222760.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/140222760.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图四二：typeperf图&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140244477.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/140244477.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图四三：sql2005图&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140311561.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/140311561.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图四四：sql2008图&lt;br /&gt;
Windows 主机的监控可以参考图四三、图四四所导出来的监控点，在新增的item中新建key，格式为“perf_counter【监控值】”（例如 perf_counter[\Processor(_Total)\% Processor Time]），图四五是参考SQL2005模板结合导出的监控点文件整理的SQL2008模板，请重点对照Key项。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140357490.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/140357490.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图四五：sql2008模板图&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;4.2 Zabbix页面显示项配置&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　通过更改zabbix的配置文件可以控制zabbix的页面显示内容，在zabbix初始安装完成后，管理界面上的“configuration”中还有一个页面是“install”选项，存在误操作重新安装的风险，通过修改menu.inc.php文件可以禁用该显示项目（图四六）。&lt;br /&gt;
&lt;pre&gt;&lt;ol&gt;
&lt;li&gt;vi /var/www/html/zabbix/include/menu.inc.php &lt;/li&gt;
&lt;/ol&gt;
&lt;/pre&gt;
&lt;br /&gt;&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140449498.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/140449498.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图四六：menu.inc.php图&lt;br /&gt;
&lt;h4&gt;
&lt;b&gt;4.3 Zabbix SNMP说明及配置&lt;/b&gt;&lt;/h4&gt;
&lt;br /&gt;　　SNMP协议主要用在对网络设备的监控方面，如交换机、防火墙等。首先需要在被监控设备上启用SNMP协议（图四七），然后在zabbix中增加被监控的主机。对于未找到snmp模板的设备就需要自己手动添加item，这里通过snmp指令查询到相关值，然后根据实际情况定制自己所需要item。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140532296.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/140532296.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图四七：启用snmp&lt;br /&gt;
&lt;pre&gt;&lt;ol&gt;
&lt;li&gt;snmpwalk 172.16.1.1 -v1 -c public |egrep -i &#39;if(in|out)&#39;|less &lt;/li&gt;
&lt;li&gt;snmpwalk -v1 -c public -On 172.16.1.1 ifInOctets.7 &lt;/li&gt;
&lt;li&gt;snmpwalk -v1 -c public -On 172.16.1.1 ifOutOctets.7 &lt;/li&gt;
&lt;li&gt;snmpwalk -v1 -c public -On 172.16.1.1 ifInOctets.9 &lt;/li&gt;
&lt;li&gt;snmpwalk -v1 -c public -On 172.16.1.1 ifOutOctets.9 &lt;/li&gt;
&lt;li&gt;snmpwalk 172.16.1.1 -v1 -c public |grep -i eth0 &lt;/li&gt;
&lt;li&gt;snmpwalk 172.16.1.1 -v1 -c public |grep -i eth2 &lt;/li&gt;
&lt;/ol&gt;
&lt;/pre&gt;
&lt;br /&gt;　　通过第一条指令结合实际情况找出需要监控的网卡（一个设备上有多个网卡但仅启用了其中的两个），并且区分出内网网卡和外网网卡；通过其它指令进一步确认网卡的状态及实时的数据，根据得出的数据结合设备实际情况定制zabbix的snmp item项，注意OID的填写（图四八、四九、五十）。&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140626354.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/140626354.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图四八：snmpwalk指令&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140653234.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/140653234.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图四九：snmpwalk指令&lt;br /&gt;
&lt;a href=&quot;http://img1.51cto.com/attachment/201208/140719138.png&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://img1.51cto.com/attachment/201208/140719138.png&quot; width=&quot;650&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
图五十：SNMP item图&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;&lt;br /&gt;zabbix安装指南：&lt;a href=&quot;http://waringid.blog.51cto.com/65148/904201&quot;&gt;http://waringid.blog.51cto.com/65148/904201&lt;/a&gt;&lt;br /&gt;
zabbix使用指南：&lt;a href=&quot;http://waringid.blog.51cto.com/65148/945352&quot;&gt;http://waringid.blog.51cto.com/65148/945352&lt;/a&gt;&lt;br /&gt;
zabbix使用手册：&lt;a href=&quot;http://down.51cto.com/data/462129&quot;&gt;http://down.51cto.com/data/462129&lt;/a&gt;&lt;br /&gt;
zabbix配置手册：&lt;a href=&quot;http://down.51cto.com/data/469472&quot;&gt;http://down.51cto.com/data/469472&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://atmap.blogspot.com/feeds/5313343680346834400/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://atmap.blogspot.com/2012/08/zabbix.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/5313343680346834400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8660803620433434350/posts/default/5313343680346834400'/><link rel='alternate' type='text/html' href='http://atmap.blogspot.com/2012/08/zabbix.html' title='zabbix中文配置指南'/><author><name>任少卿</name><uri>http://www.blogger.com/profile/16850085127177975224</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>