nagios的主动模式:和client的nrpe daemon无关了,就是利用服务端本地插件直接获取的信息就叫主动模式

nagios的被动模式 : 主程序通过check_nrpe插件,和客户端nrpe进程通信,调用客户端本地插件获取数据

如何选择主动模式和被动模式

1 .  对于客户端的本地资源性能等的监控,一般用被动模式。例如: 对负载,内存,硬盘,虚拟内存,磁盘IO,温度,风扇等的监控,当然也可以用另一个软件来是实现就是smnp。不过没有用过snmp,这里先提及吧

2 .  对于WEB服务,数据库服务这种对外提供服务的监控,一般用主动模式。 例如:   http,ssh,mysql,rsync,ftp等的服务

3 .  主动模式和被动模式是相对的,并且是可以互相转换的,也就是说主动模式可以改成被动模式

4 .  如果要查看nagios的报错信息的话,就查看/usr/local/nagios/var/

 

                                                             nagios的服务端的安装   主机IP  192.168.0.11

yum clean all ;yum repolist  sed -i 's/enforcing/disabled/g' /etc/selinux/config ; nl /etc/selinux/config   setenforce 0  service iptables stop  chkconfig iptables off  id apache || yum -y install httpd  useradd  -m nagios -s /sbin/nologin  groupadd nagcmd  usermod -a -G nagcmd nagios  usermod -a -G nagcmd apache  yum -y install gcc glibc glibc-comon gd  gd-devel httpd php php-gd mysql*  mkdir /home/fangyy;cd  /home/fangyy  rz  oldboy_training_nagios_soft.zip  unzip oldboy_training_nagios_soft.zip  tar -xf nagios-3.5.1.tar.gz   cd  nagios  ./configure --with-command-group=nagcmd  make all  make install  make install-init  make install-commandmode  make install-config  make install-webconf  htpasswd -cb /usr/local/nagios/etc/htpasswd.users yonghu mima  yum -y install perl perl-devel  ls  cd ..

  tar -xf nagios-plugins-1.4.16.tar.gz  cd nagios-plugins-1.4.16  ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-perl-module

  make && make install  cd ..  ls /usr/local/nagios/libexec/ | wc -l  tar -xf nrpe-2.12.tar.gz  cd nrpe-2.12  ls  ./configure  make all  make install-plugin  make install-daemon  make install-daemon-config  cd ..  service httpd start  lsof -i :80  /etc/init.d/nagios restartFireox http://192.168.0.12/nagios 输入这条命令的用户名  密码

htpasswd -cb/usr/local/nagios/etc/htpasswd.users    yonghu    123456                                用户名     密码进去之后点击host,如果出现下面这样的字样就是我没有权限查看

Last Check Sort by last check time (ascending)Sort by last check time (descending)

Duration Sort by state duration (ascending)Sort by state duration time (descending)

Status Information

It appears as though you do not have permission to view information for any of the hosts you requested...

If you believe this is an error, check the HTTP server authentication requirements for accessing this CGIand check the authorization options in your CGI configuration file.那么执行这条命令并重启apache服务sed -i 's/nagiosadmin/yonghu/g' /usr/local/nagios/etc/cgi.cfg  然后ctrl +F5刷新浏览器  出现下面的画面就是正常的页面

nagios被动模式服务端的配置文件

这是/usr/local/nagios/etc/nagios.cfg的配置
/usr/local/nagios/etc/nagios.cfg的主配置文件,就相当于nginx.conf是一样的

第一步
[root@nagios-server ~]#  grep -v '#' /usr/local/nagios/etc/nagios.cfg > jj[root@nagios-server ~]#  sed -i '/^$/d' jj[root@nagios-server ~]#  cat  jj     这是所有的有效配置,经过筛选之后,其中要包含的文件有cfg_file是包含文件就相当于nginx的include,cfg_dir是包含目录的意思,注意权限问题

log_file=/usr/local/nagios/var/nagios.log
cfg_file=/usr/local/nagios/etc/objects/commands.cfg                 定义命令配置文件,被动模式只要添加check_nrpe ...        
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg          定义联系人
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg        模板

#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg      默认的配置文件这行是没有注释的,所以有标注颜色的都是修改过的
cfg_dir=/usr/local/nagios/etc/services      默认也是没有的,只想想加个目录,以便更好地管理业务,不同的业务可以用不同的目录名字   下面的这些参数以后有空在慢慢研究
object_cache_file=/usr/local/nagios/var/objects.cache
precached_object_file=/usr/local/nagios/var/objects.precache
resource_file=/usr/local/nagios/etc/resource.cfg
status_file=/usr/local/nagios/var/status.dat
status_update_interval=10
nagios_user=nagios
nagios_group=nagios
check_external_commands=1
command_check_interval=-1
command_file=/usr/local/nagios/var/rw/nagios.cmd
external_command_buffer_slots=4096
lock_file=/usr/local/nagios/var/nagios.lock
temp_file=/usr/local/nagios/var/nagios.tmp
temp_path=/tmp
event_broker_options=-1
log_rotation_method=d
log_archive_path=/usr/local/nagios/var/archives
use_syslog=1
log_notifications=1
log_service_retries=1
log_host_retries=1
log_event_handlers=1
log_initial_states=0
log_external_commands=1
log_passive_checks=1
service_inter_check_delay_method=s
max_service_check_spread=30
service_interleave_factor=s
host_inter_check_delay_method=s
max_host_check_spread=30
max_concurrent_checks=0
check_result_reaper_frequency=10
max_check_result_reaper_time=30
check_result_path=/usr/local/nagios/var/spool/checkresults
max_check_result_file_age=3600
cached_host_check_horizon=15
cached_service_check_horizon=15
enable_predictive_host_dependency_checks=1
enable_predictive_service_dependency_checks=1
soft_state_dependencies=0
auto_reschedule_checks=0
auto_rescheduling_interval=30
auto_rescheduling_window=180
sleep_time=0.25
service_check_timeout=60
host_check_timeout=30
event_handler_timeout=30
notification_timeout=30
ocsp_timeout=5
perfdata_timeout=5
retain_state_information=1
state_retention_file=/usr/local/nagios/var/retention.dat
retention_update_interval=60
use_retained_program_state=1
use_retained_scheduling_info=1
retained_host_attribute_mask=0
retained_service_attribute_mask=0
retained_process_host_attribute_mask=0
retained_process_service_attribute_mask=0
retained_contact_host_attribute_mask=0
retained_contact_service_attribute_mask=0
interval_length=60
check_for_updates=1
bare_update_check=0
use_aggressive_host_checking=0
execute_service_checks=1
accept_passive_service_checks=1
execute_host_checks=1
accept_passive_host_checks=1
enable_notifications=1
enable_event_handlers=1
process_performance_data=0
obsess_over_services=0
obsess_over_hosts=0
translate_passive_host_checks=0
passive_host_checks_are_soft=0
check_for_orphaned_services=1
check_for_orphaned_hosts=1
check_service_freshness=1
service_freshness_check_interval=60
service_check_timeout_state=c
check_host_freshness=0
host_freshness_check_interval=60
additional_freshness_latency=15
enable_flap_detection=1
low_service_flap_threshold=5.0
high_service_flap_threshold=20.0
low_host_flap_threshold=5.0
high_host_flap_threshold=20.0
date_format=us
p1_file=/usr/local/nagios/bin/p1.pl
enable_embedded_perl=1
use_embedded_perl_implicitly=1
illegal_object_name_chars=`~!$%^&*|'"<>?,()=
illegal_macro_output_chars=`~$&|'"<>
use_regexp_matching=0
use_true_regexp_matching=0
admin_email=nagios@localhost
admin_pager=pagenagios@localhost
daemon_dumps_core=0
use_large_installation_tweaks=0
enable_environment_macros=1
debug_level=0
debug_verbosity=1
debug_file=/usr/local/nagios/var/nagios.debug
max_debug_file_size=1000000

既然在配置文件里面包含了文件,又包含了目录,所以至少首先得创建文件跟目录吧,这里把/usr/local/nagios/etc/object/localhost.cfg来当模板了,所以hosts.cfg的文件要借用它的前51行

[root@nagios-server ~]#  mkdir  /usr/local/nagios/etc/services

[root@nagios-server ~]#  head -51  /usr/local/nagios/etc/object/localhost.cfg > /usr/local/nagios/etc/objects/hosts.cfg     监控主机的配置文件

[root@nagios-server ~]#  chown nagios.nagios /usr/local/nagios/etc/objects/hosts.cfg

[root@nagios-server ~]#  chown -R nagios.nagios  /usr/local/nagios/etc/services

[root@nagios-server ~]#  sed -i '/^$/d' /etc/init.d/nagios      我这是为了方便查看,在实际中这个操作是不用做的

下面是修改的nagios启动文件

[root@lvs2 ~]# cat /etc/init.d/nagios 
#!/bin/sh

# chkconfig: 345 99 01
# description: Nagios network monitor
#
# File : nagios
#
# Author : Jorge Sanchez Aymar (jsanchez@lanchile.cl)

# Changelog :
#
# 1999-07-09 Karl DeBisschop <kdebisschop@infoplease.com>
# - setup for autoconf
# - add reload function
# 1999-08-06 Ethan Galstad <egalstad@nagios.org>
# - Added configuration info for use with RedHat's chkconfig tool
# per Fran Boon's suggestion
# 1999-08-13 Jim Popovitch <jimpop@rocketship.com>
# - added variable for nagios/var directory
# - cd into nagios/var directory before creating tmp files on startup
# 1999-08-16 Ethan Galstad <egalstad@nagios.org>
# - Added test for rc.d directory as suggested by Karl DeBisschop
# 2000-07-23 Karl DeBisschop <kdebisschop@users.sourceforge.net>
# - Clean out redhat macros and other dependencies
# 2003-01-11 Ethan Galstad <egalstad@nagios.org>
# - Updated su syntax (Gary Miller)
#
# Description: Starts and stops the Nagios monitor
# used to provide network services status.
#
# Load any extra environment variables for Nagios and its plugins
if test -f /etc/sysconfig/nagios; then
. /etc/sysconfig/nagios
fi
status_nagios ()
{
if test -x $NagiosCGI/daemonchk.cgi; then
if $NagiosCGI/daemonchk.cgi -l $NagiosRunFile; then
return 0
else
return 1
fi
else
if ps -p $NagiosPID > /dev/null 2>&1; then
return 0
else
return 1
fi
fi
return 1
}
printstatus_nagios()
{
if status_nagios $1 $2; then
echo "nagios (pid $NagiosPID) is running..."
else
echo "nagios is not running"
fi
}
killproc_nagios ()
{
kill $2 $NagiosPID
}
pid_nagios ()
{
if test ! -f $NagiosRunFile; then
echo "No lock file found in $NagiosRunFile"
exit 1
fi
NagiosPID=`head -n 1 $NagiosRunFile`
}
# Source function library
# Solaris doesn't have an rc.d directory, so do a test first
if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
elif [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
fi
prefix=/usr/local/nagios
exec_prefix=${prefix}
NagiosBin=${exec_prefix}/bin/nagios
NagiosCfgFile=${prefix}/etc/nagios.cfg
NagiosStatusFile=${prefix}/var/status.dat
NagiosRetentionFile=${prefix}/var/retention.dat
NagiosCommandFile=${prefix}/var/rw/nagios.cmd
NagiosVarDir=${prefix}/var
NagiosRunFile=${prefix}/var/nagios.lock
NagiosLockDir=/var/lock/subsys
NagiosLockFile=nagios
NagiosCGIDir=${exec_prefix}/sbin
NagiosUser=nagios
NagiosGroup=nagios

# Check that nagios exists.
if [ ! -f $NagiosBin ]; then
echo "Executable file $NagiosBin not found. Exiting."
exit 1
fi
# Check that nagios.cfg exists.
if [ ! -f $NagiosCfgFile ]; then
echo "Configuration file $NagiosCfgFile not found. Exiting."
exit 1
fi

# See how we were called.
case "$1" in
start)
echo -n "Starting nagios:"
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if [ $? -eq 0 ]; then
su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile"
rm -f $NagiosCommandFile
touch $NagiosRunFile
chown $NagiosUser:$NagiosGroup $NagiosRunFile
$NagiosBin -d $NagiosCfgFile
if [ -d $NagiosLockDir ]; then touch $NagiosLockDir/$NagiosLockFile; fi
echo " done."
exit 0
else
echo "CONFIG ERROR! Start aborted. Check your Nagios configuration."
exit 1
fi
;;
stop)
echo -n "Stopping nagios: "
pid_nagios
killproc_nagios nagios
# now we have to wait for nagios to exit and remove its
# own NagiosRunFile, otherwise a following "start" could
# happen, and then the exiting nagios will remove the
# new NagiosRunFile, allowing multiple nagios daemons
# to (sooner or later) run - John Sellens
#echo -n 'Waiting for nagios to exit .'
for i in 1 2 3 4 5 6 7 8 9 10 ; do
if status_nagios > /dev/null; then
echo -n '.'
sleep 1
else
break
fi
done
if status_nagios > /dev/null; then
echo ''
echo 'Warning - nagios did not exit in a timely manner'
else
echo 'done.'
fi
rm -f $NagiosStatusFile $NagiosRunFile $NagiosLockDir/$NagiosLockFile $NagiosCommandFile
;;
status)
pid_nagios
printstatus_nagios nagios
;;
checkconfig)
printf "Running configuration check..."
$NagiosBin -v $NagiosCfgFile      修改这个地方就是为了方便可以执行这个命令   /etc/init.d/nagios checkconfig  检查语法
if [ $? -eq 0 ]; then
echo " OK."
else
echo " CONFIG ERROR! Check your Nagios configuration."
exit 1
fi
;;
restart)
printf "Running configuration check..."
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if [ $? -eq 0 ]; then
echo "done."
$0 stop
$0 start
else
echo " CONFIG ERROR! Restart aborted. Check your Nagios configuration."
exit 1
fi
;;
reload|force-reload)
printf "Running configuration check..."
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if [ $? -eq 0 ]; then
echo "done."
if test ! -f $NagiosRunFile; then
$0 start
else
pid_nagios
if status_nagios > /dev/null; then
printf "Reloading nagios configuration..."
killproc_nagios nagios -HUP
echo "done"
else
$0 stop
$0 start
fi
fi
else
echo " CONFIG ERROR! Reload aborted. Check your Nagios configuration."
exit 1
fi
;;
*)
echo "Usage: nagios {start|stop|restart|reload|force-reload|status|checkconfig}"
exit 1
;;
esac

# End of this script

[root@nagios-server ~]#  vim  /usr/local/nagios/etc/objects/commands.cfg 把下面这几行加到配置文件里面去,被动模式就是只加这几行,因为被动模式都是用check_nrpe去跟客户端的nrpe来通信的

define command{    所有的这些都是为了service.cfg这个配置文件准备的,除了hosts.cfg文件是要用来监控主机的
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

[root@nagios-server ~]#   cat /usr/local/nagios/etc/objects/hosts.cfg  监控主机的配置文件     下面的内容算是hosts.cfg的内容了

里面的几个重要字段

define host {            监控多个主机就弄多个define

use    linux-server模板

host_name  lvs1监控的主机名字

alias   lvs1监控的主机别名  一般跟host_name是一样的

address   192.168.0.10监控的IP地址

check_command check-host-alive       下面这些是模板上的参数,但是要写在这里这里的优先级就比模板模板的优先级要高,但是一般用模板么。方便。

max_check_attempts 3

normal_check_interval 2

retry_check_interval 2

check_period 24x7

notification_interval 300

notification_period 24x7

notification_options d,u,r

contact_groups admins

process_perf_data 1

}

define hostgroup{

hostgroup_name linux-servers ; The name of the hostgroup 最好默认就可以了

alias Linux Servers ; Long name of the group   这里的字不用管它起什么,最好默认就可以了

members lvs1,lvs2   要添加主机组,反正要把主机加到主机组就可以了

}

service.cfg是定义nagios命令跟系统命令的关系 ,反正就是通过check_nrpe去执行客户端的nrpe.cfg里面command字段定义里面中括号的名字,这个名字就是对应了系统命令

[root@nagios-server ~]#   cat  /usr/local/nagios/etc/objects/services.cfg

define service {                被动模式

use generic-service

host_name lvs1

service_description   Disk Iostat

check_command   check_nrpe!check_iostat!5!11  调用了客户端的nrpe.cfg里面定义的插件  反正就是通过check_nrpe去执行客户端的nrpe.cfg里面command字段定义里面中括号的名字,这个名字就是对应了系统命令

max_check_attempts 2

normal_check_interval 4

retry_check_interval 4

check_period 24x7

notification_interval 1440

notification_period 24x7

notification_options w,u,c,r

contact_groups admins

process_perf_data 1

}

define service {

use generic-service

host_name lvs2

service_description Disk Partition

check_command check_nrpe!check_disk

max_check_attempts 8

normal_check_interval 3

retry_check_interval 2

check_period 24x7

notification_interval 360

notification_period 24x7

notification_options w,u,c,r

contact_groups admins

process_perf_data 1

}

                                                    nagios-client的安装  192.168.0.1
yum clean all; yum repolistyum -y install gcc glibc glibc-comon mysql*mkdir /home/fangyycd  /home/fangyyrzoldboy_training_nagios_soft.zipunzip oldboy_training_nagios_soft.ziptar -xf nagios-plugins-1.4.16.tar.gzcd nagios-plugins-1.4.16./configure --prefix=/usr/local/nagios  --enable-perl-modules --enable-redhat-pthread-workaround(是redhat的系统才需要加上这个参数)make && make installcd ..ls /usr/local/nagios/libexec | wc -ltar -xf nrpe-2.12.tar.gzcd nrpe-2.12ls./configuremake allmake install-pluginmake install-daemonmake install-daemon-configcd ..tar -xf Params-Validate-0.91.tar.gz cd Pa rams-Validate-0.91lsperl Makefile.PLmakemake testmake installcd ..tar -xf Class-Accessor-0.31.tar.gzcd Class-Accessor-0.31perl Makefile.PLmake && make installcd ..perl M tar -xf Config-Ti y-2.12.tar.gzcd Config-Tiny-2.12perl Makefile.PLmakemake testmake installcd ..tar -xf Math-Calc-Units-1.07.tar.gzcd Math-Calc-Units-1.07perl Makefile.PLmakemake testmake installcd ..tar -xf Regexp-Common-2010010201.tar.gzcd Regexp-Common-2010010201lsperl Makefile.PLmakemake installcd ..tar -xf Na s-Plugin-0.34.tar.gzcd Nagios-Plugin-0.34perl Makefile.PLmakemake installcd ..cp check_memory.pl check_iostat /usr/local/nagios/libexec/ll /usr/local/nagios/libexec/check_iostatchmod 755 /usr/local/nagios/libexec/check_iostatchmod 755 /usr/local/nagios/libexec/check_memory.plrpm -ivh ftp://ftp.pbone.net/mirror/ftp.centos.org/6.9/os/x86_64/Packages/dos2unix-3.1-37.el6.x86_64.rpmdos2unix /usr/local/nagios/libexec/check_memory.pldos2unix /usr/local/nagios/libexec/check_iostat

转载于:https://www.cnblogs.com/fyy-hhzzj/p/7995222.html

nagios的原理及server端跟client端安装配置全部过程相关推荐

  1. Oracle监听器Server端与Client端配置实例

    Listener.ora.tnsnames.ora这两个文件常常因为格式问题而不好用,我平时都是配置好了留个备份,以后都是拷贝过去改改就好了!嘿嘿~~~ 因为平时使用linux的时候较多,所以有时还会 ...

  2. sofa server端处理client端请求流程

    背景:以sofa-rpc-master:5.6.0-SNAPSHOT版本为例,下载 代码,以 com.alipay.sofa.rpc.quickstart.QuickStartClient 和 com ...

  3. (SVN笔记)SVN服务端+SVN客户端Tortoise——安装配置

    目录 1.前言 2.官网下载SVN服务端1.14.1 3.安装SVN服务端Server 4.官网下载SVN客户端Tortoise4.3.4 5.安装Tortoise 6.验证Tortoise安装 7. ...

  4. SQL Server CE服务器端和客户端安装配置学习笔记

    SQL Server 2005 CE开发环境介绍: 最近学习使用SQL Server 2005 Compact Edition进行数据存储,在学习的过程中发现,使用SQL Server2005 man ...

  5. freebsd 手工安装zabbix2.0 php,zabbix 服务端,子客户端安装配置日志

    针对已经有mysql nginx php 的linux环境 ,zabbix2.4.8对不同版本的mysql会报不同的错,php也一样. 这只是针对本人的环境下的安装部署,mysql是5.6.4rmp安 ...

  6. 以后再也不用看“教程”!概括【配置环境】的原理,小白也能举一反三的python配置环境过程!

    前言: 前一阵子至少指导了5位学弟学妹小伙伴配置 python 环境.2年前我入门 python 时,也得照着互联网上的资料,一步一步"照猫画虎":为什么现在自己可以"凭 ...

  7. 【Apache Mina2.0开发之二】自定义实现Server/Client端的编解码工厂(自定义编码与解码器)!...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/apache-mina/831.html ☞ ...

  8. Windows下SVN的Server+Client的安装

    SVN服务器的安装 官方的下载,是命令行的,需要自行创建服务.创建仓库,才能使用图形化的客户端进行连接. 因此下载Visual SVN Server,它把SVN服务和第三方服务整合在一起了的. 打开下 ...

  9. oracle golden gate原理和安装配置

    oracle golden gate使用配置 我们采用oracle 11g数据库对应的golden gate传统模式配置: oracle golden gate的逻辑架构: oracle golden ...

  10. 搭建Apache Mina框架并实现Server与Client端的简单消息传递

    http://www.himigame.com/apache-mina/831.html :(作者新浪微博: @李华明Himi ) 转载自[黑米GameDev街区] 原文链接: http://www. ...

最新文章

  1. Visual C++ 中的重大更改
  2. 【转】iOS开发24:使用SQLite3存储和读取数据
  3. 推荐算法炼丹笔记:序列化推荐算法Bert4Rec
  4. php正则表达式,数组,函数
  5. “”和“” java
  6. (转-这篇文章非常棒) Thread的中断机制(interrupt)
  7. Eclipse Memory Analyzer分析内存使用总结
  8. python基础安装第三方(十三)
  9. Fedora 11 Beta 跳票了
  10. ZOJ 3380 Patchouli's Spell Cards(概率+大数)
  11. PHP 二元线性拟合函数
  12. 计算机四级数据库工程师考什么,计算机四级《数据库工程师》考试大纲
  13. 玩家交互体验—剑网3好友系统
  14. 计算机考试行高怎么设置,Excel隔行调整行高的四种有效方法
  15. linux 移动存储设备弹出操作详解
  16. 计算机配置好坏怎么看,怎么看电脑配置,电脑配置好坏信息一目了然-腾讯电脑管家...
  17. 这么骚的SQL进阶技巧,不怕被揍么?
  18. yolov1-v3学习报告
  19. 小爱同学+8266的小爱语音台灯,基于Blinker库
  20. 哈佛经典:领导者应该做什么?(领导与管理的不同)

热门文章

  1. android 百度地图
  2. IOS UI学习 UI 十个小控件 初度学习
  3. P02014132 魏思奇 对信息论几个问题的一些看法
  4. android 正三角,倒三角的实现代码
  5. 腾讯开源开门红,云原生操作系统TencentOS Kernel正式登陆Github
  6. java用zipOutputStream压缩后用WinRAR解压出现“不可预料的压缩文件末端”错误
  7. Allatori混淆器的介绍以及使用方法
  8. 库克将在斯坦福大学2019年毕业典礼上发表演讲:6月16日举行
  9. 对于von Mises distribution(冯·米塞斯分布)的一点心得
  10. 怎么把计算机隐藏文件显示出来,怎么把隐藏的文件夹显示出来