status/0040755000567100000120000000000010556311323012064 5ustar jcameronwheelstatus/module.info0100644000567100000120000000163710556311376014242 0ustar jcameronwheeldesc_nl=Systeem en Server Status desc_ko_KR.euc=ý risk=low medium high desc_pl=Stan systemu i serwerw desc=System and Server Status desc_es=Estado de Sistema y de Servidor desc_sv=System- och serverstatus name=Status desc_ja_JP.euc=ƥपӥФΥơ desc_zh_CN=ϵͳͷ״̬ depends=servers cron mailboxes desc_ca=Estat del Sistema i Servidors desc_de=System- und Server-Status desc_ru_SU= desc_ru_RU= longdesc=View the status of services on your system and on remote systems. desc_zh_TW.Big5= tΩMAA desc_sk=Stav systmu a serverov desc_tr=Sistem ve Sunucu Durumu desc_fr=tat du systme et des serveurs desc_zh_TW.UTF-8= 系統和伺服器的狀態 desc_zh_CN.UTF-8=系统和服务器的状态 desc_ja_JP.UTF-8=システムおよびサーバのステータス desc_ko_KR.UTF-8=시스템 및 서버 상태 version=1.324 status/apache-monitor.pl0100664000567100000120000000127110553214717015335 0ustar jcameronwheel# apache-monitor.pl # Monitor the apache server on this host # Check the PID file to see if apache is running sub get_apache_status { return { 'up' => -1 } if (!&foreign_check($_[1])); &foreign_require($_[1], "apache-lib.pl"); return { 'up' => -1 } if (!&foreign_check($_[1])); local %aconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-x $aconfig{'httpd_path'}); if (&foreign_call($_[1], "is_apache_running")) { local $pidfile = &foreign_call($_[1], "get_pid_file"); local @st = stat($pidfile); return { 'up' => 1, 'desc' => &text('up_since', scalar(localtime($st[9]))) }; } else { return { 'up' => 0 }; } } sub parse_apache_dialog { &depends_check($_[0], "apache"); } 1; status/status-lib.pl0100664000567100000120000002226210552313676014524 0ustar jcameronwheel# status-lib.pl # Functions for getting the status of services do '../web-lib.pl'; &init_config(); do '../ui-lib.pl'; %access = &get_module_acl(); $services_dir = "$module_config_directory/services"; $cron_cmd = "$module_config_directory/monitor.pl"; $oldstatus_file = "$module_config_directory/oldstatus"; $fails_file = "$module_config_directory/fails"; %monitor_os_support = ( 'traffic' => { 'os_support' => '*-linux freebsd' }, ); # list_services() # Returns a list of all services this module knows how to get status on. # If this is the first time the function is called a default set of services # will be setup. sub list_services { my (%mod, @rv); if (!-d $services_dir) { # setup initial services mkdir($module_config_directory, 0700); mkdir($services_dir, 0700); system("cp services/* $services_dir"); } map { $mod{$_}++ } &list_modules(); opendir(DIR, $services_dir); while($f = readdir(DIR)) { next if ($f !~ /^(.*)\.serv$/); local $serv = &get_service($1); next if (!$serv || !$serv->{'type'} || !$serv->{'id'}); if ($serv->{'depends'}) { local $d; map { $d++ if (!$mod{$_}) } split(/\s+/, $serv->{'depends'}); push(@rv, $serv) if (!$d); } else { push(@rv, $serv); } } closedir(DIR); return @rv; } # get_service(id) sub get_service { local %serv; &read_file("$services_dir/$_[0].serv", \%serv); $serv{'fails'} = 1 if (!defined($serv{'fails'})); $serv{'_file'} = "$services_dir/$_[0].serv"; if (!defined($serv{'notify'})) { $serv{'notify'} = 'email pager snmp'; } $serv{'remote'} = "*" if (!$serv{'remote'} && !$serv{'groups'}); return $_[0] ne $serv{'id'} ? undef : \%serv; } # save_service(&serv) sub save_service { mkdir($services_dir, 0755) if (!-d $services_dir); &lock_file("$services_dir/$_[0]->{'id'}.serv"); &write_file("$services_dir/$_[0]->{'id'}.serv", $_[0]); &unlock_file("$services_dir/$_[0]->{'id'}.serv"); } # delete_service(serv) sub delete_service { &lock_file("$services_dir/$_[0]->{'id'}.serv"); unlink("$services_dir/$_[0]->{'id'}.serv"); &unlock_file("$services_dir/$_[0]->{'id'}.serv"); } # expand_remotes(&service) # Given a service with direct and group remote hosts, returns a list of the # names of all actual hosts (* means local) sub expand_remotes { local @remote; push(@remote, split(/\s+/, $_[0]->{'remote'})); local @groupnames = split(/\s+/, $_[0]->{'groups'}); if (@groupnames) { &foreign_require("servers", "servers-lib.pl"); local @groups = &servers::list_all_groups(); foreach my $g (@groupnames) { local ($group) = grep { $_->{'name'} eq $g } @groups; if ($group) { push(@remote, @{$group->{'members'}}); } } } return &unique(@remote); } # service_status(&service, [from-cgi]) # Gets the status of a service, possibly on another server. If called in # an array content, the status of all hosts for this monitor are returned. sub service_status { local $t = $_[0]->{'type'}; local @rv; foreach $r (&expand_remotes($_[0])) { local $rv; eval { local $SIG{'ALRM'} = sub { die "status alarm\n" }; alarm(60); # wait at most 60 secs for a result if ($r ne "*") { # Make a remote call to another webmin server &remote_error_setup(\&remote_error); $remote_error_msg = undef; &remote_foreign_require($r, 'status', 'status-lib.pl') if (!$done_remote_status{$r}++); local $webmindown = $s->{'type'} eq 'alive' ? 0 : -2; if ($remote_error_msg) { $rv = { 'up' => $webmindown, 'desc' => "$text{'mon_webmin'} : $remote_error_msg" }; } else { local %s = %{$_[0]}; $s{'remote'} = '*'; $s{'groups'} = undef; ($rv) = &remote_foreign_call($r, 'status', 'service_status', \%s, $_[1]); if ($remote_error_msg) { $rv = { 'up' => $webmindown, 'desc' => "$text{'mon_webmin'} : $remote_error_msg" }; } } } elsif ($t =~ /^(\S+)::(\S+)$/) { # Call to another module local ($mod, $mtype) = ($1, $2); &foreign_require($mod, "status_monitor.pl"); $rv = &foreign_call($mod, "status_monitor_status", $mtype, $_[0], $_[1]); } else { # Just include and use the local monitor library do "${t}-monitor.pl" if (!$done_monitor{$t}++); local $func = "get_${t}_status"; $rv = &$func($_[0], $_[0]->{'clone'} ? $_[0]->{'clone'} : $t, $_[1]); } alarm(0); }; if ($@ eq "status alarm\n") { push(@rv, { 'up' => -3, 'remote' => $r }); } elsif ($@) { # A real error happened die $@; } else { $rv->{'remote'} = $r; push(@rv, $rv); } } return wantarray ? @rv : $rv[0]; } sub remote_error { $remote_error_msg = join("", @_); } # list_modules() # Returns a list of all modules available on this system sub list_modules { return map { $_->{'dir'} } grep { &check_os_support($_) } &get_all_module_infos(); } # list_handlers() # Returns a list of the module's monitor type handlers, and those # defined in other modules. sub list_handlers { local ($f, @rv); opendir(DIR, "."); while($f = readdir(DIR)) { if ($f =~ /^(\S+)-monitor\.pl$/) { local $m = $1; local $oss = $monitor_os_support{$m}; next if ($oss && !&check_os_support($oss)); push(@rv, [ $m, $text{"type_$m"} ]); } } closedir(DIR); local $m; foreach $m (&get_all_module_infos()) { local $mdir = defined(&module_root_directory) ? &module_root_directory($m->{'dir'}) : "$root_directory/$m->{'dir'}"; if (-r "$mdir/status_monitor.pl" && &check_os_support($m)) { &foreign_require($m->{'dir'}, "status_monitor.pl"); local @mms = &foreign_call($m->{'dir'}, "status_monitor_list"); push(@rv, map { [ $m->{'dir'}."::".$_->[0], $_->[1] ] } @mms); } } return @rv; } # depends_check(&service, [module]+) sub depends_check { return if ($_[0]->{'id'}); # only check for new services if ($_[0]->{'remote'}) { # Check on the remote server foreach $m (@_[1..$#_]) { &remote_foreign_check($_[0]->{'remote'}, $m) || &error(&text('depends_remote', "$m", "$_[0]->{'remote'}")); } } else { # Check on this server foreach $m (@_[1..$#_]) { local %minfo = &get_module_info($m); %minfo || &error(&text('depends_mod', "$m")); &check_os_support(\%minfo) || &error(&text('depends_os', "$minfo{'desc'}")); } $_[0]->{'depends'} = join(" ", @_[1..$#_]); } } # find_named_process(regexp) sub find_named_process { foreach $p (&foreign_call("proc", "list_processes")) { $p->{'args'} =~ s/\s.*$//; $p->{'args'} =~ s/[\[\]]//g; if ($p->{'args'} =~ /$_[0]/) { return $p; } } return undef; } # smtp_command(handle, command) sub smtp_command { local ($m, $c) = @_; print $m $c; local $r = <$m>; if ($r !~ /^[23]\d+/) { &error(&text('sched_esmtpcmd', "$c", "$r")); } } # setup_cron_job() # Create a cron job based on the module's configuration sub setup_cron_job { &lock_file($cron_cmd); &foreign_require("cron", "cron-lib.pl"); local ($j, $job); foreach $j (&foreign_call("cron", "list_cron_jobs")) { $job = $j if ($j->{'user'} eq 'root' && $j->{'command'} eq $cron_cmd); } if ($job) { &lock_file(&cron::cron_file($job)); &foreign_call("cron", "delete_cron_job", $job); &unlock_file(&cron::cron_file($job)); unlink($cron_cmd); } if ($config{'sched_mode'}) { # Create the program that cron calls &cron::create_wrapper($cron_cmd, $module_name, "monitor.pl"); # Setup the actual cron job local $njob; $njob = { 'user' => 'root', 'active' => 1, 'hours' => '*', 'days' => '*', 'months' => '*', 'weekdays' => '*', 'command' => $cron_cmd }; if ($config{'sched_period'} == 0) { $njob->{'mins'} = &make_interval(60); } elsif ($config{'sched_period'} == 1) { $njob->{'hours'} = &make_interval(24); $njob->{'mins'} = 0; } elsif ($config{'sched_period'} == 2) { $njob->{'days'} = &make_interval(31, 1); $njob->{'hours'} = $njob->{'mins'} = 0; } elsif ($config{'sched_period'} == 3) { $njob->{'months'} = &make_interval(12, 1); $njob->{'days'} = 1; $njob->{'hours'} = $njob->{'mins'} = 0; } &lock_file(&cron::cron_file($njob)); &foreign_call("cron", "create_cron_job", $njob); &unlock_file(&cron::cron_file($njob)); } &unlock_file($cron_cmd); } # make_interval(length, offset2) sub make_interval { local (@rv, $i); for($i=$config{'sched_offset'}+$_[1]; $i<$_[0]; $i+=$config{'sched_int'}) { push(@rv,$i); } return join(",", @rv); } # expand_oldstatus(oldstatus, &serv) # Converts an old-status string like *=1 foo.com=2 into a hash. If the string # contains just one number, it is assumed to be for just the first remote host sub expand_oldstatus { local ($o, $serv) = @_; local @remotes = split(/\s+/, $serv->{'remote'}); if ($o =~ /^\-?(\d+)$/) { return { $remotes[0] => $o }; } else { local %rv; foreach my $hs (split(/\s+/, $o)) { local ($h, $s) = split(/=/, $hs); $rv{$h} = $s; } return \%rv; } } # nice_remotes(&monitor, [max]) sub nice_remotes { local ($s, $max) = @_; $max ||= 3; local @remotes = map { $_ eq "*" ? $text{'index_local'} : &html_escape($_) } split(/\s+/, $s->{'remote'}); foreach my $g (split(/\s+/, $s->{'groups'})) { push(@remotes, &text('index_group', $g)); } return @remotes > $max ? join(", ", @remotes[0..$max]).", ..." : join(", ", @remotes); } sub group_desc { local ($group) = @_; local $mems = scalar(@{$group->{'members'}}); return $group->{'name'}." (". &text($mems == 0 ? 'mon_empty' : $mems == 1 ? 'mon_onemem' : 'mon_members', $mems).")"; } 1; status/lang/0040775000567100000120000000000010554544347013023 5ustar jcameronwheelstatus/lang/en0100644000567100000120000003232110554544347013344 0ustar jcameronwheelindex_title=System and Server Status index_name=Service name index_host=On host index_desc=Monitoring index_up=Status index_last=Last check index_local=Local index_add=Add monitor of type: index_sched=Scheduled Monitoring index_scheddesc=Turn scheduled checking of monitors on or off, and set the address to which failures are automatically emailed. index_return=service list index_none=No monitors are currently defined. index_oldtime=Status from last scheduled check at $1 index_esnmp=The module is configured to send SNMP traps on the Module Config page, but the $1 Perl module is not installed. Click here to download and install it now. index_refresh=Refresh Status index_refreshdesc=Perform an immediate refresh of all monitor statuses, instead of waiting for the next scheduled update. index_delete=Delete Selected index_group=Members of $1 type_apache=Apache Webserver type_inetd=Internet and RPC Server type_xinetd=Extended Internet Server type_squid=Squid Proxy Server type_bind8=BIND DNS Server type_dnsadmin=BIND 4 DNS Server type_dhcpd=DHCP Server type_tcp=Remote TCP Service type_http=Remote HTTP Service type_ftp=Remote FTP Service type_sendmail=Sendmail Server type_postfix=Postfix Server type_ping=Remote Ping type_proc=Check Process type_mysql=MySQL Database Server type_postgresql=PostgreSQL Database Server type_samba=Samba Servers type_nfs=NFS Server type_exec=Execute Command type_file=Check File or Directory type_traffic=Network Traffic type_space=Disk Space type_consume=Disk Space Consumption type_load=Load Average type_change=File or Directory Change type_oldfile=File Not Changed type_qmailadmin=QMail Server type_mon=MON Service Monitor type_jabber=Jabber IM Server type_usermin=Usermin Webserver type_portsentry=Portsentry Daemon type_hostsentry=Hostsentry Daemon type_webmin=Webmin Webserver type_cfengine=Configuration Engine Daemon type_memory=Free Memory type_proftpd=ProFTPD Server type_mailserver=Mailserver Response type_sshd=SSH Server type_raid=RAID Device Status type_iface=Network Interface Status type_sensors=LM Sensor Status type_nut=NUT UPS Value type_mailq=Mail Queue Size type_dns=DNS Lookup type_query=SQL Query type_alive=Alive System mon_create=Create Monitor mon_edit=Edit Monitor mon_header=Monitor details mon_header2=Commands to run mon_header3=Monitored service options mon_desc=Description mon_remote=Run on host mon_groups=Run on host groups mon_remotes=Run on hosts mon_local=Local mon_none=No remote servers defined mon_nosched=Check on schedule? mon_warndef=Yes, and use default reporting mode mon_warn1=Yes, and report on status changes mon_warn0=Yes, and report when going down mon_warn2=Yes, and report when down mon_warn3=Yes, but never report mon_status=Current status mon_up=Up mon_down=Down mon_webmin=Webmin Down mon_timeout=Timed out mon_not=Not installed mon_ondown=If monitor goes down, run command mon_onup=If monitor comes up, run command mon_clone=Module to monitor mon_err=Failed to save monitor mon_edesc=Missing description mon_elogin=Invalid login for RPC on Webmin server $1 mon_eremote=Webmin server $1 does not support RPC mon_estatus=Webmin server $1 does not have the System and Server Status module mon_ecannot=You are not allowed to edit monitors mon_ertype=This monitor type is not available on $1 mon_runon=Run commands on mon_runon0=This server mon_runon1=The remote host mon_oninfo=Note: Commands will only be run when email is sent mon_fails=Failures before reporting mon_efails=Missing or invalid number of failures mon_notify=Notification methods mon_notifyemail=Email mon_notifypager=Pager (if configured) mon_notifysnmp=SNMP (if configured) mon_email=Also send email for this service to mon_depend=Don't check if monitor is down mon_edepend=A monitor cannot depend on itself mon_clone2=Clone mon_skip=Skipped mon_empty=No members mon_onemem=One member mon_members=$1 members mon_enoremote=No hosts or groups to run on selected sched_title=Scheduled Monitoring sched_header=Scheduled background monitoring options sched_mode=Scheduled checking enabled? sched_email=Email status report to sched_pager=Page status report to number sched_none=Don't send email sched_from=From: address for email sched_int=Check every sched_period_0=minutes sched_period_1=hours sched_period_2=days sched_period_3=months sched_period_4=weeks sched_offset=with offset sched_warn=Send email when sched_warn1=When a service changes status sched_warn0=When a service goes down sched_warn2=Any time service is down sched_single=Send one email per service? sched_hours=Run monitor during hours sched_days=Run monitor on days sched_err=Failed to save scheduled monitoring sched_eemail=Missing email address sched_eint=Missing or invalid interval sched_eoffset=Missing or invalid offset sched_ehours=No hours to run during selected sched_edays=No days to run on selected sched_ecannot=You are not allowed to edit scheduled monitoring sched_smtp=Send mail via sched_smtp_prog=Local mail server sched_smtp_server=SMTP server sched_esmtp=Missing or invalid SMTP server sched_esmtpcmd=SMTP command $1 failed : $2 sched_eemailserver=Your mail server is not installed : $1 up_since=Up since $1 depends_mod=The module $1 is not installed on your system depends_os=The module $1 is not supported on your system depends_remote=The module $1 is not supported on server $2 tcp_host=Host to connect to tcp_port=Port to connect to tcp_alarm=Connection timeout tcp_ehost=Missing or invalid hostname tcp_eport=Missing or invalid port number tcp_ealarm=Missing or invalid connection timeout http_url=URL to request http_alarm=Connection timeout http_eurl=Missing or invalid URL http_ealarm=Missing or invalid connection timeout http_login=Login as http_none=Don't authenticate http_user=Username http_pass=password http_euser=Missing username http_method=HTTP request method http_regexp=Page must match regexp http_eregexp=No regular expression for page to match entered http_none2=Don't match http_ehead=The HEAD request method cannot be used when checking for a regular expression ping_host=Host to ping ping_wait=Time to wait for response ping_ehost=Missing or invalid hostname ping_ewait=Missing or invalid wait time ping_econfig=No ping command has been set in Module Config proc_pid=Running with PIDs $1 proc_cmd=Command to check for proc_not=Fail if process is proc_not0=Not running proc_not1=Running proc_ecmd=Missing command proc_thresh=Number of process that must exist for
monitor to consider them running proc_ethresh=Missing or invalid number of processes exec_cmd=Command to check exit status of exec_ecmd=Missing command file_file=File or directory to check file_test=Test to perform file_test_0=Must exist file_test_1=Must not exist file_test_2=Size must be bigger than file_test_3=Size must be smaller than file_bytes=bytes file_efile=Missing file or directory name to check file_esize=Invalid file size traffic_iface=Interface to monitor traffic_bytes=Maximum bytes/second traffic_dir=Direction to monitor traffic_dir0=Incoming and outgoing traffic_dir1=Incoming only traffic_dir2=Outgoing only traffic_desc=This monitor keeps track of network traffic on a selected interface, and displays the monitor as down if the traffic exceeds the number of bytes per second entered below. This only really works well if scheduled monitoring is enabled at set to a short interval, like every 5 minutes. traffic_eifaces=Your operating system does not have a /proc/net/dev file traffic_ebytes=Missing or invalid number of bytes/second space_fs=Filesystem to check space_min2=Minimum free space space_desc=$1 free space_nofs=Filesystem not mounted space_other=Other.. space_emin=Missing or invalid free space space_eother=Missing or invalid filesystem space_inode=Minimum free Inodes space_ierr=Only $1 inodes free load_time=Load average to check load_1=1 minute load_5=5 minute load_15=15 minute load_max=Maximum load average load_emax=Missing or invalid maximum load average load_ecmd=The uptime command was not found on your system load_efmt=The output of the uptime command could not be parsed log_create=Created monitor $1 log_modify=Modified monitor $1 log_delete=Deleted monitor $1 log_sched=Changed scheduled monitoring log_deletes=Deleted $1 monitors acl_edit=Can edit and create monitors? acl_sched=Can change scheduled monitoring? change_file=File or directory to monitor (fail if changed) jabber_eparser=The Perl module $1 is not installed on your system. memory_min2=Minimum free memory memory_emin=Missing or invalid amount of free memory memory_eproc=Webmin does not know how to check free memory on your operating system memory_free2=$1 free proftpd_etype=This monitor cannot be used when ProFTPD is run stand-alone mailserver_to=Send email to address mailserver_timeout=Timeout and interval mailserver_units_0=Seconds mailserver_units_1=Minutes mailserver_units_2=Hours mailserver_units_3=Days mailserver_desc=The address below must be an autoresponder that replies to the source address with the same Subject: line. oldfile_file=File to monitor (fail if not changed) oldfile_diff=Fail if not changed for oldfile_secs=secs raid_device=RAID device raid_edevice=No RAID device selected raid_bad=Bad disk detected raid_resync=Currently resyncing raid_notfound=RAID device $1 not found raid_other=Other.. iface_iface=Interface to check refresh_title=Refresh Status refresh_doing=Refreshing the status of all monitors .. refresh_done=.. done. sensors_name=Sensor to check sensors_value=Failed when sensors_value0=System indicates warning sensors_value1=Value is below $1 sensors_value2=Value is above $1 sensors_cmd=The command sensors is not installed on your system. This monitor requires the lm_sensors package be installed to operate. sensors_none=No sensors were detected on your system. You may need to run the sensors-detect initialization command. sensors_cur=$1 (currently $2 $3) sensors_emin=Missing or invalid minimum value sensors_emax=Missing or invalid maximum value nut_ups=NUT UPS to check nut_name=Attribute to check nut_value=Failed when nut_value1=Value is below $1 nut_value2=Value is above $1 nut_cmd=The command upsc is not installed on your system. This monitor requires the NUT package be installed and configured to operate. nut_eups=No USP to check entered nut_cur=$1 (currently $2) nut_emin=Missing or invalid minimum value nut_emax=Missing or invalid maximum value mailq_system=Mail server mailq_qmailadmin=Qmail mailq_postfix=Postfix mailq_sendmail=Sendmail mailq_size=Maximum mail queue size mailq_esize=Missing or invalid maximum queue size mailq_toomany=Down - $1 messages queued mailq_ok=Up - $1 messages queued dns_server=DNS server dns_host=Hostname to lookup dns_address=Expected IP address dns_eserver=Missing or invalid DNS server dns_ehost=Missing or invalid-looking hostname to lookup dns_eaddress=Missing or invalid expected IP address dns_ecmds=Neither the nslookup or dig commands are installed on your system monitor_sub_down=$1 down on $2 monitor_pager_down=$1: "$2" is down $3 monitor_snmp_down=$1: $2 monitor_email_down=Monitor on $1 for '$2' has detected that the service has gone down at $3 monitor_sub_up=$1 back up on $2 monitor_pager_up=$1: $2 is back up $3 monitor_snmp_up=$1: $2 is back up monitor_email_up=Monitor on $1 for '$2' has detected that the service has gone back up at $3 monitor_sub_un=$1 uninstalled on $2 monitor_pager_un=$1: $2 uninstalled $3 monitor_snmp_un=$1: $2 uninstalled monitor_email_un=Monitor on $1 for '$2' has detected that the service is uninstalled at $3 monitor_sub_webmin=$1 Webmin down on $2 monitor_pager_webmin=$1: $2 Webmin down $3 monitor_snmp_webmin=$1: $2 Webmin down monitor_email_webmin=Monitor on $1 for '$2' has detected that Webmin is down at $3 monitor_sub_timed=$1 timed out on $2 monitor_pager_timed=$1: $2 timed out $3 monitor_snmp_timed=$1: $2 timed out monitor_email_timed=Monitor on $1 for '$2' has timed out at at $3 monitor_sub_isdown=$monitor_sub_down monitor_pager_isdown=$monitor_pager_down monitor_snmp_isdown=$monitor_snmp_down monitor_email_isdown=Monitor on $1 for '$2' has detected that the service is down at $3 monitor_sub=Service monitor : $1 monitor_sub2=Service monitor monitor_sub3=Service monitor : $1 services monitor_run1=Running $1 on $2 .. monitor_run2=Running $1 .. deletes_egone=One of the selected monitors no longer exists ftp_host=FTP server host ftp_port=FTP port ftp_user=Login as user ftp_anon=Anonymous ftp_pass=With password ftp_file=File to fetch ftp_none=None (just login) ftp_ehost=Missing or invalid FTP server host ftp_eport=Missing or invalid FTP server port ftp_efile=Missing or invalid file to download query_driver=SQL database type query_db=Database name query_host=Database server host query_local=This server query_user=Login as user query_pass=Login with password query_sql=SQL query to execute query_result=Expected result query_ignore=Ignore result query_edriver=The Perl driver module $1 is not installed query_edb=Missing or invalid database name query_ehost=Missing or invalid database server hostname query_euser=Invalid username query_epass=Invalid password query_esql=Missing SQL query query_eresult=Missing expected result query_elogin=Login failed : $1 query_eprepare=SQL error : $1 query_eexecute=SQL failed : $1 query_ewrong=Incorrect result : $1 consume_rate=Maximum consumption rate (per second) consume_high=Consumption rate is $1 / second alive_up=Up for $1 status/lang/sv0100644000567100000120000000616107255517613013375 0ustar jcameronwheelindex_title=System- och serverstatus index_name=Tjnstenamn index_host=P dator index_desc=vervakar index_up=Status index_local=Lokal index_add=Lgg till vervakning av typen index_sched=Schemalagd vervakning index_return=tjnstelista type_apache=Apache Webbserver type_inetd=Internet- och RPC-server type_xinetd=Utkad Internet-server type_squid=Squid Proxyserver type_bind8=BIND DNS-server type_dnsadmin=BIND 4 DNS-server type_dhcpd=DHCP-server type_tcp=TCP-tjnst p annan dator type_http=HTTP-tjnst p annan dator type_sendmail=Sendmailserver type_postfix=Postfix-server type_ping=Ping p annan dator type_proc=Kontrollera process type_mysql=MySQL-databasserver type_postgresql=PostgreSQL-databasserver type_samba=Samba-servrar type_nfs=NFS-server type_exec=Utfr kommando mon_create=Lgg till vervakning mon_edit=ndra vervakning mon_header=Uppgifter om vervakning mon_desc=Beskrivning mon_remote=Kr p dator mon_local=Lokal mon_none=Du har inte angivit ngra andra servrar mon_nosched=Kontrollera enligt schema? mon_status=Aktuell status mon_up=Uppe mon_down=Nere mon_not=Ej installerad mon_ondown=Om vervakningen gr ner, kr kommandot mon_onup=Om vervakningen startas, kr kommandot mon_err=Det gick inte att spara vervakningen mon_edesc=Det finns ingen beskrivning mon_elogin=Ogiltig RPC-inloggning p Webmin-server $1 mon_eremote=Webmin-server $1 stder inte RPC mon_estatus=Webmin-server $1 har inte modulen System- och serverstatus sched_title=Schemalagd vervakning sched_header=Instllningar fr schemalagd vervakning i bakgrunden sched_mode=Schemalagd kontroll aktiv? sched_email=Skicka statusrapport med e-post till sched_from=Avsndaradress fr rapporterna sched_int=Kontrollera var sched_period_0=minut sched_period_1=timme sched_period_2=dag sched_period_3=mnad sched_period_4=vecka sched_offset=med offset sched_warn=Skicka e-post sched_warn1=om en tjnst ndrar status sched_warn0=om en tjnst gr ner sched_single=Skicka ett e-postbrev per tjnst? sched_err=Det gick inte att spara schemalagd vervakning sched_eemail=Du har inte angivit ngon e-postadress sched_eint=Kontrollintervall saknas eller r felaktigt angivet sched_eoffset=Offset saknas eller r felaktigt angivet up_since=Uppe sedan $1 depends_mod=Modulen $1 har inte installerats p systemet depends_os=Modulen $1 stds inte av systemet depends_remote=Modulen $1 stds inte av server $2 tcp_host=Dator att koppla upp mot tcp_port=Port att koppla upp mot tcp_alarm=Tidsgrns fr uppkoppling tcp_ehost=Datornamn saknas eller r felaktigt angivet tcp_eport=Portnummer saknas eller r felaktigt angivet tcp_ealarm=Tidsgrns saknas eller r felaktigt angiven http_url=URL att hmta http_alarm=Tidsgrns fr uppkoppling http_eurl=URL saknas eller r felaktigt angiven http_ealarm=Tidsgrns saknas eller r felaktigt angiven ping_host=Dator att pinga ping_ehost=Datornamn saknas eller r felaktigt angivet ping_econfig=Du har inte angivit ngot ping-kommando i modulinstllningarna proc_pid=Kr med PID $1 proc_cmd=Kommando att titta efter proc_ecmd=Du har inte angivit ngot kommando exec_cmd=Kommando som exit-status ska kontrolleras fr exec_ecmd=Du har inte angivit ngot kommando status/lang/pl0100664000567100000120000001275710166415335013363 0ustar jcameronwheelindex_title=Stan systemu i serwerw index_name=Nazwa usugi index_host=Na hocie index_desc=Monitorowanie index_up=Stan index_local=Lokalnym index_add=Dodaj monitorowanie: index_sched=Monitorowanie okresowe index_return=listy usug type_apache=Serwera WWW Apache type_inetd=Serwera internetowego i RPC type_xinetd=Rozszerzonego serwera internetowego type_squid=Serwera proxy Squid type_bind8=Serwera DNS BIND type_dnsadmin=Serwera DNS BIND 4 type_dhcpd=Serwera DHCP type_tcp=Zdalnej usugi TCP type_http=Zdalnej usugi HTTP type_sendmail=Serwera Sendmail type_postfix=Serwera Postfix type_ping=Zdalny ping type_proc=Sprawdzenie procesu type_mysql=Serwera baz danych MySQL type_postgresql=Serwera baz danych PostgreSQL type_samba=Serwerw Samby type_nfs=Serwera NFS type_exec=Uruchomienie polecenia type_file=Sprawdzenie pliku type_traffic=Obcienie sieci type_space=Miejsce na dysku type_load=rednie obcienie systemu mon_create=Utwrz monitorowanie mon_edit=Zmie monitorowanie mon_header=Dane monitorowania mon_desc=Opis mon_remote=Uruchom na hocie mon_local=Lokalnym mon_none=nie zdefiniowano zdalnych serwerw mon_nosched=Sprawdza okresowo? mon_status=Stan biecy mon_up=Podniesiony mon_down=Wyczony mon_not=Nie zainstalowany mon_ondown=Koczc monitorowanie uruchom polecenie mon_onup=Zaczynajc monitorowanie uruchom polecenie mon_clone=Monitorowany modu mon_err=Nie udao si zachowa monitorowania mon_edesc=Nie podano opisu mon_elogin=Nieprawidowy login dla RPC na serwerze Webmina $1 mon_eremote=Serwer Webmina $1 nie obsuguje RPC mon_estatus=Serwer Webmina $1 nie posiada moduu Stan systemu i serwerw mon_ecannot=Nie masz uprawnie do zmiany monitorowa mon_ertype=Ten rodzaj monitorowania jest niedostpny na $1 sched_title=Monitorowanie okresowe sched_header=Opcje okresowego monitorowania w tle sched_mode=Wczone sprawdzanie okresowe? sched_email=Przesa poczt raport o stanie do sched_none=Nikogo sched_from=Adres From: dla poczty sched_int=Sprawdza co sched_period_0=minut sched_period_1=godzin sched_period_2=dni sched_period_3=miesicy sched_period_4=tygodni sched_offset=z przesuniciem sched_warn=Przesya wiadomo sched_warn1=Gdy zmieni si stan usugi sched_warn0=Gdy usuga zostanie wyczona sched_single=Wysya osobn wiadomo dla kadej usugi? sched_hours=Monitoruj w godzinach sched_days=Monitoruj w dni sched_err=Nie udao si zachowa monotorowania okresowego sched_eemail=Brak adresu e-mail sched_eint=Brakujcy lub niepoprawny okres sched_eoffset=Brakujce lub niepoprawne przesunicie sched_ehours=Nie wybrano godzin monitorowania sched_edays=Nie wybrano dni monitorowania sched_ecannot=Nie masz uprawnie do zmiany monitorowania okresowego up_since=Dziaa od $1 depends_mod=W systemie nie jest zainstalowany modu $1 depends_os=Twj system nie obsuguje moduu $1 depends_remote=Serwer $2 nie obsuguje moduu $1 tcp_host=Poczenie z hostem tcp_port=Poczenie z portem tcp_alarm=Czas przeterminowania poczenia tcp_ehost=Nie podana lub niepoprawna nazwa hosta tcp_eport=Nie podany lub niepoprawny numer portu tcp_ealarm=Nie podany lub niepoprawny czas przeterminowania http_url=dany URL http_alarm=Czas przeterminowania poczenia http_eurl=Nie podany lub niepoprawny URL http_ealarm=Nie podany lub niepoprawny czas przeterminowania ping_host=Pingowany host ping_wait=Czas oczekiwania na odpowied ping_ehost=Nie podana lub niepoprawna nazwa hosta ping_ewait=Nie podany lub niepoprawny czas oczekiwania ping_econfig=Nie podano polecenia pingujcego w konfiguracji moduu proc_pid=Dziaa z numerem PID $1 proc_cmd=Sprawdzane polecenie proc_ecmd=Nie podano polecenia exec_cmd=Polecenie, ktrego kod zakoczenia sprawdza exec_ecmd=Nie podano polecenia file_file=Sprawdzany plik file_test=Wykonywany test file_test_0=Plik musi istnie file_test_1=Plik nie moe istnie file_test_2=Plik musi by wikszy ni file_test_3=Plik musi by mniejszy ni file_bytes=bajtw file_efile=Nie podano nazwy sprawdzanego pliku file_esize=Niewaciwy rozmiar pliku traffic_iface=Monitorowany interfejs traffic_bytes=Maksymalna liczba bajtw/sekund traffic_dir=Monitorowany kierunek traffic_dir0=Przychodzcy i wychodzcy traffic_dir1=Tylko przychodzcy traffic_dir2=Tylko wychodzcy traffic_desc=To monitorowanie ledzi ruch w sieci na wybranym interfejsie oraz pokazuje monitorowanie jako wyczone, gdy ruch przekracza zadan warto podan poniej. Dziaa to poprawnie jedynie, gdy monitorowanie okresowe jest wczone i ustawione na krtki okres czasu, jak np. 5 minut. traffic_eifaces=W systemie nie ma pliku /proc/net/dev traffic_ebytes=Nie podana lub nieporawna liczba bajtw/sekund space_fs=Sprawdzany system plikw space_min=Minimalna ilo wolnego miejsca (w kB) space_desc=Wolne $1 space_nofs=System plikw nie zamontowany space_other=Inne.. space_emin=Nie podana lub niepoprawna ilo wolnego miejsca space_eother=Nie podany lub niepoprawny system plikw load_time=Sprawdza rednie obcienie z okresu load_1=1 minuta load_5=5 minut load_15=15 minut load_max=Maksymalne rednie obcienie load_emax=Nie podane lub nie poprawne maksymalne rednie obcienie load_ecmd=W systemie nie znaleziono polecenia uptime load_efmt=Nie udao si przetworzy wyniku polecenia uptime log_create=Utworzono monitorowanie $1 log_modify=Zmieniono monitorowanie $1 log_delete=Usunito monitorowanie $1 log_sched=Zmieniono monitorowanie okresowe acl_edit=Moe zmienia i tworzy monitorowania? acl_sched=Moe zmienia monitorowania okresowe? status/lang/es0100644000567100000120000003310710316102523013332 0ustar jcameronwheelacl_edit=¿Puede editar y crear monitores? acl_sched=¿Puede cambiar la monitorización planificada? change_file=Archivo a monitorizar (fallo si ha cambiado) deletes_egone=Uno de los monitores seleccionados ya no existe depends_mod=El módulo $1 no está instalado en su sistema depends_os=El módulo $1 no es soportado por su sistema depends_remote=El módulo $1 no es soportado en servidor $2 dns_address=Se esperaba dirección IP dns_eaddress=Dirección IP esperada no válida o inexistente dns_ecmds=Ni el comando nslookup ni el comando dig están instalados en su sistema dns_ehost=Hostname no válido o inexistente para hacer lookup dns_eserver=Servidor DNS inexistente o no válido dns_host=Hostname para hacer lookup dns_server=Servidor DNS exec_cmd=Comando del que revisar estado de salida exec_ecmd=Comando sin poner file_bytes=bytes file_efile=Falta nombre de archivo a revisar file_esize=Tamaño de archivo no válido file_file=Archivo a revisar file_test=Prueba a realizar file_test_0=El archivo ha de existir file_test_1=El archivo no ha de existir file_test_2=El archivo ha de ser mayor que file_test_3=El archivo ha de ser menor que http_alarm=Timeout de conexión http_ealarm=Tiempo máximo de conexión no válido o inexistente http_eurl=URL no válida o inexistente http_euser=Falta nombre de usuario http_login=Hacer login como http_method=Método de petición HTTP http_none=No autenticar http_pass=contraseña http_url=URL a pedir http_user=Nombre de usuario iface_iface=Interfaz a chequear index_add=Añadir monitor de tipo: index_delete=Borrar Seleccionados index_desc=Monitorizando index_esnmp=El módulo está configurado para mandar tramas SNMP en la página Configuración de módulo, pero el módulo Perl $1 no está instalado. Pulse aquí para descargarlo e instalarlo ahora. index_host=En host index_last=Último chequeo index_local=Local index_name=Nombre de Servicio index_none=No hay monitores definidos actualmente. index_oldtime=Estado en la última revisión planificada a las $1 index_refresh=Refrescar Estado index_refreshdesc=Realizar un refresco inmediato del estado de todos los monitores, en lugar de esperar el refresco programado. index_return=lista de servicios index_sched=Monitorización Planificada index_scheddesc=Activar o desactivar el chequeo planificado de los monitores, e introducir la dirección a la cual se enviarán automáticamente los fallos por email. index_title=Estado de Sistema y de Servidor index_up=Estado jabber_eparser=El módulo $1 de Perl no está instalado en su sistema. load_1=1 minuto load_15=15 minutos load_5=5 minutos load_ecmd=El comando uptime no ha sido hallado en su sistema load_efmt=La salida del comando uptime no puede ser mostrada load_emax=Media de carga máxima no válida o inexistente load_max=Máxima media de carga load_time=Media de carga a revisar log_create=Creado monitor $1 log_delete=Borrado monitor $1 log_deletes=$1 monitores borrados log_modify=Modificado monitor $1 log_sched=Cambiada la monitorización planificada mailq_esize=Tamaño máximo de cola no válido o inexistente mailq_ok=Bien - $1 mensajes en cola mailq_postfix=Postfix mailq_qmailadmin=Qmail mailq_sendmail=Sendmail mailq_size=Máximo tamaño de cola de correo mailq_system=Servidor de correo mailq_toomany=Mal - $1 mensajes en cola mailserver_desc=La dirección introducida debe ser un autoresponder, que responda a la dirección original con la misma línea de Asunto: mailserver_timeout=Timeout e intervalo mailserver_to=Enviar email a dirección mailserver_units_0=Segundos mailserver_units_1=Minutos mailserver_units_2=Horas mailserver_units_3=Días memory_emin=Cantidad de memoria libre no válida o inexistente memory_eproc=Webmin no sabe chequear la memoria libre de su S.O. memory_free2=$1 libre memory_min2=Mínimo de memoria libre mon_clone=Módulo a monitorizar mon_clone2=Clonar mon_create=Crear Monitor mon_depend=No chequear si este monitor está caído mon_desc=Descripción mon_down=Caído mon_ecannot=No está autorizado a editar monitores mon_edepend=Un monitor no puede depender de sí mismo mon_edesc=Descripción sin poner mon_edit=Editar Monitor mon_efails=Número de fallos no válido o inexistente mon_elogin=Login no válido para RPC en servidor Webmin $1 mon_email=Además, enviar email para este servicio a mon_eremote=El servidor Webmin $1 no soporta RPC mon_err=No se pudo salvar monitor mon_ertype=Este tipo de monitor no está disponible en $1 mon_estatus=El servidor Webmin $1 no tiene el módulo de Estado de Sistema y Servidor mon_fails=Fallos antes de notificar mon_header=Detalles de Monitor mon_local=Local mon_none=No se han definido servidores remotos mon_nosched=¿Revisar en planificación? mon_not=No instalado mon_notify=Métodos de notificación mon_notifyemail=Email mon_notifypager=Busca (si se ha configurado) mon_notifysnmp=SNMP (si se ha configurado) mon_ondown=Si el monitor se cae, ejecutar comando mon_oninfo=Nota: Los comandos sólo se ejecutarán cuando se envía un email mon_onup=Si el monitor se levanta, ejecutar comando mon_remote=Ejecutar en máquina mon_runon=Ejecutar comandos en mon_runon0=Este servidor mon_runon1=El host remoto mon_skip=Saltado mon_status=Estado actual mon_timeout=Alcanzó Timeout mon_up=Activo mon_warn0=Si, y notificar cuando pase a estado incorrecto mon_warn1=Si, y notificar en todos los cambios de estado mon_warn2=Si, y notificar cuando está en estado incorrecto mon_warn3=Sí, pero no notificar nunca mon_warndef=Si, y utiliza el modo de notificación por defecto mon_webmin=Webmin Desactivado monitor_email_down=El monitor en $1 para '$2' ha detectado que el servicio HA CAIDO a las $3 monitor_email_isdown=El monitor en $1 para '$2' ha detectado que el servicio está CAIDO a las $3 monitor_email_timed=El monitor en $1 para '$2' ha alcanzado su TIMEOUT a las $3 monitor_email_un=El monitor en $1 para '$2' ha detectado que el servicio NO ESTÁ INSTALADO a las $3 monitor_email_up=El monitor en $1 para '$2' ha detectado que el servicio SE HA RECUPERADO a las $3 monitor_email_webmin=El monitor en $1 para '$2' ha detectado WEBMIN CAIDO a las $3 monitor_pager_down=$1: "$2" caido $3 monitor_pager_isdown=$monitor_pager_down monitor_pager_timed=$1: $2 alcanza timeout $3 monitor_pager_un=$1: $2 no instalado $3 monitor_pager_up=$1: $2 recuperado $3 monitor_pager_webmin=$1: $2 Webmin caido $3 monitor_run1=Ejecutando $1 en $2 .. monitor_run2=Ejecutando $1 .. monitor_snmp_down=$1: $2 monitor_snmp_isdown=$monitor_snmp_down monitor_snmp_timed=$1: $2 alcanza timeout monitor_snmp_un=$1: $2 no instalado monitor_snmp_up=$1: $2 se ha recuperado monitor_snmp_webmin=$1: $2 Webmin caido monitor_sub=Monitor de Servicio : $1 monitor_sub2=Monitor de Servicio monitor_sub3=Monitor de Servicio : $1 servicios monitor_sub_down=$1 caido en $2 monitor_sub_isdown=$monitor_sub_down monitor_sub_timed=$1 alcanza timeout en $2 monitor_sub_un=$1 no instalado en $2 monitor_sub_up=$1 se ha recuperado en $2 monitor_sub_webmin=$1 Webmin caido en $2 nut_cmd=El comando upsc no está instalado en su sistema. Este monitor necesita que el paquete NUT esté instalado para funcionar. nut_cur=$1 (actualmente $2) nut_emax=Valor máximo no válido o inexistente nut_emin=Valor mínimo no válido o inexistente nut_name=Atributo a chequear nut_ups=NUT UPS a chequear nut_value=Falló cuando nut_value1=Valor inferior a $1 nut_value2=Valor superior a $1 oldfile_diff=Fallo si no ha cambiado en oldfile_file=Archivo a monitorizar (Fallo si no cambia) oldfile_secs=segs ping_econfig=No se ha configurado comando para hacer ping en configuración del módulo ping_ehost=Nombre de máquina no válido o inexistente ping_ewait=Tiempo de espera no válido o inexistente ping_host=Máquina a hacer ping ping_wait=Tiempo que se esperará una respuesta proc_cmd=Comando a revisar proc_ecmd=Comando sin poner proc_ethresh=Número de procesos no válido o inexistente proc_not=Falla si el proceso está proc_not0=No Ejecutando proc_not1=Ejecutando proc_pid=Ejecutando con PID $1 proc_thresh=Número de procesos que deben existir para que el monitor lo considere como ejecutándose proftpd_etype=Este monitor no puede usarse cuando ProFTPD se ejecuta en modo stand-alone raid_bad=Detectado Disco Erróneo raid_device=Dispositivo RAID raid_edevice=Ningún dispositivo RAID seleccionado raid_notfound=Dispositivo RAID $1 no encontrado raid_other=Otro.. raid_resync=Actualmente resincronizando refresh_doing=Refrescando el estado de todos los monitores .. refresh_done=.. hecho. refresh_title=Refrescar Estado sched_days=Ejecutar monitor en los días sched_ecannot=No está autorizado a editar la monitorización planificada sched_edays=No se seleccionaron días de ejecución sched_eemail=Dirección de correo sin poner sched_ehours=No se seleccionaron horas de ejecución sched_eint=Intervalo no válido o inexistente sched_email=Estado de Email informa a sched_eoffset=Desplazamiento no válido o inexistente sched_eprog=El programa sendmail $1 definido en la configuración del módulo Sendmail no existe sched_err=No se pudo salvar monitorización planificada sched_esmtp=Servidor SMTP no válido o inexistente sched_esmtpcmd=Falló el comando $1 de SMTP: $2 sched_from=De: dirección para correo sched_header=Opciones de monitorización planificada en segundo plano sched_hours=Ejecutar monitor durante las horas sched_int=Revisa cada sched_mode=¿Revisión planificada activada? sched_none=Nadie sched_offset=con desplazamiento sched_pager=Estado de página informa a número sched_period_0=minutos sched_period_1=horas sched_period_2=días sched_period_3=meses sched_period_4=semanas sched_single=¿Enviar un correo por servicio? sched_smtp=Enviar correo vía sched_smtp_prog=Ejecutable de sendmail local sched_smtp_server=Servidor SMTP sched_title=Monitorización Planificada sched_warn=Enviar correo cuando sched_warn0=Cuando un servicio se cae sched_warn1=Cuando un servicio cambia su estado sched_warn2=Siempre que el servicio está caído sensors_cmd=El comando sensors no se encuentra instalado en su sistema. Este monitor requiere que el paquete lm_sensors esté instalado para funcionar. sensors_cur=$1 (actualmente $2 $3) sensors_emax=Valor máximo no válido o inexistente sensors_emin=Valor mínimo no válido o inexistente sensors_name=Sensor a chequear sensors_none=No se detectaron sensores en su sistema. Podría necesitar ejecutar la inicialización sensors-detect sensors_value=Falló cuando sensors_value0=El sistema indica advertencia sensors_value1=El valor es inferior a $1 sensors_value2=El valor es superior a $1 space_desc=$1 libres space_emin=Espacio libre no válido o inexistente space_eother=Sistema de archivos no válido o inexistente space_fs=Sistema de archivos a revisar space_min2=Mínimo espacio libre space_nofs=Sistema de archivos no montado space_other=Otro... tcp_alarm=Timeout de Conexión tcp_ealarm=Timeout de conexión no válido o inexistente tcp_ehost=Nombre de máquina no válido o inexistente tcp_eport=Número de puerto no válido o inexistente tcp_host=Máquina con la que conectar tcp_port=Puerto con el que conectar traffic_bytes=Máximos bytes/segundo traffic_desc=Este monitor vigila el tráfico de red en una interfaz seleccionada y muestra el monitor como caído si el tráfico excede el número de bytes por segundo escrito debajo. Esto sólo funciona bien si la monitorización planificada está activada con un intervalo corto, como por ejemplo cada 5 minutos. traffic_dir=Dirección a monitorizar traffic_dir0=Entrante y saliente traffic_dir1=Sólo Entrante traffic_dir2=Sólo Saliente traffic_ebytes=Número de bytes/segundo no válido o inexistente traffic_eifaces=Su sistema operativo no tiene un archivo /proc/net/dev traffic_iface=Interfaz a monitorizar type_apache=Servidor Web de Apache type_bind8=Servidor DNS BIND type_cfengine=Demonio de Motor de Configuración type_change=Cambio en Archivo type_dhcpd=Servidor DHCP type_dns=Lookup DNS type_dnsadmin=Servidor DNS BIND 4 type_exec=Ejecutar Comando type_file=Revisar Archivo type_hostsentry=Demonio de Hostsentry type_http=Servicio remoto de HTTP type_iface=Estado de Interfaz de Red type_inetd=Servidor de Internet y RPC type_jabber=Servidor IM Jabber type_load=Media de Carga type_mailq=Tamaño de Cola de Correo type_mailserver=Respuesta de Servidor de Correo type_memory=Memoria Libre type_mon=Monitor de Servicio MON type_mysql=Servidor de Base de Datos MySQL type_nfs=Servidor NFS type_nut=Valor NUT UPS type_oldfile=Archivo No Cambiado type_ping=Ping remoto type_portsentry=Daemon de Portsentry type_postfix=Servidor Postfix type_postgresql=Servidor de Base de Datos PostgreSQL type_proc=Chequear Proceso type_proftpd=Servidor ProFTPD type_qmailadmin=Servidor QMail type_raid=Estado de Dispositivo RAID type_samba=Servidores Samba type_sendmail=Servidor Sendmail type_sensors=Estado de Sensor LM type_space=Espacio en Disco type_squid=Servidor Proxy Squid type_sshd=Servidor SSH type_tcp=Servicio Remoto de TCP type_traffic=Tráfico de Red type_usermin=Servidor Web Usermin type_webmin=Servidor Web Webmin type_xinetd=Servidor de Internet Extendido up_since=Activo desde $1 status/lang/nl0100644000567100000120000000561610005107320013333 0ustar jcameronwheelindex_title=Systeem en Server Status index_name=Dienstnaam index_host=Op host index_desc=Monitoren index_up=Status index_local=Lokaal index_add=Voeg monitor toe van type : index_sched=Gepland Monitoren index_return=diensten lijst type_apache=Apache Webserver type_inetd=Internet en RPC Server type_xinetd=Uitgebreide Internet Server type_squid=Squid Proxy Server type_bind8=BIND DNS Server type_dnsadmin=BIND 4 DNS Server type_dhcpd=DHCP Server type_tcp=Externe TCP Dienst type_http=Externe HTTP Dienst type_sendmail=Sendmail Server type_postfix=Postfix Server type_ping=Externe Ping type_proc=Controleer Proces type_mysql=MySQL Database Server type_postgresql=PostgreSQL Database Server type_samba=Samba Servers type_nfs=NFS Server type_exec=Voer Commando Uit mon_create=Voeg Monitor Toe mon_edit=Bewerk Monitor mon_header=Monitor details mon_desc=Omschrijving mon_remote=Voer uit op host mon_local=Lokaal mon_none=geen externe servers gedefinieerd mon_nosched=Controleren op vaste tijden? mon_status=Huidige status mon_up=Actief mon_down=Inactief mon_not=Niet geinstalled mon_err=Fout bij het opslaan van monitor mon_edesc=Ontbrekende omschrijving mon_elogin=Ongeldige login voor RPC op Webmin server $1 mon_eremote=Webmin server $1 ondersteund geen RPC mon_estatus=Webmin server $1 heeft geen System en Server Status module sched_title=Geplande Monitoring sched_header=Plan achtergrond monitoring opties sched_mode=Geplande controle ingeschakeld? sched_email=Email status rapporteren aan sched_from=Van: adres voor email sched_int=Controleer iedere sched_period_0=minuten sched_period_1=uur sched_period_2=dagen sched_period_3=maanden sched_period_4=weken sched_offset=met offset sched_warn=Stuur email als sched_warn1=Een diens van status wijzigd sched_warn0=Een dienst inactief wordt sched_single=Stuur een email per dienst? sched_err=Fout bij het opslaan van gepland monitoren sched_eemail=Ontbrekend email adres sched_eint=Ontbrekende of ongeldige intervan sched_eoffset=Ontbrekende of ongeldige offset up_since=Actief sinds $1 depends_mod=De module $1 is niet geinstalleerd op uw systeem depends_os=De module $1 wordt niet ondersteund door uw systeem depends_remote=De module $1 wordt niet ondersteund op server $2 tcp_host=Host om naar te verbinden tcp_port=Poort om naar te verbinden tcp_alarm=Verbinding timeout tcp_ehost=Ontbrekende of ongeldige hostnaam tcp_eport=Ontbrekend of ongeldig poort nummer tcp_ealarm=Ontbrekende of ongeldige verbindings timeout http_url=URL om aan te vragen http_alarm=Verbinding timeout http_eurl=Ontbrekende of ongeldige URL http_ealarm=Ontbrekende of ongeldige verbindings timeout ping_host=Host om te ping ping_ehost=Ontbrekende of ongeldige hostnaam ping_econfig=Er is geen ping commando ingesteld in de Module Configuratie proc_pid=Draaiend met PID $1 proc_cmd=Commando on te controleren op proc_ecmd=Ontbrekend command exec_cmd=Commando om exit status te controleren van exec_ecmd=Ontbrekend command status/lang/zh_CN0100644000567100000120000001126610166415353013741 0ustar jcameronwheelindex_title=ϵͳͷ״̬ index_name= index_host= index_desc= index_up=״̬ index_last=ļ index_local= index_add=Ӽӵͣ index_sched=ʱ index_return=б index_none=Ŀǰûбõļӡ index_oldtime=$1 еĶʱ״̬ type_apache=Apache Web type_inetd=Internet RPC type_xinetd=չ Internet type_squid=Squid type_bind8=BIND DNS type_dnsadmin=BIND 4 DNS type_dhcpd=DHCP type_tcp=Զ TCP type_http=Զ HTTP type_sendmail=Sendmail type_postfix=Postfix type_ping=Զ Ping type_proc= type_mysql=MySQL ݿ type_postgresql=PostgreSQL ݿ type_samba=Samba type_nfs=NFS type_exec=ִ type_file=ļ type_traffic=ͨ type_space=̿ռ type_load=ƽ type_change=ļ type_qmailadmin=Qmail type_mon=MON type_jabber=Jabber IM type_usermin=Usermin Web type_portsentry=Portsentry ػ type_hostsentry=Hostsentry ػ type_webmin=Webmin Web type_cfengine=ػ mon_create= mon_edit=༭ mon_header= mon_desc= mon_remote= mon_local= mon_none=ûѶԶ̷ mon_nosched=ʱ飿 mon_status=ǰ״̬ mon_up= mon_down=ֹ mon_webmin=Webmin ֹ״̬ mon_not=ûаװ mon_ondown=ӹرգ mon_onup=ӿ mon_clone=ӵģ mon_err=ʧ mon_edesc=δ mon_elogin= Webmin $1 Ч RPC ¼ mon_eremote=Webmin $1 ֧ RPC mon_estatus=Webmin $1 ûиϵͳͷ״̬ģ mon_ecannot=ûб༭ӵȨ mon_ertype=$1 ϸüͲ sched_title=ʱļ sched_header=ʱ̨ѡ sched_mode=Ƿöʱӣ sched_email= Email ״̬ sched_pager=״̬ҳ sched_none= sched_from=ʼ : ַ sched_int=ÿ sched_period_0= sched_period_1=Сʱ sched_period_2= sched_period_3= sched_period_4= sched_offset=ƫ sched_warn=ʱ͵ʼ sched_warn1=ı״̬ʱ sched_warn0=ʱ sched_single=ÿһζ͵ʼ sched_hours=СʱΪλִм sched_days=ÿΪλִм sched_err=޷涨ʱ sched_eemail=δʼַ sched_eint=δЧļ sched_eoffset=δЧƫ sched_ehours=δѡҪеʱ䵥λ--Сʱ sched_edays=δѡҪеʱ䵥λ-- sched_ecannot=ûб༭ʱӵȨ sched_smtp=͵ʼͨ sched_smtp_prog= sendmail ִļ sched_smtp_server=SMTP sched_esmtp=δЧ SMTP sched_esmtpcmd=SMTP $1 ʧ : $2 up_since= $1 depends_mod=ϵͳûаװģ $1 depends_os=ϵͳ֧ģ $1 depends_remote= $2 ֧ģ $1 tcp_host=Ҫ tcp_port=ҪĶ˿ tcp_alarm=ӳʱ tcp_ehost=δЧ tcp_eport=δЧĶ˿ں tcp_ealarm=δЧӳʱ http_url=Ҫ URL http_alarm=ӳʱ http_eurl=δЧ URL http_ealarm=δЧӳʱ http_login=¼ http_none=֤ http_user=û http_pass= http_euser=δû ping_host=Ҫ ping ping_wait=ȴӦʱ ping_ehost=δЧ ping_ewait=δЧĵȴʱ ping_econfig=ڡģáû ping proc_pid= PID $1 proc_cmd=Ҫ proc_ecmd=δ exec_cmd=˳״̬ exec_ecmd=δ file_file=Ҫļ file_test=ҪִеIJ file_test_0=ļ file_test_1=ļ벻 file_test_2=ļ file_test_3=ļС file_bytes=ֽ file_efile=δҪļ file_esize=Чļߴ traffic_iface=ҪӵĽ traffic_bytes=ÿֽ traffic_dir=ӵķ traffic_dir0=ʼ뷢ʼ traffic_dir1=ڽʼ traffic_dir2=ڷʼ traffic_desc=üӹܿԽͨļ¼浽ѡĽϣͨÿ봫ֽϵͳͻʾӡԤļΪÿ̵ܶʱһΩÿӣϵͳŻ traffic_eifaces=ϵͳû /proc/net/dev ļ traffic_ebytes=δʧЧֽ/ÿ space_fs=Ҫļϵͳ space_min=Сδÿռ (kB) space_desc=$1 δ space_nofs=δļϵͳ space_other=.. space_emin=δЧδÿռ space_eother=δЧļϵͳ load_time=Ҫƽ load_1=1 load_5=5 load_15=15 load_max=ƽ load_emax=δЧƽ load_ecmd=ϵͳδҵ uptime load_efmt=޷ uptime log_create=˼ $1 log_modify=޸˼ $1 log_delete=ɾ˼ $1 log_sched=ѱʱļ acl_edit=Ա༭ acl_sched=Աʱļ change_file=Ҫӵļ jabber_eparser=ϵͳûаװ Perl ģ $1 status/lang/ja_JP.euc0100664000567100000120000001657110067670055014506 0ustar jcameronwheelacl_edit=˥κԽĤޤ? acl_sched=塼뤵줿˥󥰤ѹĤޤ? change_file=ƻ뤹ե(ѹȼԤޤ) depends_mod=⥸塼 $1 ƥ˥󥹥ȡ뤵Ƥޤ depends_os=⥸塼 $1 ƥǥݡȤƤޤ depends_remote=⥸塼 $1ϥ $2 ǥݡȤƤޤ exec_cmd=¸ߥơĴ٤륳ޥ exec_ecmd=ޥɤޤ file_bytes=Х file_efile=Ĵ٤ե̾ޤ file_esize=̵ʥե file_file=ե file_test=ưƥ file_test_0=ե뤬ޤ file_test_1=ե뤬ޤ file_test_2=եϼ礭Ǥ file_test_3=եϼ꾮Ǥ http_alarm=³ॢ http_ealarm=³ॢȤʤ̵Ǥ http_eurl=URL ʤ̵Ǥ http_euser=桼̾դޤ http_login=Υ桼Ȥƥ http_method=HTTPꥯȥ᥽å http_none=ǧڤʤ http_pass=ѥ http_url= URL http_user=桼̾ index_add=˥μɲ: index_desc=˥ index_host=ۥ index_last=ǽå index_local= index_name=ӥ̾ index_none=줿ƻܤޤ index_oldtime=$1˥塼¹Ԥ줿ǸΥåˤ륹ơ index_return=ӥ ꥹ index_sched=塼뤵줿˥ index_title=ƥȥӥΥơ index_up=ơ jabber_eparser=Perl⥸塼롡$1 ϥ󥹥ȡ뤵Ƥޤ load_1=1ʬ load_15=15ʬ load_5=5ʬ load_ecmd=uptimeޥɤƥ˸դޤ load_efmt=uptimeޥɤνϤϤǤޤ load_emax=ʿѤκ̵ͤǤ load_max=ʿѤκ load_time=åʿ log_create=ƻܡ$1ޤ log_delete=ƻܡ$1ޤ log_modify=ƻܡ$1ѹޤ log_sched=塼Ѥߴƻܤѹޤ mailserver_desc=ʲΥɥ쥹ФƱ̾ưֿǤɬפޤ mailserver_timeout=ॢȤȴֳ mailserver_to=email襢ɥ쥹 mailserver_units_0= mailserver_units_1=ʬ mailserver_units_2= mailserver_units_3= memory_emin=ʶ̤Ǥ memory_eproc=WebminϤΥƥζΥåˡΤޤ memory_free=$1 kBζ memory_min=κǾ͡(ñkB) mon_clone=˥⥸塼 mon_create=˥ mon_desc= mon_down= mon_ecannot=ƻܤԽ븢¤ޤ mon_edesc=ޤ mon_edit=˥Խ mon_elogin=Webmin $1 RPC ؤΥ̵Ǥ mon_eremote=Webmin $1 RPC 򥵥ݡȤޤ mon_err=˥¸ǤޤǤ mon_ertype=δƻ륿פϡ$1 ˻ѤǤޤ mon_estatus=Webmin $1 ˤϥƥȥФΥơ ⥸塼뤬ޤ mon_header=˥ξܺ mon_local= mon_none=줿⡼ Фޤ mon_nosched=塼Ĵ٤ޤ mon_not=󥹥ȡ뤵Ƥޤ mon_ondown=˥󤷤硢ޥɤ¹ mon_onup=˥ư򳫻Ϥ硢ޥɤ¹ mon_remote=ۥȤǼ¹ mon_runon=ޥɤ¹Ԥ mon_runon0=Υ mon_runon1=⡼ȥۥ mon_status=ߤΥơ mon_timeout=ॢȤޤ mon_up=ư mon_warn0=Ϥ󤹤ˤemailޤ mon_warn1=Ϥơѹˤemailޤ mon_warn2=Ϥˤemailޤ mon_warn3=ϤemailϤޤ mon_warndef=ϤǥեȤemail⡼ɤѤޤ mon_webmin=Webmin oldfile_diff=ѹ̵ˤϼԤ oldfile_file=ƻ뤹ե롡(ѹ̵ˤϼԤ) oldfile_secs= ping_econfig=⥸塼 ping ޥɤꤵƤޤ ping_ehost=ۥ̾ʤ̵Ǥ ping_ewait=Ԥ֤Ǥ ping_host=ping ۥ ping_wait=ԤĻ proc_cmd=륳ޥ proc_ecmd=ޥɤޤ proc_ethresh=̵ʥץǤ proc_not=ץξ֤ξ缺ԤȤߤʤ proc_not0=ƯǤʤ proc_not1=ƯǤ proc_pid=PID $1 Ǽ¹ proc_thresh=˥餬ƯǤ뤳Ȥθ뤿¸ߤ˰㤤ʤץο proftpd_etype=δƻܤProFTPDɥDzƯƤˤϻѤǤޤ sched_days=˥¹Ԥ sched_ecannot=塼ѤߴƻܤԽ븢¤ޤ sched_edays=򤷤֤ˤϼ¹Ԥޤ sched_eemail=E ᡼ ɥ쥹ޤ sched_ehours=򤷤֤ˤϼ¹Ԥ֤ޤ sched_eint=ֳ֤ʤ̵Ǥ sched_email=E ᡼ ơ ݡ sched_eoffset=եåȤʤ̵Ǥ sched_eprog=sendmail⥸塼sendmailޥɡ$1 ¸ߤޤ sched_err=塼뤵줿˥¸ǤޤǤ sched_esmtp=̵SMTPФǤ sched_esmtpcmd=SMTPޥɡ$1 ϼԤޤ: $2 sched_from= E ᡼ ɥ쥹:E ᡼Υɥ쥹 sched_header=Хå饦 ˥ ץΥ塼 sched_hours=˥¹Ԥ sched_int=ñ sched_mode=塼뤵줿ͭˤޤ sched_none= sched_offset=եå sched_pager=ڡ𤹤ֹ sched_period_0=ʬ sched_period_1= sched_period_2= sched_period_3= sched_period_4= sched_single=ƥӥȤ 1 ̤ E ᡼ޤ sched_smtp=᡼ˡ sched_smtp_prog=ˤ롡sendmailޥ sched_smtp_server=SMTP sched_title=塼뤵줿˥ sched_warn=ٹ E ᡼ sched_warn0=ӥ󤷤 sched_warn1=ӥơѹ sched_warn2=ӥ󤷤ƤϤĤǤ space_desc=$1 kBζ space_emin=̵ʶΰǤ space_eother=̵ʥե륷ƥǤ space_fs=åե륷ƥ space_min=Ǿζΰ衡(ñkB) space_nofs=ե륷ƥबޥȤƤޤ space_other=¾.. tcp_alarm=³ॢ tcp_ealarm=³ॢȤʤ̵Ǥ tcp_ehost=ۥ̾ʤ̵Ǥ tcp_eport=ݡֹ椬ʤ̵Ǥ tcp_host=³ۥ tcp_port=³ݡ traffic_bytes=ΡХ/ traffic_desc=Υ˥򤵤줿󥿥եΥͥåȥȥեåפ1ä˼ХȿϤ줿ͤä˥󤷤ƤȤߤʤɽޤΥ˥ϡ5ʬ٤ûֳ֤Υ塼ˤƻ뤷ˤΤ߸Ū˴ƻ뤷ޤ traffic_dir=ƻ뤹 traffic_dir0=忮ڤ traffic_dir1=忮Τ traffic_dir2=ФΤ traffic_ebytes=Х/ä̵ͤǤ traffic_eifaces=OSˤϥե /proc/net/dev ޤ traffic_iface=ƻ뤹륤󥿥ե type_apache=Apache Webserver type_bind8=BIND DNS type_cfengine=ե󥸥ǡ type_change=եѹ type_dhcpd=DHCP type_dnsadmin=BIND 4 DNS type_exec=ޥɤ¹ type_file=ե򸡺 type_hostsentry=Hostsentry ǡ type_http=⡼HTTP ӥ type_inetd=󥿡ͥåȤ RPC type_jabber=Jabber IM type_load=ʿ type_mailserver=᡼륵Фα type_memory= type_mon=MONӥ˥ type_mysql=MySQL ǡ١ type_nfs=NFS type_oldfile=եѹƤޤ type_ping=⡼ Ping type_portsentry=Portsentryǡ type_postfix=Postfix type_postgresql=PostgreSQL ǡ١ type_proc=ץ򸡺 type_proftpd=ProFTPD type_qmailadmin=QMail type_samba=Samba type_sendmail=sendmail type_space=ǥڡ type_squid=Squid ץ type_sshd=SSH type_tcp=⡼ TCP ӥ type_traffic=ͥåȥȥեå type_usermin=Usermin Web type_webmin=Webmin Web type_xinetd=ĥ󥿡ͥå up_since=$1 餺äư status/lang/ko_KR.euc0100664000567100000120000000612607305563350014523 0ustar jcameronwheelindex_title=ý index_name= ̸ index_host=ȣƮ index_desc=͸ index_up= index_local= index_add=߰ : index_sched= ͸ index_return= type_apache=Apache type_inetd=ͳ RPC type_xinetd=Ȯ ͳ type_squid=Squid Ͻ type_bind8=BIND DNS type_dnsadmin=BIND 4 DNS type_dhcpd=DHCP type_tcp= TCP type_http= HTTP type_sendmail=Sendmail type_postfix=Postfix type_ping= Ping type_proc=˻ μ type_mysql=MySQL ͺ̽ type_postgresql=PostgreSQL ͺ̽ type_samba=Samba type_nfs=NFS type_exec= type_file= ˻ mon_create= ۼ mon_edit= mon_header= mon_desc= mon_remote=ȣƮ mon_local= mon_none=ǵ ϴ mon_nosched= ˻մϱ? mon_status= mon_up=۵ mon_down=ٿ mon_not=ġ ȵ mon_ondown=Ͱ ٿǸ Ͻʽÿ mon_onup=Ͱ ۵ϸ Ͻʽÿ mon_clone= mon_err=͸ ߽ϴ mon_edesc= mon_elogin=Webmin $1 RPC α ߸Ǿϴ mon_eremote=Webmin $1() RPC ʽϴ mon_estatus=Webmin $1 ý ϴ sched_title= ͸ sched_header= ׶ ͸ ɼ sched_mode= ˻縦 ϰ մϱ? sched_email= Ϸ sched_none= sched_from=߽: ּ sched_int= sched_period_0= sched_period_1= sched_period_2= sched_period_3= sched_period_4= sched_offset= sched_warn= ñ sched_warn1= sched_warn0= ٿ sched_single= 񽺸 ϳ ϱ? sched_hours= Ⱓ() sched_days= Ⱓ() sched_err= ͸ ߽ϴ sched_eemail= ּ sched_eint=ų ߸ sched_eoffset=ų ߸ sched_ehours= Ⱓ() ϴ sched_edays= Ⱓ() ʾҽϴ up_since=$1 ۵ depends_mod=ýۿ $1() ġǾ ʽϴ depends_os=ýۿ $1() ʽϴ depends_remote= $2 $1() ʽϴ tcp_host= ȣƮ tcp_port= Ʈ tcp_alarm= ð ʰ tcp_ehost=ų ߸ ȣƮ ̸ tcp_eport=ų ߸ Ʈ ȣ tcp_ealarm=ų ߸ ð ʰ http_url=û URL http_alarm= ð ʰ http_eurl=ų ߸ URL http_ealarm=ų ߸ ð ʰ ping_host=Ping ȣƮ ping_ehost=ų ߸ ȣƮ ̸ ping_econfig= Ping ϴ proc_pid=PID $1() Ͽ proc_cmd=˻ proc_ecmd= exec_cmd= ¸ ˻ exec_ecmd= file_file=˻ file_test= ׽Ʈ file_test_0= ֽϴ file_test_1= ϴ file_test_2= Ůϴ file_test_3= ۽ϴ file_bytes=Ʈ file_efile=˻ ̸ ϴ file_esize= ũⰡ ߸Ǿϴ status/lang/ca0100644000567100000120000003505410553520365013324 0ustar jcameronwheelindex_title=Estat del Sistema i Servidors index_name=Nom del servei index_host=al host index_desc=Monitoritzaci index_up=Estat index_last=Darrera comprovaci index_local=Local index_add=Afegeix monitor del tipus: index_sched=Monitoritzaci Planificada index_scheddesc=Activa o desactiva la comprovaci planificada de monitors, i estableix l'adrea a la qual s'envien automticament les fallades. index_return=a la llista de serveis index_none=Actualment, no hi ha cap monitor definit. index_oldtime=Estat des de la darrera comprovaci planificada a $1 index_esnmp=El mdul est configurat per enviar trampes SNMP a la pgina de configuraci del mdul, per el mdul Perl $1 no est installat. Fes clic aqu per descarregar-lo i installar-lo ara. index_refresh=Refresca l'Estat index_refreshdesc=Executa un refresc immediat de tots els estats dels monitors, en lloc d'esperar a la segent actualitzaci planificada. index_delete=Supressi dels Seleccionats type_apache=Servidor Web Apache type_inetd=Servidor d'Internet i RPC type_xinetd=Servidor d'Internet Ampliat type_squid=Servidor de Proxy Squid type_bind8=Servidor DNS BIND type_dnsadmin=Servidor DNS BIND 4 type_dhcpd=Servidor DHCP type_tcp=Servidor de TCP Remot type_http=Servidor d'HTTP Remot type_ftp=Servei FTP Remot type_sendmail=Servidor Sendmail type_postfix=Servidor Postfix type_ping=Ping Remot type_proc=Verificaci de Processos type_mysql=Servidor de BD MySQL type_postgresql=Servidor de BD PostgreSQL type_samba=Servidors Samba type_nfs=Servidor NFS type_exec=Execuci d'Ordres type_file=Verificaci de Fitxer o Directori type_traffic=Trnsit de Xarxa type_space=Espai al Disc type_consume=Consum de l'Espai de Disc type_load=Crrega Mitjana type_change=Canvi de Fitxer o Directori type_oldfile=Fitxer No Canviat type_qmailadmin=Servidor QMail type_mon=Monitor de Serveis MON type_jabber=Servidor IM Jabber type_usermin=Usermin Webserver type_portsentry=Dimoni de Portsentry type_hostsentry=Dimoni de Hostsentry type_webmin=Servidor Web Webmin type_cfengine=Dimoni del Motor de Configuraci type_memory=Memria Lliure type_proftpd=Servidor ProFTPD type_mailserver=Resposta del Servidor de Correu type_sshd=Servidor SSH type_raid=Estat del Dispositiu RAID type_iface=Estat de la Interfcie de Xarxa type_sensors=Estat del Sensor LM type_nut=Valor UPS NUT type_mailq=mida de la Cua de Correu type_dns=Consulta DNS type_query=Consulta SQL mon_create=Crea Monitor mon_edit=Edita Monitor mon_header=Detalls del Monitor mon_header2=Ordres a executar mon_header3=Opcions del servei monitoritzat mon_desc=Descripci mon_remote=Executa'l al host mon_remotes=Executa'l als hosts mon_local=Local mon_none=No hi ha cap servidor remot definit mon_nosched=Verificar segons planificaci mon_warndef=S, i fes servir el mode d'informe per defecte mon_warn1=S, i informa quan hi hagi canvis d'estat mon_warn0=S, i informa quan s'estigui tancant mon_warn2=S, i informa quan estigui tancat mon_warn3=S, per no informis mai mon_status=Estat actual mon_up=Actiu mon_down=Inactiu mon_webmin=Webmin Inactiu mon_timeout=Ha arribat el temps lmit mon_not=No installat mon_ondown=Si el monitor s'atura, executa l'ordre mon_onup=Si el monitor s'engega, executa l'ordre mon_clone=Mdul a monitoritzar mon_err=No he pogut desar el monitor mon_edesc=Falta la descripci mon_elogin=Connexi invlida de RPC al servidor Webmin $1 mon_eremote=El servidor Webmin $1 no suporta RPC mon_estatus=El servidor Webmin $1 no t el mdul d'Estat del Sistema i Servidors mon_ecannot=No tens perms per editar monitors mon_ertype=Aquest tipus de monitor no est disponible a $1 mon_runon=Executa les ordres en mon_runon0=Aquest servidor mon_runon1=El host remot mon_oninfo=Nota: Les ordres s'executaran noms quan s'envi el correu mon_fails=Fallades abans d'informar mon_efails=Hi falta el nombre de fallades o b s invlid mon_notify=Mtodes de notificati mon_notifyemail=Correu electrnic mon_notifypager=Busca (si est configurat) mon_notifysnmp=SNMP (si est configurat) mon_email=Envia tamb correu per aquest servei a mon_depend=No comprovis si el monitor est apagat mon_edepend=Un monitor no pot dependre de s mateix mon_clone2=Clona mon_skip=Oms sched_title=Monitoritzaci Planificada sched_header=Opcions de segon pla de monitoritzaci planificada sched_mode=Activa verificaci planificada sched_email=Enviar informe d'estat per e-mail a sched_pager=Pgina d'informe d'estat a numerar sched_none=Ning sched_from=From: adrea de correu sched_int=Verifica cada sched_period_0=minuts sched_period_1=hores sched_period_2=dies sched_period_3=mesos sched_period_4=setmanes sched_offset=amb interval sched_warn=Envia e-mail sched_warn1=Quan un servei canvia d'estat sched_warn0=Quan un servei s'atura sched_warn2=Sempre que el servei estigui aturat sched_single=Envia un correu per servei sched_hours=Executa el monitor les hores sched_days=Executa el monitor els dies sched_err=No he pogut desar la monitoritzaci planificada sched_eemail=Falta l'adrea de correu sched_eint=No hi ha cap interval o b s invlid sched_eoffset=No hi ha cap interval o b s invlid sched_ehours=No s'han seleccionat hores d'execuci sched_edays=No s'han seleccionat dies d'execuci sched_ecannot=No tens perms per editar la monitoritzaci planificada sched_smtp=Envia el correu via sched_smtp_prog=Executable sendmail local sched_smtp_server=servidor SMTP sched_esmtp=Hi falta el servidor SMTP o b s invlid sched_eprog=El programa $1 de sendmail definit al mdul de configuraci de Sendmail no existeix sched_esmtpcmd=L'ordre $1 de SMTP ha fallat: $2 up_since=Actiu des de $1 depends_mod=El mdul $1 no est installat al sistema depends_os=El mdul $1 no est suportat pel sistema depends_remote=El mdul $1 no est suportat pel servidor $2 tcp_host=Host a connectar tcp_port=Port a connectar tcp_alarm=Temps mxim d'espera tcp_ehost=Falta nom de host o b s invlid tcp_eport=Falta nmero de port o b s invlid tcp_ealarm=Falta temps mxim d'espera o b s invlid http_url=URL a demanar http_alarm=Temps mxim d'espera http_eurl=Hi falta l'URL o b s invlid http_ealarm=Hi falta el temps mxim d'espera o b s invlid http_login=Entra com a http_none=No t'autentifiquis http_user=Usuari http_pass=contrasenya http_euser=Hi falta l'usuari http_method=mtode de petici HTTP http_regexp=La pgina ha de coincidir amb l'expressi regular http_eregexp=No has introdut cap expressi regular per a coincidir amb la pgina http_none2=No ho facis coincidir http_ehead=No es pot utilitzar el mtode de petici HEAD quan es comprova amb una expressi regular ping_host=Fes ping al host ping_ehost=Falta nom de host o b s invlid ping_wait=Temps d'espera per la resposta ping_ewait=Hi falta el temps d'espera o b s invlid ping_econfig=No s'ha configurat cap ordre ping a la Configuraci del Mdul proc_pid=Executant amb PIDs $1 proc_cmd=Ordre a verificar proc_not=Falla si el procs proc_not0=No s'est executant proc_not1=S'est executant proc_ecmd=Falta l'ordre proc_thresh=El nombre de processo que han d'existir
per tal que el monitor els consideri en execuci proc_ethresh=Hi falta el nombre de processos o b s invlid exec_cmd=Ordre a verificar exec_ecmd=Falta l'ordre file_file=Fitxer o directori a verificar file_test=Test a executar file_test_0=Ha d'existir file_test_1=No ha d'existir file_test_2=La mida ha de ser ms gran de file_test_3=La mida ha de ser ms petita de file_bytes=bytes file_efile=Hi falta el nom del fitxer o directori a verificar file_esize=Mida de fitxer invlida traffic_iface=Interfcie a monitoritzar traffic_bytes=Nombre mxim de bytes/segon traffic_dir=Direcci a monitoritzar traffic_dir0=Entrada i sortida traffic_dir1=Noms entrada traffic_dir2=Noms sortida traffic_desc=Aquest monitor pren nota del trnsit de xarxa en una interfcie seleccionada, i mostra el monitor com a desactivat si el trnsit excedeix el nombre de bytes per segon introduts aqu sota. Aix noms funciona b de deb si la monitoritzaci planificada est activa i establerta a un interval curt, com ara cada 5 minuts. traffic_eifaces=El sistema operatiu no t cap fitxer /proc/net/dev traffic_ebytes=Hi falta el nombre de bytes/segon o b no s vlid space_fs=Sistema de fitxers a verificar space_min2=Espai lliure mnim space_desc=$1 lliures space_nofs=Sistema de fitxers no muntat space_other=Altres... space_emin=Hi falta l'espai lliure o b no s vlid space_eother=Hi falta el sistema de fitxers o b no s vlid space_inode=Inodes mnims Lliures space_ierr=Noms hi ha $1 inodes lliures load_time=Comprovaci de la crrega mitjana load_1=1 minut load_5=5 minuts load_15=15 minuts load_max=Crrega mitjana mxima load_emax=Hi falta la crrega mitjana mxima o b s invlida load_ecmd=No s'ha trobat l'ordre uptime load_efmt=No s'ha pogut analitzar el resultat de l'ordre uptime log_create=He creat el monitor $1 log_modify=He modificat el monitor $1 log_delete=He suprimit el monitor $1 log_sched=He canviat la monitoritzaci planificada log_deletes=He suprimit $1 monitors acl_edit=Pot editar i crear monitors acl_sched=Pot canviar la monitoritzaci planificada change_file=Fitxer o directori a monitoritzar (falla si es canvia) jabber_eparser=EL mdul Perl $1 no est installat al sistema. memory_min2=Memria lliure mnima memory_emin=Hi falta la quantitat de memria lliure o b s invlida memory_eproc=Webmin no sap com comprovar la memria lliure en aquest sistema operatiu memory_free2=$1 lliures proftpd_etype=No es pot fer servir aquest monitor quan ProFTPD s'executa en mode independent mailserver_to=Envia correu a l'adrea mailserver_timeout=Temps lmit i interval mailserver_units_0=Segons mailserver_units_1=Minuts mailserver_units_2=Hores mailserver_units_3=Dies mailserver_desc=Les adreces de sota han de ser un autoresponedor que contesta a l'adrea origen amb la mateixa lnia d'Assumpte: . oldfile_file=Fitxer a monitoritzar (falla si no es canvia) oldfile_diff=Falla si no es canvia en oldfile_secs=segs raid_device=Dispositiu RAID raid_edevice=No hi ha cap dispositiu RAID seleccionat raid_bad=S'ha detectat un disc defectus raid_resync=Actualment resincronitzant raid_notfound=No s'ha trobat el dispositiu RAID $1 raid_other=Altres... iface_iface=Interfcie a comprovar refresh_title=Estat del Refresc refresh_doing=Refrescant l'estat de tots els monitors... refresh_done=...fet. sensors_name=Sensor a comprovar sensors_value=Ha fallat quan sensors_value0=El sistema indica avs sensors_value1=El valor est per sota de $1 sensors_value2=El valor est per sobre de $1 sensors_cmd=L'ordre sensors no est installada al sistema. Aquest monitor necessita el paquet lm_sensors per operar. sensors_none=No s'ha detectat cap sensor al sistema. Pot ser que hagis d'executar l'ordre d'inicialitzaci sensors-detect. sensors_cur=$1 (actualment $2 $3) sensors_emin=Hi falta el valor mnim o b s invlid sensors_emax=Hi falta el valor mxim o b s invlid nut_ups=UPS NUT a comprovar nut_name=Atribut a comprovar nut_value=Ha fallat quan nut_value1=El valor est per sota de $1 nut_value2=El valor est per sobre de $1 nut_cmd=L'ordre upsc no est installada al sistema. Aquest monitor necessita que el paquet NUT estigui installat i configurat per poder funcionar. nut_eups=No has introdut cap USP per comprovar nut_cur=$1 (actualment $2) nut_emin=Hi falta el valor mnim o b s invlid nut_emax=Hi falta el valor mxim o b s invlid mailq_system=Servidor de correu mailq_qmailadmin=Qmail mailq_postfix=Postfix mailq_sendmail=Sendmail mailq_size=Mida mxima de la cua de correu mailq_esize=Hi falta la mida mxima de la cua de correu o b s invlida mailq_toomany=Inactiva - $1 missatges en cua mailq_ok=Activa - $1 missatges en cua dns_server=Servidor DNS dns_host=Nom de host a consultar dns_address=Adrea IP esperada dns_eserver=Hi falta el servidor DNS o b s invlid dns_ehost=Hi falta el nom de host a consultar o b sembla invlid dns_eaddress=Hi falta l'adrea IP esperada o b s invlida dns_ecmds=No est installada al sistema ni l'ordre nslookup ni l'ordre dig monitor_sub_down=$1 apagat a $2 monitor_pager_down=$1: "$2" est apagat $3 monitor_snmp_down=$1: $2 monitor_email_down=El monitor de '$2' a $1 ha detectat que el servei s'ha apagat el $3 monitor_sub_up=$1 reiniciat el $2 monitor_pager_up=$1: $2 s'ha reiniciat el $3 monitor_snmp_up=$1: $2 s'ha reiniciat monitor_email_up=El monitor de '$2' a $1 ha detectat que el servei s'ha reiniciat el $3 monitor_sub_un=$1 desintallat el $2 monitor_pager_un=$1: $2 desinstallat $3 monitor_snmp_un=$1: $2 desinstallat monitor_email_un=El monitor de '$2' a $1 ha detectat que el servei no est installat a $3 monitor_sub_webmin=$1 Webmin apagat a $2 monitor_pager_webmin=$1: $2 Webmin apagat el $3 monitor_snmp_webmin=$1: $2 Webmin apagat monitor_email_webmin=El monitor de '$2' a $1 ha detectat que Webmin est apagat el $3 monitor_sub_timed=$1 ha ats el temps lmit a $2 monitor_pager_timed=$1: $2 ha ats el temps lmit $3 monitor_snmp_timed=$1: $2 ha ats el temps lmit monitor_email_timed=El monitor de '$2' a $1 ha ats el temps lmit el $3 monitor_sub_isdown=$monitor_sub_down monitor_pager_isdown=$monitor_pager_down monitor_snmp_isdown=$monitor_snmp_down monitor_email_isdown=El monitor de '$2' a $1 ha detectat que el servei est apagat el $3 monitor_sub=Monitor de servei: $1 monitor_sub2=Monitor de servei monitor_sub3=Monitor de servei: $1 serveis monitor_run1=Executant $1 a $2... monitor_run2=Executant $1... deletes_egone=Un dels monitors seleccionats ja no existeix ftp_host=Host servidor FTP ftp_port=Port FTP ftp_user=Entra com a usuari ftp_anon=Annim ftp_pass=Amb contrasenya ftp_file=Fitxer a descarregar ftp_none=Cap (noms entra) ftp_ehost=Hi falta el host servidor FTP o b s invlid ftp_eport=Hi falta el port del servidor FTP o b s invlid ftp_efile=Hi falta el fitxer a descarregar o b s invlid query_driver=Tipus de base de dades SQL query_db=Nom de la base de dades query_host=Host servidor de bases de dades query_local=Aquest servidor query_user=Entra com a usuari query_pass=Entra amb contrasenya query_sql=Consulta SQL a executar query_result=Resultat esperat query_ignore=Ignora el resultat query_edriver=El mdul $1 de drivers de Perl no est installat query_edb=Hi falta el nom de la base de dades o b s invlid query_ehost=Hi falta el nom del servidor de bases de dades o b s invlid query_euser=Usuari invlid query_epass=Contrasenya invlida query_esql=Hi falta la consulta SQL query_eresult=Hi falta el resultat esperat query_elogin=L'entrada ha fallat: $1 query_eprepare=Error de SQL: $1 query_eexecute=L'SQL ha fallat: $1 query_ewrong=Resultat incorrecte: $1 consume_rate=Ritme mxim de consum (per segon) consume_high=El ritme de consum s de $1 / segon status/lang/fr0100644000567100000120000003111710251427154013341 0ustar jcameronwheelacl_edit=Peut modifier et créer des moniteurs ? acl_sched=Peut changer la surveillance programmée ? change_file=Fichier à surveiller (impossible s'il est changé) depends_mod=Le module $1 n'est pas installé sur votre système depends_os=Votre système ne gère pas le module $1 depends_remote=Le serveur $2 ne gère pas le module $1 exec_cmd=Commande dont il faut vérifier l'état de sortie exec_ecmd=Commande manquante file_bytes=octets file_efile=Nom de fichier à vérifier manquant file_esize=Taille de fichier invalide file_file=Fichier à vérifier file_test=Test à effectuer file_test_0=Le fichier doit exister file_test_1=Le fichier ne doit pas exister file_test_2=Le fichier doit être supérieur à file_test_3=Le fichier doit être inférieur à http_alarm=Temps de connexion imparti http_ealarm=Temps de connexion imparti manquant ou invalide http_eurl=URL manquante ou invalide http_euser=Nom d'Utilisateur manquant http_login=Se connecter en tant que http_method=Méthode de requête HTTP http_none=Ne pas authentifier http_pass=Mot de Passe http_url=URL à demander http_user=Nom d'Utilisateur iface_iface=Interface à vérifier index_add=Ajouter un moniteur de type index_desc=Surveillance index_esnmp=Le module est configuré pour envoyer des interruptions SNMP sur la page Configuration du module, mais le module Perl $1 n'est pas installé. Cliquez ici pour le télécharger et l'installer maintenant. index_host=Sur l'hôte index_last=Dernière vérification index_local=Local index_name=Nom du service index_none=Aucun moniteur n'est défini actuellement. index_oldtime=État depuis la dernière vérification programmée le $1 index_refresh=Rafraîchir l'état index_refreshdesc=Effectuez un rafraîchissement immédiat des états de tous les moniteurs au lieu d'attendre la prochaine mise à jour programmée. index_return=à la liste des services index_sched=Surveillance programmée index_scheddesc=(Dés)activez le contrôle des moniteurs et définissez l'adresse à laquelle les échecs font automatiquement l'objet d'un message électronique. index_title=État du système et des serveurs index_up=État jabber_eparser=Le module Perl $1 n'est pas installé sur votre système. load_1=1 minute load_15=15 minutes load_5=5 minutes load_ecmd=La commande uptime n'a pas été trouvée sur votre système load_efmt=La sortie de la commande uptime n'a pas pu être analysée load_emax=Charge moyenne maximale manquante ou invalide load_max=Charge moyenne maximale load_time=Charge moyenne à vérifier log_create=Créé le moniteur $1 log_delete=Supprimé le moniteur $1 log_modify=Modifié le moniteur $1 log_sched=Changé la surveillance programmée mailq_esize=Taille maximale de la file d'attente manquante ou invalide mailq_ok=OK - $1 messages en attente mailq_postfix=Postfix mailq_qmailadmin=Qmail mailq_sendmail=Sendmail mailq_size=Taille maximale de la file d'attente de courrier électronique mailq_system=Serveur de courrier électronique mailq_toomany=Non OK - $1 messages en attente mailserver_desc=L'adresse ci-dessous doit être un répondeur automatique qui répond à l'adresse source avec la même ligne Subject:. mailserver_timeout=Temps imparti et intervalle mailserver_to=Envoyer un message électronique à l'adresse mailserver_units_0=Secondes mailserver_units_1=Minutes mailserver_units_2=Heures mailserver_units_3=Jours memory_emin=Quantité de mémoire libre manquante ou invalide memory_eproc=Webmin ne sait pas comment vérifier la mémoire libre sur votre système d'exploitation memory_free=$1 ko libre(s) memory_min=Mémoire libre minimale (en ko) mon_clone=Module à surveiller mon_create=Création d'un moniteur mon_desc=Description mon_down=Arrêté mon_ecannot=Vous n'êtes pas autorisé à modifier les moniteurs mon_edesc=Description manquante mon_edit=Modification d'un moniteur mon_efails=Nombre d'échecs manquant ou invalide mon_elogin=Nom de connexion invalide pour les RPC sur le serveur Webmin $1 mon_eremote=Le serveur Webmin $1 ne gère pas les RPC mon_err=Impossible d'enregistrer le moniteur mon_ertype=Ce type de moniteur n'est pas disponible sur $1 mon_estatus=Le serveur Webmin $1 ne dispose pas du moduleÉtat du système et des serveurs mon_fails=Nombre d'échecs avant un rapport mon_header=Détails du moniteur mon_local=Local mon_none=Aucun serveur distant n'est défini mon_nosched=Vérifier sur programmation ? mon_not=N'est pas installé mon_ondown=Si le moniteur s'arrête, exécuter la commande mon_oninfo=Remarque : les commandes ne sont exécutées que quand le message est envoyé mon_onup=Si le moniteur démarre, exécuter la commande mon_remote=S'exécute sur l'hôte mon_runon=Exécuter les commandes sur mon_runon0=Ce serveur mon_runon1=L'hôte distant mon_status=État actuel mon_timeout=Délai d'expiration dépassé mon_up=Démarré mon_warn0=Oui et un message électronique quand il s'arrête mon_warn1=Oui et un message électronique quand l'état change mon_warn2=Oui et un message électronique quand il est arrêté mon_warn3=Oui, mais jamais de message électronique mon_warndef=Oui et utiliser le mode message électronique par défaut mon_webmin=Webmin arrété nut_cmd=La commande upsc n'est pas installée sur votre système. Ce moniteur nécessite que le paquet NUT soit installé et configuré pour fonctionner. nut_cur=$1 (actuellement $2) nut_emax=Valeur maximale manquante ou invalide nut_emin=Valeur minimale manquante ou invalide nut_name=Attribut à vérifier nut_ups=UPS NUT à vérifier nut_value=Echec quand nut_value1=La valeur est inférieure à $1 nut_value2=La valeur est supérieure à $1 oldfile_diff=Impossible s'il n'est pas changé en oldfile_file=Fichier à surveiller (impossible s'il n'est pas changé) oldfile_secs=secondes ping_econfig=Aucune commande ping n'a été définie dans la configuration du module ping_ehost=Nom d'hôte manquant ou invalide ping_ewait=Temps d'attente manquant ou invalide ping_host=Hôte sur lequel exécuter des commandes ping ping_wait=Temps à attendre une réponse proc_cmd=Commande à vérifier proc_ecmd=Commande manquante proc_ethresh=Nombre de processus manquant ou invalide proc_not=Impossible si le processus est proc_not0=Non actif proc_not1=Actif proc_pid=S'exécute avec les PID $1 proc_thresh=Nombre de processus qui doivent exister pour que le moniteur les considère comme actifs proftpd_etype=Ce moniteur ne peut pas être utilisé quand ProFTPD est exécuté en mode autonome raid_bad=Disque détecté incorrect raid_device=Périphérique RAID raid_edevice=Pas de périphérique RAID sélectionné raid_notfound=Périphérique RAID $1 non trouvé raid_other=Autre.. raid_resync=Resynchronisation en cours refresh_doing=Rafraîchissement de l'état de tous les moniteurs en cours... refresh_done=.. effectué. refresh_title=Rafraîchissement d'un état sched_days=Exécuter le moniteur les jours suivants sched_ecannot=Vous n'êtes pas autorisé à modifier la surveillance programmée sched_edays=Aucun jour n'a été sélectionné sched_eemail=Adresse électronique manquante sched_ehours=Aucune heure pendant laquelle fonctionner sélectionnée sched_eint=Intervalle manquant ou invalide sched_email=Message électronique de rapport d'état à sched_eoffset=Décalage manquant ou invalide sched_eprog=Le programme Sendmail $1 défini dans la configuration du module Sendmail n'existe pas sched_err=Impossible d'enregistrer la surveillance programmée sched_esmtp=Serveur SMTP manquant ou invalide sched_esmtpcmd=La commande SMTP $1 a échoué : $2 sched_from=Champ From: du message électronique sched_header=Options de la surveillance programmée en arrière-plan sched_hours=Exécuter le moniteur aux heures suivantes sched_int=Vérifier tou(te)s les sched_mode=Vérification programmée activée ? sched_none=Personne sched_offset=avec un décalage sched_pager=Page de rapport d'état à numéroter sched_period_0=minutes sched_period_1=heures sched_period_2=jours sched_period_3=mois sched_period_4=semaines sched_single=Envoyer un message électronique par service ? sched_smtp=Envoyer un message via sched_smtp_prog=Exécutable Sendmail local sched_smtp_server=Serveur SMTP sched_title=Surveillance programmée sched_warn=Envoyer un message électronique quand sched_warn0=Un service s'arrête sched_warn1=Un service change d'état sched_warn2=Chaque fois qu'un service s'arrête sensors_cmd=La commande sensors n'est pas installée sur votre système. Ce moniteur nécessite que le paquet lm_sensors soit installé pour fonctionner. sensors_cur=$1 (actuellement $2 $3) sensors_emax=Valeur maximale manquante ou invalide sensors_emin=Valeur minimale manquante ou invalide sensors_name=Capteur à vérifier sensors_none=Aucun capteur n'a été détecté sur votre système. Vous devriez exécuter la commande d'initialisation sensors-detect sensors_value=Echec quand sensors_value0=Le système indique un avertissement sensors_value1=La valeur est inférieure à $1 sensors_value2=La valeur est supérieure à $1 space_desc=$1 libres space_emin=Espace libre manquant ou invalide space_eother=Système de fichiers manquant ou invalide space_fs=Système de fichiers à vérifier space_min=Espace libre minimal (en ko) space_nofs=Système de fichiers non monté space_other=Autre... tcp_alarm=Temps de connexion imparti tcp_ealarm=Temps de connexion imparti manquant ou invalide tcp_ehost=Nom d'hôte manquant ou invalide tcp_eport=Numéro de port manquant ou invalide tcp_host=Hôte auquel se connecter tcp_port=Port sur lequel se connecter traffic_bytes=Nombre d'octets ou de secondes maximal traffic_desc=Ce moniteur surveille le trafic réseau sur une interface sélectionnée et affiche le moniteur comme étant arrêté si le trafic dépasse le nombre d'octets par seconde saisi ci-dessous. Ce comportement ne fonctionne vraiment bien que si la surveillance programmée est fixée à un intervalle court, par exemple toutes les 5 minutes. traffic_dir=Direction à surveiller traffic_dir0=Réception et émission traffic_dir1=Réception seulement traffic_dir2=Émission seulement traffic_ebytes=Nombre d'octets ou de secondes manquant ou invalide traffic_eifaces=Votre système d'exploitation ne comporte pas de fichier /proc/net/dev traffic_iface=Interface à surveiller type_apache=Serveur web Apache type_bind8=Serveur DNS BIND type_cfengine=Démon du moteur de configuration type_change=Changement de fichier type_dhcpd=Serveur DHCP type_dnsadmin=Serveur DNS BIND 4 type_exec=Exécuter la commande type_file=Vérifier le fichier type_hostsentry=Démon Hostsentry type_http=Service HTTP distant type_iface=État de l'interface réseau type_inetd=Serveur Internet et RPC type_jabber=Serveur de MI Jabber type_load=Charge moyenne type_mailq=Taille de la file d'attente de courrier électronique type_mailserver=Mailserver Response type_memory=Mémoire libre type_mon=Moniteur de services MON type_mysql=Serveur de base de données MySQL type_nfs=Serveur NFS type_nut=Valeur de l'UPS NUT type_oldfile=Fichier non changé type_ping=Ping distant type_portsentry=Démon Portsentry type_postfix=Serveur Postfix type_postgresql=Serveur de base de données PostgreSQL type_proc=Vérifier le processus type_proftpd=Serveur ProFTPD type_qmailadmin=Serveur QMail type_raid=État du périphérique RAID type_samba=Serveurs Samba type_sendmail=Serveur Sendmail type_sensors=Statut de capteurs LM type_space=Espace disque type_squid=Serveur mandataire Squid type_sshd=Serveur SSH type_tcp=Service TCP distant type_traffic=Trafic réseau type_usermin=Serveur web Usermin type_webmin=Serveur web Webmin type_xinetd=Serveur Internet étendu (xinetd) up_since=Démarré depuis $1 status/lang/de0100644000567100000120000001410310166415276013325 0ustar jcameronwheelindex_title=System- und Server-Status index_name=Dienstname index_host=Auf Rechner index_desc=Überwache index_up=Status index_local=Lokal index_add=Füge Überwachung hinzu: index_sched=Zeitgesteuerte Überwachung index_return=Dienstliste type_apache=Apache Webserver type_inetd=Internet und RPC-Server (inetd) type_xinetd=Erweiterter Internet-Server (xinetd) type_squid=Squid Proxy-Server type_bind8=BIND-DNS-Server type_dnsadmin=BIND 4 DNS-Server type_dhcpd=DHCP-Server type_tcp=Remote TCP-Dienst type_http=Remote HTTP-Dienst type_sendmail=Sendmail-Server type_postfix=Postfix-Server type_ping=Remote Ping type_proc=Prozess überprüfen type_mysql=MySQL-Server type_postgresql=PostgreSQL-Server type_samba=Samba-Server type_nfs=NFS-Server type_exec=Befehl ausführen type_file=Datei überprüfen type_traffic=Netzwerkbenutzung type_space=Plattenspeicher type_load=Durchschnittl. Systemauslastung mon_create=berwachung erstellen mon_edit=berwachung bearbeiten mon_header=Überwachungsdetails mon_desc=Beschreibung mon_remote=Starte auf Rechner mon_local=Lokal mon_warn1=Ja, und sende email bei nderung mon_warn0=Ja, und sende email beim herunterfahren mon_warn2=Ja, und sende email wenn heruntergefahren mon_none=Keine Remote-Server definiert mon_nosched=Regelmässig überprüfen? mon_status=Aktueller Status mon_up=Bereit mon_down=Nicht bereit mon_not=Nicht installiert mon_ondown=Wenn der überwachte Prozess beendet wird, starte mon_onup=Wenn der überwachte Prozess gestartet wird, starte mon_clone=Zu überwachendes Modul mon_err=Fehler beim Speichern der Einstellungen für die Überwachung mon_edesc=Fehlende Beschreibung mon_elogin=Ungültiges RPC-Login für Webmin-Server $1 mon_eremote=Webmin-Server $1 unterstützt kein RPC mon_estatus=Webmin-Server $1 hat kein System- und Server-Status-Modul mon_ecannot=Sie haben keine Berechtigung, Überwachungen zu erstellen mon_ertype=Diese Art von Überwachung ist auf $1 nicht verfügbar. sched_title=Zeitgesteuerte berwachung sched_header=Einstellungen für die zeitgesteuerte Überwachung im Hintergrund sched_mode=Zeitgesteuerte Überprüfung aktiviert? sched_email=Statusbericht mailen an: sched_pager=Status an Pager Nr.: sched_none=Niemand sched_from=Absenderadresse für E-Mail sched_int=Überprüfen alle: sched_period_0=Minuten sched_period_1=Stunden sched_period_2=Tage sched_period_3=Monate sched_period_4=Wochen sched_offset=Versetzt sched_warn=E-Mail senden: sched_warn1=Wenn sich ein Dienst-Status ändert sched_warn0=Wenn ein Dienst beendet wird sched_single=Eine Mail pro Dienst senden? sched_hours=Überprüfung stündlich: sched_days=Überprüfung täglich sched_err=Fehler beim Speichern der zeitgesteuerten Überprüfung sched_eemail=Fehlende Email-Adresse sched_eint=Fehlendes oder ungültiges Intervall sched_eoffset=Fehlendes oder ungültiges Offset sched_ehours=Keine Stunden ausgewählt sched_edays=Keine Tage ausgewählt sched_ecannot=Sie sind nicht berechtigt, die zeitgesteuerte Überwachung zu bearbeiten. up_since=Läuft seit $1 depends_mod=Das Modul $1 ist nicht auf Ihrem System installiert. depends_os=Das Modul $1 wird auf Ihrem System nicht unterstützt. depends_remote=Das Modul $1 wird nicht auf Rechner $2 unterstützt. tcp_host=Verbindung zu Rechner tcp_port=Verbindung zu Port tcp_alarm=Verbindungs-Timeout tcp_ehost=Fehlender oder ungültiger Rechnername tcp_eport=Fehlender oder ungültiger Port tcp_ealarm=Fehlender oder ungültiger Verbindungs-Timeout http_url=Anzufordernde URL http_alarm=Verbindungs-Timeout http_eurl=Fehlende oder ungültige URL http_ealarm=Fehlender oder ungültiger Verbindungs-Timeout ping_host=Anzupingender Rechner ping_wait=Verbindungs-Timeout ping_ehost=Fehlender oder ungültiger Rechnername ping_ewait=Fehlender oder ungültiger Verbindungs-Timeout ping_econfig=In der Modulkonfiguration wurde noch kein ping-Befehl eingetragen. proc_pid=Laufend mit PID $1 proc_cmd=Zu testender Befehl proc_ecmd=Fehlender Befehl exec_cmd=Befehl, dessen Rückgabewaert getestet wird exec_ecmd=Fehlender Befehl file_file=Zu überprüfende Datei file_test=Durchzuführender Test file_test_0=Datei muss existieren file_test_1=Datei darf nicht existieren file_test_2=Datei muss grösser sein als file_test_3=Datei muss kleiner sein als file_bytes=Bytes file_efile=Fehlender Dateiname file_esize=Ungültige Dateigrösse traffic_iface=Zu überwachende Schnittstelle traffic_bytes=Maximale Bytes pro Sekunde traffic_dir=Zu überwachende Richtung traffic_dir0=Ein- und ausgehend traffic_dir1=Nur eingehend traffic_dir2=Nur ausgehend traffic_desc=Diese Überwachung prüft die Nertzwerklast auf der gewählten Schnittstelle und zeigt den Dienst als beendet an, wenn die Last den unten einzugebenden Grenzwert übersteigt. Dies ist nur sinnvoll, wenn die zeitgesteuerte Überwachung aktiviert ist und sie auf ein keines Intervall eingestellt ist. traffic_eifaces=Ihr Betriebssystem hat keine /proc/net/dev Datei. traffic_ebytes=Fehlende oder ungültige Anzahl von Bytes/Sekunde space_fs=Zu überprüfendes Dateisystem space_min=Minimaler freier Platz (in kB) space_desc=$1 frei space_nofs=Dateisystem nicht gemounted space_other=Andere.. space_emin=Fehlender oder ungültiger freier Platz space_eother=Fehlendes oder ungültiges Dateisystem load_time=Durchnittliche Systemlast load_5=5 Minuten load_10=10 Minuten load_15=15 Minuten load_max=Maximale durchschnittliche Systemlast load_emax=Fehlende oder ungültige durchschnittliche Systemlast load_ecmd=Der Befehl uptime wurde nicht gefunden. load_efmt=Die Ausgabe des uptime-Befehls konnte nicht verarbeitet werden. log_create=Überwachung $1 erstellt log_modify=Überwachung $1 geändert log_delete=Überwachung $1 gelöscht log_sched=Zeitgesteurte Überwachung geändert acl_edit=Kann Überwachungen erstellen und ändern? acl_sched=Kann zeitgesteurte Überwachungen erstellen? status/lang/ru_RU0100664000567100000120000001570210005107320013755 0ustar jcameronwheelmon_none= ping_host= mon_webmin=Webmin type_qmailadmin= QMail type_postfix= Postfix mon_edesc= mon_status= type_inetd= Internet RPC space_nofs= sched_offset= mon_not= memory_eproc=Webmin proc_ecmd= sched_eint= index_local= file_test_0= file_test_1= file_test_2= index_last= load_ecmd= uptime file_test_3= sched_ecannot= sched_smtp= tcp_alarm= memory_emin= sched_mode= ? mon_desc= file_esize= up_since= $1 type_dnsadmin= DNS BIND 4 index_oldtime= , $1 mon_remote= space_fs= sched_edays= sched_err= space_desc=$1 memory_min= ( ) ping_ehost= mon_ecannot= ping_econfig= (ping) sched_int= index_sched= sched_hours= sched_none= mon_local= http_user= http_alarm= depends_mod= $1 mon_runon0= type_http= HTTP mon_runon1= load_max= acl_sched= ? log_sched= memory_free=$1 type_webmin= Webmin type_usermin= Usermin acl_edit= ? log_create= $1 sched_warn= mon_edit= type_ping= (Ping) tcp_ealarm= proc_cmd= sched_period_0= jabber_eparser= $1 Perl . sched_period_1= sched_period_2= sched_period_3= sched_period_4= http_pass= index_up= index_none= . load_efmt= uptime proc_not0= proc_not1= file_efile= type_file= sched_smtp_prog= sendmail exec_cmd=, mon_onup= traffic_eifaces= /proc/net/dev mon_elogin= RPC Webmin $1 type_change= change_file= sched_from= From: type_postgresql= PostgreSQL load_15=15 traffic_iface= type_exec= mon_ondown= index_host= index_desc= load_emax= http_eurl=URL file_bytes= http_euser= depends_remote= $1 $2 http_none= type_space= type_samba= Samba sched_esmtpcmd= SMTP $1 : $2 sched_pager= type_bind8= DNS BIND mon_runon= mon_nosched= ? log_delete= $1 sched_warn0= sched_warn1= type_mon= MON sched_warn2=, type_mysql= MySQL mon_down= sched_title= http_login= sched_esmtp= SMTP type_portsentry= Portsentry space_other=.. index_title= mon_create= type_apache=- Apache sched_smtp_server= SMTP sched_days= type_traffic= mon_ertype= $1 sched_eemail= space_eother= type_tcp= TCP type_memory= type_cfengine= Configuration Engine tcp_eport= tcp_ehost= sched_eoffset= type_jabber= Jabber file_file= depends_os= $1 type_xinetd= Internet (xinetd) mon_warn0=, space_emin= mon_warn1=, traffic_desc= . , . , , 5 . mon_warn2=, , type_squid=- Squid index_name= traffic_ebytes= traffic_bytes= index_return= ping_wait= load_1=1 proc_pid= PID $1 type_load= load_5=5 traffic_dir= mon_header= type_nfs= NFS type_dhcpd= DHCP sched_single= ? type_sendmail= Sendmail tcp_port= tcp_host= mon_clone= exec_ecmd= type_hostsentry= Hostsentry mon_estatus= Webmin $1 sched_header= http_ealarm= proc_not= , type_proc= mon_up= space_min= ( ) file_test= load_time= sched_email= ping_ewait= mon_err= mon_eremote= Webmin $1 RPC traffic_dir0= traffic_dir1= traffic_dir2= log_modify= $1 sched_ehours= http_url= URL index_add= : status/lang/ru_SU0100644000567100000120000001572510067401527013777 0ustar jcameronwheelindex_title= index_name= index_host= index_desc= index_up= index_last= index_local= index_add= : index_sched= index_return= index_none= . index_oldtime= , $1 type_apache=- Apache type_inetd= Internet RPC type_xinetd= Internet (xinetd) type_squid=- Squid type_bind8= DNS BIND type_dnsadmin= DNS BIND 4 type_dhcpd= DHCP type_tcp= TCP type_http= HTTP type_sendmail= Sendmail type_postfix= Postfix type_ping= (Ping) type_proc= type_mysql= MySQL type_postgresql= PostgreSQL type_samba= Samba type_nfs= NFS type_exec= type_file= type_traffic= type_space= type_load= type_change= type_qmailadmin= QMail type_mon= MON type_jabber= Jabber type_usermin= Usermin type_portsentry= Portsentry type_hostsentry= Hostsentry type_webmin= Webmin type_cfengine= Configuration Engine type_memory= mon_create= mon_edit= mon_header= mon_desc= mon_remote= mon_local= mon_none= mon_nosched= ? mon_warn1=, mon_warn0=, mon_warn2=, , mon_status= mon_up= mon_down= mon_webmin=Webmin mon_not= mon_ondown= mon_onup= mon_clone= mon_err= mon_edesc= mon_elogin= RPC Webmin $1 mon_eremote= Webmin $1 RPC mon_estatus= Webmin $1 mon_ecannot= mon_ertype= $1 mon_runon= mon_runon0= mon_runon1= sched_title= sched_header= sched_mode= ? sched_email= sched_pager= sched_none= sched_from= From: sched_int= sched_period_0= sched_period_1= sched_period_2= sched_period_3= sched_period_4= sched_offset= sched_warn= sched_warn1= sched_warn0= sched_warn2=, sched_single= ? sched_hours= sched_days= sched_err= sched_eemail= sched_eint= sched_eoffset= sched_ehours= sched_edays= sched_ecannot= sched_smtp= sched_smtp_prog= sendmail sched_smtp_server= SMTP sched_esmtp= SMTP sched_esmtpcmd= SMTP $1 : $2 up_since= $1 depends_mod= $1 depends_os= $1 depends_remote= $1 $2 tcp_host= tcp_port= tcp_alarm= tcp_ehost= tcp_eport= tcp_ealarm= http_url= URL http_alarm= http_eurl=URL http_ealarm= http_login= http_none= http_user= http_pass= http_euser= ping_host= ping_wait= ping_ehost= ping_ewait= ping_econfig= (ping) proc_pid= PID $1 proc_cmd= proc_not= , proc_not0= proc_not1= proc_ecmd= exec_cmd=, exec_ecmd= file_file= file_test= file_test_0= file_test_1= file_test_2= file_test_3= file_bytes= file_efile= file_esize= traffic_iface= traffic_bytes= traffic_dir= traffic_dir0= traffic_dir1= traffic_dir2= traffic_desc= . , . , , 5 . traffic_eifaces= /proc/net/dev traffic_ebytes= space_fs= space_min= ( ) space_desc=$1 space_nofs= space_other=.. space_emin= space_eother= load_time= load_1=1 load_5=5 load_15=15 load_max= load_emax= load_ecmd= uptime load_efmt= uptime log_create= $1 log_modify= $1 log_delete= $1 log_sched= acl_edit= ? acl_sched= ? change_file= jabber_eparser= $1 Perl . memory_min= ( ) memory_emin= memory_eproc=Webmin memory_free=$1 status/lang/zh_TW.Big50100644000567100000120000001326310166415360014555 0ustar jcameronwheelacl_edit=iHsBإߺʱܡH acl_sched=iHܧwɪʱܡH change_file=nʱɮ depends_mod=ztΨSw˼Ҳ $1 depends_os=ztΤ䴩Ҳ $1 depends_remote=A $2 䴩Ҳ $1 exec_cmd=ˬdhXARO exec_ecmd=JRO file_bytes=줸 file_efile=JnˬdɮצW file_esize=LĪɮפjp file_file=nˬdɮ file_test=n檺 file_test_0=ɮץsb file_test_1=ɮץsb file_test_2=ɮץj file_test_3=ɮץp http_alarm=sO http_ealarm=JεLĪsO http_eurl=JεLĪ URL http_euser=JϥΪ̦W http_login=n http_method=HTTPШD覡 http_none= http_pass=KX http_url=nD URL http_user=ϥΪ̦W index_add=W[ʱG index_desc=ʱ index_host=bDW index_last=̪ˬd index_local=a index_name=AȦW index_none=ثeSQTΪʱC index_oldtime=$1 ̪񪺩wˬdA index_return=AȦC index_sched=wɺʱ index_title=tΩMAA index_up=A jabber_eparser=AtΨSw Perl Ҳ $1C load_1=1 load_15=15 load_5=5 load_ecmd=bAtΤ uptime RO load_efmt=LkѪR uptime XRO load_emax=JεLĪ̤jt load_max=̤jt load_time=nˬdt log_create=إߺʱ $1 log_delete=Rʱ $1 log_modify=קʱ $1 log_sched=wܧwɪʱ mailserver_desc=UCm۰ʦ^еӷmMP˪DDC mailserver_timeout=OɻPj mailserver_to=ǰeemail mailserver_units_0= mailserver_units_1= mailserver_units_2= mailserver_units_3= memory_emin=JεLĥiΰO`p memory_eproc=WebminDpˬdz@~tΪiΰO memory_free=$1 kBi memory_min=̤piΰO(kB) mon_clone=ʱҲ mon_create=إߺʱ mon_desc=yz mon_down=פ mon_ecannot=AQ\sʱ mon_edesc=Jyz mon_edit=sʱ mon_elogin=~RPCnJbWebminA$1 mon_eremote=Webmin A $1 䴩 RPC mon_err=xsʱ mon_ertype=Lkϥκʱ$1 mon_estatus=WebminA$1StΩMAAҲ mon_header=ʱyz mon_local=a mon_none=SwwqݦA mon_nosched=wˬdH mon_not=Sw mon_ondown=pGʱARO mon_onup=pGʱ}ҡARO mon_remote=bDW mon_runon=Ob mon_runon0=aA mon_runon1=ݦA mon_status=ثeA mon_timeout=O mon_up=Ұ mon_warn0=O,ܮtɱHH mon_warn1=O,AܮɱHH mon_warn2=O,ɱHH mon_warn3=O,HH mon_warndef=O,ϥιw]HHҦ mon_webmin=Webmin BפA oldfile_diff= pGܧ oldfile_file=ɮ׺ʱ(,pGܧ) oldfile_secs= ping_econfig=ҲղպAS]wpingO ping_ehost=JεLĪDW ping_ewait=JεLĪݮɶ ping_host=n ping D ping_wait=ݦ^ɶ proc_cmd=nˬdRO proc_ecmd=JRO proc_ethresh=JεLĵ{Ǽƶq proc_not=ѦpG{ǬO proc_not0= proc_not1=椤 proc_pid=H PID $1 proc_thresh=ʱ檺{Ǽƶqsb proftpd_etype=ʱ{LkϥΦbProFTPDW߱pU sched_days=HCѬʱ sched_ecannot=ASswɺʱ\iv sched_edays=ܭn檺ɶ-- sched_eemail=Jqll} sched_ehours=ܭn檺ɶ--p sched_eint=JεLĪj sched_email=N Email Ai sched_eoffset=JεLĪq sched_eprog=sendmail{$1wqbSendmailպAsb sched_err=Lkxswɺʱ sched_esmtp=JεLĪ SMTP A sched_esmtpcmd=SMTP RO $1 : $2 sched_from=qll oH: a} sched_header=wɫOʱﶵ sched_hours=Hpɬʱ sched_int=ˬdC sched_mode=O_ҥΩwɺʱH sched_none=L sched_offset=aq sched_pager=ЩAi sched_period_0= sched_period_1=p sched_period_2= sched_period_3= sched_period_4=P sched_single=CAȤ@oeqllH sched_smtp=oeqllqL sched_smtp_prog=a sendmail i sched_smtp_server=SMTP A sched_title=wɪʱ sched_warn=ɵoeqll sched_warn0=Aȵ sched_warn1=AȧܪA sched_warn2=ɶAȬO space_desc=$1 space_emin=JεLĪΪŶ space_eother=JεLĪɮרt space_fs=nˬdɮרt space_min=̤pΪŶ (kB) space_nofs=ɮרt space_other=L.. tcp_alarm=sO tcp_ealarm=JεLĪsO tcp_ehost=JεLĪDW tcp_eport=JεLĪ tcp_host=nsܪD tcp_port=nsܪ traffic_bytes=C̤j줸ռ traffic_desc=Ӻʱ\iHNqHqOxswWApGqHqWLUJCǿ骺줸ռơAtδN|ܺʱCpGNwwʱ]mCLܵuɶjNҰʤ@wwҦpCAtΤ~|`B@C traffic_dir=ʱV traffic_dir0=l󪺻Poel traffic_dir1=ȥΩ󱵦l traffic_dir2=ȥΩoel traffic_ebytes=JΥĪ줸ռ/C traffic_eifaces=AtΨS /proc/net/dev ɮ traffic_iface=nʱ type_apache=ApacheA type_bind8=BIND DNS A type_cfengine=պAu@{ type_change=ɮܧ type_dhcpd=DHCP A type_dnsadmin=BIND 4 DNS A type_exec=RO type_file=ˬd type_hostsentry=Hostsentry u@{ type_http= HTTP A type_inetd=ںA type_jabber=Jabber IM A type_load=t type_mailserver=lA^ type_memory=iΰO type_mon=MON AȺʱ type_mysql=MySQLƮwA type_nfs=NFS A type_oldfile=ɮץܧ type_ping= Ping type_portsentry=Portsentry u@{ type_postfix=PostfixA type_postgresql=PostgreSQLƮwA type_proc=ˬd{ type_proftpd=ProFTPDA type_qmailadmin=Qmail A type_samba=SambaA type_sendmail=SendmailA type_space=ϺЪŶ type_squid=Squid NzA type_sshd=SSHA type_tcp= TCP A type_traffic=qHq type_usermin=Usermin A type_webmin=Webmin A type_xinetd=A up_since= $1 Ұ status/lang/sk0100644000567100000120000002030210173300417013334 0ustar jcameronwheelacl_edit=Me upravi a vytvori sledovania? acl_sched=Me plnova sledovania? change_file=Sbor pre sledovanie (zlyh ak djde k zmene) depends_mod=Modul $1 nie je naintalovan na Vaom systme depends_os=Modul $1 nie je podporovan na Vaom systme depends_remote=Modul $1 nie je podporovan na servri $2 exec_cmd=Prkaz na sledovanie stavu ukonenia exec_ecmd=Chbajci prkaz file_bytes=bajtov file_efile=Chbajce meno sboru pre kontrolu file_esize=Chybn vekos sboru file_file=Sbor na kontrolu file_test=Uskutoni test file_test_0=Sbor mus existova file_test_1=Sbor nesmie existova file_test_2=Sbor mus by v ako file_test_3=Sbor mus by men ako http_alarm=Vypranie asu spojenia http_ealarm=Chybn alebo chbajci as vyprania spojenia http_eurl=Chybn alebo chbajce URL http_euser=Chbajce uvatesk meno http_login=Prihlsi sa ako http_method=Spsob poiadaviek HTTP http_none=Neoverova http_pass=heslo http_url=Poadova URL http_user=Uvatesk meno iface_iface=kontrolova rozhranie index_add=Prida typ sledovania: index_desc=Sledovanie index_esnmp=Modul je nastaven na posielanie SNMP traps v konfigurcii modulu, ale Perlovsk modul $1 nie je naintalovan. Kliknite tu pre jeho stiahnutie a intalciu. index_host=Na potai index_last=Posledn kontrola index_local=Loklne index_name=Meno sluby index_none=Nie s nastaven iadne sledovania. index_oldtime=Stav z poslednej plnovanej kontroly $1 index_return=zoznam sluieb index_sched=Plnovan sledovanie index_title=Stav systmu a serverov index_up=Stav jabber_eparser=Perlovsk modul $1 nie je naintalovan na Vaom systme. load_1=1 minta load_15=15 mint load_5=5 mint load_ecmd=Prkaz uptime nebol njden na Vaom systme. load_efmt=Nemohol by spracovan vstup z prkazu uptime load_emax=Chbajca alebo chybn maximlna hodnota zae load_max=Maximlna za load_time=Kontrolova za log_create=Vytvoren sledovanie $1 log_delete=Zmazan sledovanie $1 log_modify=Upraven sledovanie $1 log_sched=Zmenen plnovan sledovanie mailserver_desc=Adresa niie mus by automatick odpoveda, ktor odpovie so sprvnym predmetom. mailserver_timeout=as vyprania a interval mailserver_to=Posla e-mail na adresu mailserver_units_0=Seknd mailserver_units_1=Mint mailserver_units_2=Hodn mailserver_units_3=Dn memory_emin=Chybn alebo chbajca hodnota vonej pamte memory_eproc=Webmin nevie ako m skontrolova von pam na Vaom operanom systme memory_free=$1 kB vonch memory_min=Minimum vonej pamte (v kB) mon_clone=Modul na sledovanie mon_create=Vytvori sledovanie mon_desc=Popis mon_down=Vypnut mon_ecannot=Nemte oprvnenie upravova sledovania mon_edesc=Chbajci popis mon_edit=Upravi sledovanie mon_efails=Chybn alebo chbajci poet zlyhan mon_elogin=Chybn prihlsenie pre RPC na Webmin server $1 mon_eremote=Webmin server $1 nepodporuje RPC mon_err=Zlyhalo uloenie sledovania mon_ertype=Tento typ sledovania nie je dostupn na $1 mon_estatus=Webmin server $1 nem modul Stav systmu a serveru mon_fails=Poet zlyhan pred hlsenm mon_header=Podrobnosti sledovania mon_local=Loklne mon_none=Neboli definovan iadne vzdialen servre mon_nosched=Plnovan kontrola? mon_not=Nenaintalovan mon_ondown=Ak sledovan objekt nereaguje, spus prkaz mon_oninfo=Poznmka: prkazy bud spusten len ak bude odoslan e-mail mon_onup=Ak sledovan objekt zane reagova, spus prkaz mon_remote=Spus na potai mon_runon=Spust prkazy na mon_runon0=Tento server mon_runon1=Vzdialen pota mon_status=Sasn stav mon_timeout=Vypral as mon_up=Beiaci mon_warn0=no a poli e-mail, ak prestane reagova mon_warn1=no a poli e-mail pri zmene stavu mon_warn2=no a poli e-mail, ak nereaguje mon_warn3=no, ale neposielaj e-mail mon_warndef=no a poui tandardn spsob odoslania e-mailu mon_webmin=Webmin nebe oldfile_diff=Zlyh ak sa nezmen pre oldfile_file=Sbor na sledovanie (zlyh ak sa nezmen) oldfile_secs=seknd ping_econfig=Nebol zadan prkaz pre ping v konfigurcii modulu ping_ehost=Chybn alebo chbajci nzov potaa ping_ewait=Chybn alebo chbajci as akania ping_host=Pota pre ping ping_wait=as akania na odozvu proc_cmd=Prkaz, ktor sledova proc_ecmd=Chbajci prkaz proc_ethresh=Chybn alebo chbajci poet procesov proc_not=Zlyh ak je proces proc_not0=Nebe proc_not1=Be proc_pid=Be s PID $1 proc_thresh=Poet procesov, ktor musia bea aby ich sledovanie vyhodnotilo ako beiace proftpd_etype=Toto sledovanie neme by pouit pokia ProFTPD be v samostatnom reime raid_bad=Zisten chybn disk raid_device=RAID zariadenie raid_edevice=Nebolo vybran iadne RAID zariadenie raid_notfound=RAID zariadenie $1 nebolo njden raid_resync=Synchronizujem sched_days=Spusti sledovanie v doch sched_ecannot=Nemte oprvnenie upravova plnovan sledovania sched_edays=Neboli vybran dni na sledovanie sched_eemail=Chbajca e-mailov adresa sched_ehours=Neboli vybran hodiny na sledovanie sched_eint=Chybn alebo chbajci asov interval sched_email=Sprvu zasla e-mailom na sched_eoffset=Chybn alebo chbajci offset sched_eprog=Program $1 na posielanie mailov uveden v konfigurcii modulu neexistuje sched_err=Zlyhalo uloenie plnovanho sledovania sched_esmtp=Chybn alebo chbajci SMTP server sched_esmtpcmd=SMTP prkaz $1 zlyhal : $2 sched_from=Od: adresa pre e-mail sched_header=Monosti plnovanho sledovania sched_hours=Spus sledovanie poas hodn sched_int=Kontroluj kadch sched_mode=S povolen plnovan kontroly? sched_none=Nikto sched_offset=s offsetom sched_pager=Odoslat na pager sched_period_0=mint sched_period_1=hodn sched_period_2=dn sched_period_3=mesiacov sched_period_4=tdov sched_single=Posla jeden e-mail na kad slubu sched_smtp=Posla e-mail cez sched_smtp_prog=Loklny prkaz pre posielanie poty sched_smtp_server=SMTP server sched_title=Plnovan sledovanie sched_warn=Posla e-mail ke sched_warn0=Ke sluba zlyh sched_warn1=Ke sluba zmen stav sched_warn2=Vdy ke je sluba nefunkn space_desc=$1 vonch space_emin=Chybn alebo chbajca vekos vonho miesta space_eother=Chybn alebo chbajci sborov systm space_fs=Sborov systm pre kontrolu space_min=Minimum vonho miesta (v kB) space_nofs=Sborov systm nie je pripojen space_other=Ostatn.. tcp_alarm=Vypral as spojenia tcp_ealarm=Chybn alebo chbajci as vyprania spojenia tcp_ehost=Chybn alebo chbajce meno potaa tcp_eport=Chybn alebo chbajce slo portu tcp_host=Pota pre spojenie tcp_port=Port pre spojenie traffic_bytes=Maximum bajtov/sekundu traffic_desc=Toto sledovanie sli na sledovanie vyaenia sieovho rozhrania a zobraz zlyhanie sluby vdy ke vyaenie prekro hranicu bajtov/sekunda zadanch niie. Toto sledovanie m vznam len ak je plnovanie sledovan uren malm asovm intervalom, naprklad kadch 5 mint. traffic_dir=Smer sledovania traffic_dir0=Prichdzajce a odchdzajce traffic_dir1=Iba prichdzajce traffic_dir2=Iba odchdzajce traffic_ebytes=Chybn alebo chbajci poet bajtov/sekunda traffic_eifaces=V operan systm nem sbor /proc/net/dev traffic_iface=Rozhranie pre sledovanie type_apache=Apache Webserver type_bind8=BIND DNS Server type_cfengine=Configuration Engine Daemon type_change=Zmena sboru type_dhcpd=DHCP Server type_dnsadmin=BIND 4 DNS Server type_exec=Vykona prkaz type_file=Kontrolova sbor type_hostsentry=Hostsentry sluba type_http=Vzdialen HTTP sluba type_iface=Stav sieovho rozhrania type_inetd=Internetov a RPC server type_jabber=Jabber IM Server type_load=Priemern za type_mailserver=Odozva mailovho servra type_memory=Von pam type_mon=MON Service sledovanie type_mysql=MySQL Databzov Server type_nfs=NFS Server type_oldfile=Sbor nebol zmenen type_ping=Ping type_portsentry=Portsentry dmon type_postfix=Postfix server type_postgresql=PostgreSQL Databzov Server type_proc=Kontrolova proces type_proftpd=ProFTPD Server type_qmailadmin=QMail Server type_raid=Stav RAID zariadenia type_samba=Samba Servre type_sendmail=Sendmail Server type_space=Miesto na disku type_squid=Squid Proxy Server type_sshd=SSH Server type_tcp=Vzdialen TCP sluba type_traffic=Sieov prevdzka type_usermin=Usermin Webserver type_webmin=Webmin Webserver type_xinetd=Server rozrench internetovch sluieb (Xinetd) up_since=Funkn od $1 status/lang/tr0100644000567100000120000002230410225071064013351 0ustar jcameronwheelacl_edit=zleyici oluturabilsin ve dzenleyebilsin mi? acl_sched=Zamanlandrlm izleyiciyi deitirebilsin mi? change_file=zlenecek dosya (deitirildiyse hata oluacaktr) depends_mod=$1 modl sisteminizde kurulu deil depends_os=$1 modl sisteminiz tarafndan desteklenmemektedir depends_remote=$1 modl $2 sunucusunda desteklenmemektedir exec_cmd=Kontrol komutunun k durumu exec_ecmd=Komut bulunamad file_bytes=byte file_efile=Kontrol edilecek dosya bulunamad file_esize=Geersiz dosya boyutu file_file=Kontrol edilecek dosya file_test=Uygulanacak test file_test_0=Dosya mevcut olmal file_test_1=Dosya olmamal file_test_2=Dosya bundan daha byk olmal file_test_3=Dosya bundan daha lk olmal http_alarm=Balant gecikme sresi http_ealarm=Balant gecikme dosyas girilmemi ya da yanl girilmi http_eurl=URL girilmemi ya da yanl girilmi http_euser=Kullanc ad girilmemi http_login=Bu kullanc ile giri yap http_method=HTTP istek metodu http_none=Onaylama http_pass=parola http_url=stek yaplacak URL http_user=Kullanc ad iface_iface=Kontrol edilecek arayz index_add=Bu tipte izleyici ekle: index_desc=zlenen Servis index_esnmp=Modll Modl Yaplandrmas sayfasnda SNMP paketleri gnderecek ekilde yaplandrlm, fakat $1 Perl modl kurulmam.Buray tklayarak indirip kurabilirsiniz index_host=Makine index_last=Son kontrol index_local=Yerel index_name=Servis ad index_none=Tanmlanm bir izleyici yok index_oldtime=$1 'de yaplan son zamanlandrlm kontroln sonucu index_refresh=Durumu Yenile index_refreshdesc=Btn izleyici durumlarn, bir sonraki zamanlandrlm gncellemeyi beklemek yerine hemen gnceller index_return=servis listesi index_sched=Zamanlandrlm zleme index_scheddesc=Zamanlandrlm izleyici kontroln ap kapatabilir ve sorun olduunda otomatik olarak hangi adrese e-posta gnderileceini belirleyiniz. index_title=Sistem ve Sunucu Durumu index_up=Durum jabber_eparser=Perl modl $1 sisteminizde kurulu deil load_1=1 dakika load_15=15 dakika load_5=5 dakika load_ecmd=uptime komutu sisteminizde bulunamad load_efmt=uptime komutunun kts okunamad load_emax=Maksimum sistem yklenme yzdesi girilmemi ya da yanl girilmi load_max=Maksimum sistem yklenme yzdesi load_time=Kontrol edilecek yklenme sresi log_create=zleyici $1 oluturuldu log_delete=zleyici $1 silindi log_modify=zleyici $1 deitirildi log_sched=Zamanlandrlm izleme deitirildi mailserver_desc=Aadaki adres ayn Balk: satrna sahip mailleri, gnderen kiiye cevaplayacak bir otomatik cevaplaycya sahip olmaldr. mailserver_timeout=Gecikme sresi ve aral mailserver_to=Bu adrese e-posta gnder mailserver_units_0=Saniye mailserver_units_1=Dakika mailserver_units_2=Saat mailserver_units_3=Gn memory_emin=Bo alan deeri girilmemi ya da yanl girilmi memory_eproc=Webmin iletim sisteminizde kullanlmayan belli nasl bulacan bilmiyor memory_free=$1 kB kullanlmayan memory_min=Minimum kullanlmayan bellek (kB) mon_clone=zlenecek modl mon_create=zleyici Olutur mon_desc=Aklama mon_down=Kapal mon_ecannot=Monitrleri dzenlemek iin izininiz yoktur mon_edesc=Aklama girilmemi mon_edit=zleyici Dzenle mon_efails=Hata says girilmemi ya da yanl girilmi mon_elogin=Webmin sunucusu $1 'deki RPC iin geersiz giri mon_eremote=Webmin sunucusu $1 RPC'yi desteklemiyor mon_err=zleyicinin kaydedilmesinde hata olutu mon_ertype=Bu izleyici tipi $1 'de geerli deil mon_estatus=Webmin sunucusu $1 Sistem ve Sunucu Durumu modlne sahip deil mon_fails=Raporlamadan nceki hata says mon_header=zleyici ayrntlar mon_local=Yerel mon_none=Uzak sunucu tanmlanmam mon_nosched=Zamanlandrlm olarak kontrol edilsin mi? mon_not=Kurulmam mon_ondown=Eer servis kapanrsa, bu komutu altr mon_oninfo=Not: Komutlar sadece e-posta gnderildiinde alacaktr mon_onup=Eer servis alrsa, bu komutu altr mon_remote=Bu makinede altr mon_runon=Komutlarn altrlaca yer mon_runon0=Bu sunucu mon_runon1=Uzak makine mon_status=Mevcut durum mon_timeout=Sre ald mon_up=Ak mon_warn0=Evet, ve kapanyorken e-posta gnder mon_warn1=Evet, ve durum deiirse e-posta gnder mon_warn2=Evet, ve kapanrsa e-posta gnder mon_warn3=Evet, ama asla e-posta gnderme mon_warndef=Evet, ve ntanml e-posta modunu kullan mon_webmin=Webmin Kapal oldfile_diff=Bu sredir deitirilmediyse hata ver oldfile_file=zlecek dosya (deitirilmediyse hata ver) oldfile_secs=san ping_econfig=Modl Yaplandrmasnda ping komutu girilmemi ping_ehost=Makine ad girilmemi ya da yanl girilmi ping_ewait=Bekleme sresi girilmemi ya da yanl girilmi ping_host=Ping atlacak makine ping_wait=Cevap iin beklenecek sre proc_cmd=Kontrol edilecek komut proc_ecmd=Komut girilmemi proc_ethresh=lem says girilmemi ya da yanl girilmi proc_not=Eer ilem bu durumda ise hata ver proc_not0=almyor proc_not1=alyor proc_pid=$1 PID'leri ile alyorsa proc_thresh=lemin alyor kabul edilebilmesi iin ka tane alyor olmas gerekiyor proftpd_etype=Bu izleyici ProFTPD yalnz bana alyorsa kullanlamaz raid_bad=Hatal disk bulundu raid_device=RAID aygt raid_edevice=Bir RAID aygt seilmedi raid_notfound=RAID aygt $1 bulunamad raid_other=Dier.. raid_resync=Senkronize ediliyor refresh_doing=Btn izleyicilerin durumlar yenileniyor .. refresh_done=.. tamamland. refresh_title=Durumu Yenile sched_days=zleyiciyi bu gnlerde altr sched_ecannot=Zamanlandrlm izlemeyi dzenlemek iin izininiz yoktur sched_edays=altracak gnler seilmedi sched_eemail=Eposta adresi girilmemi sched_ehours=alaca saatler seilmemi sched_eint=Aralk girilmemi ya da yanl girilmi sched_email=Durum raporunu buraya e-posta ile gnder sched_eprog=Sendmail modl yaplandrmasnda tanmlanm sendmail program $1 bulunamad sched_err=Zamanlandrlm izlemenin kaydedilmesinde hata olutu sched_esmtp=SMTP sunucusu girilmemi ya da yanl girilmi sched_esmtpcmd=SMTP komutu $1 'de hata olutu : $2 sched_from=Gnderici : e-posta iin adres sched_header=Zamanlandrlm arkaplanda izleme seeneklerde sched_hours=zleyiciyi bu saatlerde altur sched_int=Bu aralklarla kontrol et sched_mode=Zamanlandrlm kontrol aktif mi? sched_none=Hikimseye sched_pager=Durum raporunu bu numaraya mesaj gnder sched_period_0=dakika sched_period_1=saat sched_period_2=gn sched_period_3=ay sched_period_4=hafta sched_single=Servis bana bir e-posta gnderilsin mi? sched_smtp=Postay bu yolla gnder sched_smtp_prog=Yerel sendmail program sched_smtp_server=SMTP sunucusu sched_title=Zamanlandrlm zleme sched_warn=Bu olduunda e-posta gnder sched_warn0=Bir servis kapandnda sched_warn1=Bir servisin durumu deitiinde sched_warn2=Servis herhangi bir zaman kapandnda sensors_cmd=sensors komutu sisteminizde bulunamad. Bu izleyici ilem yapabilmek iin lm_sensors paketine ihtiya duymaktadr. sensors_emax=Maksimum deer girilmemi ya da yanl girilmi sensors_emin=Minimum deer girilmemi ya da yanl girilmi space_desc=$1 bo space_emin=Bo disk alan girilmemi ya da yanl girilmi space_eother=Dosya sistemi girilmemi ya da yanl girilmi space_fs=Kontrol edilecek dosya sistemi space_min=Minimum bo alan (kB) space_nofs=Dosya sistemi bal deil space_other=Dier.. tcp_alarm=Balant gecikme sresi tcp_ealarm=Balant gecikme sresi girilmemi ya da yanl girilmi tcp_ehost=Makine ad girilmemi ya da yanl girilmi tcp_eport=Port numaras girilmemi ya da yanl girilmi tcp_host=Balanlacak makine tcp_port=Balanlacak port traffic_bytes=Maksimum byte/saniye traffic_desc=Bu izleyici seili arayzdeki a trafiini kontrol eder ve arayz kapanrsa ya da trafik girilen saniyedeki byte deerini aarsa durumu kapal olarak gsterir. Bu zellik, zamanlandrlm izleme 5 dakika gibi ksa bir arala ayarlanmsa iyi alr. traffic_dir=zlenecek yn traffic_dir0=Gelen ve giden traffic_dir1=Sadece gelen traffic_dir2=Sadece giden traffic_ebytes=Byte/saniye deeri girilmemi ya da yanl girilmi traffic_eifaces=letim sisteminiz /proc/net/dev dosyasna sahip deil traffic_iface=zlenecek arayz type_apache=Apache Web Sunucusu type_bind8=BIND DNS Sunucusu type_cfengine=Configuration Engine Daemon type_change=Dosya Deiimi type_dhcpd=DHCP Sunucusu type_dnsadmin=BIND 4 DNS Sunucusu type_exec=Komut altrma type_file=Dosya Kontrol type_hostsentry=Hostsentry Daemon type_http=Uzak HTTP Servisi type_iface=A Arayz Durumu type_inetd=ntervet ve RPC Sunucusu type_jabber=Jabber IM Sunucusu type_load=Sistem Yklenme Durumu type_mailserver=Mail Sunucu Cevab type_memory=Kullanlmayan Bellek type_mon=MON Servis zleyici type_mysql=MySQL Veritaban Sunucusu type_nfs=NFS Sunucusu type_oldfile=Dosyann Deimedii type_ping=Uzak Ping type_portsentry=Portsentry Daemon type_postfix=Postfix Sunucusu type_postgresql=PostgreSQL Veritaban Sunucusu type_proc=lem Kontrol type_proftpd=ProFTPD Sunucusu type_qmailadmin=Qmail Sunucusu type_raid=RAID Aygt Durumu type_samba=Samba Sunucular type_sendmail=Sendmail Sunucusu type_space=Disk Alan type_squid=Squid Proxy Sunucusu type_sshd=SSH Sunucusu type_tcp=Uzak TCP Servisi type_traffic=A Trafii type_usermin=Usermin Web Sunucusu type_webmin=Webmin Web Sunucusu type_xinetd=Geniletilmi nternet Sunucusu up_since=$1 'den bu yana ak status/lang/fa0100664000567100000120000003672610421633121013325 0ustar jcameronwheel index_title=وضعيت سيستم و کارساز index_name=نام خدمت index_host=برروي ميزبان index_desc=پايشگري index_up=وضعيت index_last=آخرين بررسي index_local=محلي index_add=افزودن پايشگر از نوع: index_sched=پايشگري زمانبندي شده index_scheddesc=براي روشن يا خاموش کردن پايشگريهاي زمانبندي شده و همچنين تنظيم نشانيهايي که عدم موفقيتها براي آنها پست الکترونيکي شوند استفاده مي‌شود. index_return=فهرست خدمتها index_none=در حال حاضر هيچ پايشگري تعريف ‌نشده‌است. index_oldtime=وضعيت بدست آمده از آخرين بررسي زمانبندي شده در $1 index_esnmp=پيمانه براي ارسال بسته‌هاي SNMP در صفحه پيمانه پيکربندي ، پيکربندي شده‌است اما پيمانه پرل $1 نصب نشده‌است. براي بارگيري و نصب آن اين جا فشار دهيد. index_refresh=بازآوري وضعيت index_refreshdesc=اجرا کردن يک باز آوري فوري از همه وضعيتهاي پايشگر، بجاي انتظار براي به‌هنگام درآوردن زمانبندي شده بعدي. type_apache=کارساز وب آپاچي type_inetd=اينترنت و کارساز RPC type_xinetd=کارساز اينترنت گسترش يافته type_sqUID=کارساز پراکسيSquid type_bind8=کارساز BIND DNS type_dnsadmin=کارساز BIND4 DNS type_dhcpd=کارساز DHCP type_tcp=خدمت راه دور TCP type_http=خدمت راه دور HTTP type_sendmail=کارسازsendmail type_postfix=کارساز Postfix type_ping=ping از راه دور type_proc=بررسي پردازش type_mysql=کارساز پايگاه داده MySQL type_postgresql=کارساز پايگاه داده PostgreSQL type_samba=کارساز سامبا type_nfs=کارساز NFS type_exec=اجراي فرمان type_file=بررسي پرونده type_traffic=عبور و مرور شبكه type_space=فضاي ديسک type_load=ميانگين بارگيري type_change=تغييرات پرونده type_oldfile=پرونده تغيير نکرده type_qmailadmin=کارسازQMail type_mon=پايشگر خدمتMON type_jabber=کارسازJabber IM type_usermin=کارساز وب يوزرمين type_portsentry=درگاه‌هاي ورودي شبح type_hostsentry=ميزبانهاي ورودي شبح type_webmin=کارساز وب وب‌مين type_cfengine=شبح موتور پيکربندي type_memory=حافظه آزاد type_proftpd=کارسازProFTPD type_mailserver=پاسخ کارساز نامه type_sshd=کارسازSSH type_raid=وضعيت دستگاه RAID type_iface=وضعيت واسط شبکه type_sensors=وضعيت سنسور LM type_nut=مقدار NUT UPS **** type_mailq=اندازه صف نامه mon_create=ايجاد پايشگر mon_edit=ويرايش پايشگر mon_header=جزئيات پايشگر mon_desc=شرح mon_remote=ميزبان اجرا mon_local=محلي mon_none=هيچ کارساز راه دوري تعريف نشده‌است mon_nosched=آيا طبق زمانبندي بررسي شود؟ mon_warndef=بله، و از حالت پست الکترونيکي پيش‌گزيده استفاده شود mon_warn1=بله، و در زمان تغيير وضعيت پست الکترونيکي شود mon_warn0=بله، وهنگام غيرفعال شدن پست الکترونيکي شود mon_warn2=بله، وبعد از غيرفعال شدن پست الکترونيکي شود mon_warn3=بله، اما هرگز پست الکترونيکي نشود mon_status=وضعيت جاري mon_up=فعال mon_down=غيرفعال mon_webmin=وب‌مين غيرفعال است mon_timeout=زمان پايان يافت mon_not=نصب نشده‌است mon_ondown=اگر پايشگر غيرفعال شد، فرمان اجرا شود mon_onup=اگر پايشگر فعال شد، فرمان اجرا شود mon_clone=پيمانه براي پايش کردن mon_err=عدم موفقيت در حفظ کردن پايشگر mon_edesc=توصيف يافت نشد mon_elogin=ورود به سيستم براي RPC براي کارساز وب‌مين $1 نامعتبر است. mon_eremote=کارساز $1 وب‌مين RPC را پشتيباني نمي‌کند. mon_estatus=کارساز $1 وب‌مين داراي پيمانه وضعيت کارساز و سيستم نمي‌باشد. mon_ecannot=شما اجازه ويرايش پايشگرها را نداريد mon_ertype=اين نوع پايشگر در $1 قابل دسترس نمي‌باشد. mon_runon=اجراي فرمانها برروي mon_runon0=اين کارساز mon_runon1=ميزبان راه دور mon_oninfo=توجه: فرمانها تنها هنگامي که پست الکترونيکي فرستاده شود اجرا خواهند شد. mon_fails=تعداد عدم موفقيتها قبل از گزارش کردن mon_efails=تعداد عدم موفقيتها نامعتبر است و يا يافت نشد sched_title=پايشگري زمانبندي شده sched_header=گزينه‌هاي پايشگري زمانبندي شده زمينه sched_mode=آيا بررسي زمانبندي شده فعال شود؟ sched_email=پست الکترونيکي گزارش ارسال شود به sched_pager=وضعيت صفحه گزارش شود به عدد sched_none=هيچ کس sched_from=نشاني فرستنده پست الکترونيکي(از) sched_int=بررسي شود هر sched_period_0=دقيقه sched_period_1=ساعت sched_period_2=روز sched_period_3=ماه sched_period_4=هفته sched_offset=با اختلاف sched_warn=پست الکترونيکي هنگامي فرستاده شود که sched_warn1=يک خدمت تغيير وضعيت مي‌دهد sched_warn0=يک خدمت غيرفعال مي‌شود sched_warn2=تا زماني که خدمت غيرفعال است sched_single=آيا براي هر خدمت يک پست الکترونيکي فرستاده شود؟ sched_hours=پايشگر اجرا شود در ساعت sched_days=پايشگر اجرا شود در روز sched_err=عدم موفقيت در حفظ کردن پايشگري زمانبندي شده sched_eemail=نشاني پست الکترونيکي يافت نشد sched_eint=فاصله نامعتبر است و يا يافت نشد sched_eoffset=اختلاف نامعتبر است و يا يافت نشد sched_ehours=هيچ ساعتي جهت اجراي انتخاب نشده‌است sched_edays=هيچ روزي جهت اجراي انتخاب نشده‌است sched_ecannot=شما اجازه ويرايش کردن پايشگري زمانبندي شده را نداريد sched_smtp=نامه فرستاده شود از طريق sched_smtp_prog=sendmail محلي sched_smtp_server=کارساز SMTP sched_esmtp=کارساز SMTP نامعتبر است و يا يافت نشد sched_eprog=برنامه sendmail $1 که در پيکربندي پيمانه sendmail تعريف شده‌است موجود نمي‌باشد. sched_esmtpcmd=عدم موفقيت اجراي فرمان $1 SMTP: $2 up_since=Up since $1***** depends_mod=پيمانه $1 در سيستم شما نصب نشده‌است depends_os=پيمانه $1 توسط سيستم شما پشتيباني نشده‌است depends_remote=پيمانه $1در کارساز $2 پشتيباني نشده‌است tcp_host=ميزبان جهت برقراري ارتباط با آن tcp_port=درگاه جهت برقراري ارتباط با آن tcp_alarm=زمان پايان برقراري ارتباط tcp_ehost=نام ميزبان نامعتبر است ويا يافت نشد tcp_eport=شماره درگاه نامعتبر است و يا يافت نشد tcp_ealarm=زمان پايان برقراري ارتباط نامعتبر است و يا يافت نشد http_url=URL براي درخواست http_alarm=زمان پايان برقراري ارتباط http_eurl=URL نامعتبر است و يا يافت نشد http_ealarm=زمان پايان برقراري ارتباط نامعتبر است و يا يافت نشد http_login=ورود به سيستم به‌عنوان http_none=بدون احراز هويت http_user=اسم‌کاربري http_pass=اسم‌رمز http_euser=اسم‌کاربري نامعتبر است http_method=روش درخواست HTTP ping_host=ميزبان براي ping کردن ping_wait=زمان انتظار براي پاسخ ping_ehost=اسم‌کاربري نامعتبر است و يا يافت نشد ping_ewait=زمان انتظار نامعتبر است و يا يافت نشد ping_econfig=هيچ فرمان ping ي در پيکربندي پيمانه قرار داده نشده‌است proc_pid=اجرا توسط PIDهاي $1 proc_cmd=فرمان براي بررسي کردن proc_not=عدم موفقيت درصورتي که پردازش proc_not0=در حال اجرا نبود proc_not1=در حال اجرا بود proc_ecmd=فرمان يافت نشد proc_thresh=تعداد پردازشهايي که بايد براي پايشگر موجود باشد تااجراي آنها را بررسي کند. proc_ethresh=تعداد پردازشها نامعتبر است و يا يافت نشد exec_cmd=فرماني جهت بررسي وضعيت خروج آن exec_ecmd=فرمان يافت نشد file_file=پرونده جهت بررسي کردن file_test=وضعيت پرونده به منظور کارايي آزمايش شود file_test_0=پرونده بايد وجود داشته باشد file_test_1=پرونده نبايد وجود داشته باشد file_test_2=پرونده بايد بزرگ‌تر باشد از file_test_3=پرونده بايد کوچک‌تر باشد از file_bytes=بايت file_efile=نام پرونده جهت بررسي يافت نشد file_esize=اندازه پرونده نامعتبر است traffic_iface=واسط جهت پايشگري traffic_bytes=بيشينه بايت/ثانيه traffic_dir=تغيير مسير به پايشگر traffic_dir0=وارد شونده و خارج شونده traffic_dir1=تنها وارد شونده traffic_dir2=تنها خارج شونده traffic_desc=اين پايشگر شياري از عبور و مرور شبکه را در واسط انتخاب شده نگه مي‌دارد، و مقدار غيرفعال را درصورتي که ميزان عبور و مرور کمتر از مقدار وارد شده در زير باشد، نشان مي‌دهد. در واقع تنها اگر پايشگري زمانبندي شده در يک فاصله کوتاه قرارداده شده فعال مي‌شود اين به خوبي کار مي‌کند، مانند هر 5 دقيقه. traffic_eifaces=سيستم عامل شما داراي يک پرونده/proc/net/dev نمي‌باشد traffic_ebytes=عدد بايت/ثانيه نامعتبر است و يا يافت نشد space_fs=سيستم پرونده جهت بررسي شدن آن space_min=کمينه فضاي آزاد(به kB) space_desc=$1 آزاد space_nofs=سيستم پرونده سوار نشده‌است space_other=ديگر.. space_emin=فضاي آزاد نامعتبر است و يا يافت نشد space_eother=سيستم پرونده نامعتبر است و يا يافت نشد load_time=ميانگين بارگيري براي بررسي آن load_1=1 دقيقه load_5=5 دقيقه load_15=15 دقيقه load_max=بيشينه ميانگين بارگيري load_emax=بيشينه ميانگين بارگيري نامعتبر است و يا يافت نشد load_ecmd=فرمان uptime در سيستم شما يافت نشد load_efmt=برونداد فرمانuptime نمي‌تواند تجزيه شود log_create=پايشگر $1 ايجاد شد log_modify=پايشگر $1 تغيير کرد log_delete=پايشگر $1 حذف شد log_sched=پايشگري زمانبندي شده تغيير کرد acl_edit=آيا مي‌توان پايشگرها را ويرايش و ايجاد کرد؟ acl_sched=آيا مي‌توان پايشگر زمانبندي شده را تغيير داد؟ change_file=پرونده براي پايشگري (اگر تغيير کند با عدم موفقيت روبرو مي‌شود) jabber_eparser=پيمانه Perl $1 در سيستم شما نصب نشده‌است. memory_min=کمينه حافظه آزاد (به kB) memory_emin=مقدار حافظه آزاد نامعتبر است و يا يافت نشد memory_eproc=وب‌مين نمي‌داند چگونه حافظه آزاد در سيستم عامل شما رابررسي کند memory_free=$1 kB آزاد proftpd_etype=اين پايشگر نمي‌تواند هنگامي که ProFTPD به‌صورت خوداتکا اجرا مي‌شود مورد استفاده قرار گيرد. mailserver_to=پست الکترونيکي فرستاده شود به نشاني mailserver_timeout=زمان پايان و فاصله mailserver_units_0=ثانيه mailserver_units_1=دقيقه mailserver_units_2=ساعت mailserver_units_3=روز mailserver_desc=نشاني پايين بايد به‌صورت پاسخ دهنده خودکار باشد که به نشاني مبدا با همان موضوع پاسخ دهد. oldfile_file=پرونده جهت پايشگري (اگر تغيير نکرد با عدم موفقيت روبرو خواهد شد) oldfile_diff=همراه با عدم موفقيت اگر تغيير نکرد براي oldfile_secs=ثانيه raid_device=دستگاهRAID raid_edevice=هيچ دستگاهRAIDي انتخاب نشد raid_bad=ديسک خراب کشف شد raid_resync=هر حال همزمان سازي raid_notfound=دستگاه $1RAID يافت نشد raid_other=ديگر.. iface_iface=واسط جهت بررسي refresh_title=بازآوري وضعيت refresh_doing=در حال بازآوري وضعيت تمام پايشگرها.. refresh_done=..انجام شد. sensors_name=سنسور جهت بررسي sensors_value=عدم موفقيت هنگامي که sensors_value0=سيستم اخطارها را نشان دهد sensors_value1=مقدار پايين $1 مي‌باشد sensors_value2=مقدار بالاي $1 مي‌باشد sensors_cmd=فرمان sensors در سيستم شما نصب نشده‌است. اين پايشگر نياز دارد تا بسته lm_sensors دارد جهت عمل کردن نصب شود. sensors_none=هيچ سنسوري در سيستم شما کشف نشد. شما ممکن است نياز به اجراي فرمان مقداردهي اوليه sensors-detect داشته باشيد. sensors_cur=$1 (در حال حاضر $2 $3) sensors_emin=مقدار کمينه نامعتبر است و يا يافت نشد sensors_emax=مقدار بيشينه نامعتبر است و يا يافت نشد nut_ups=NUT UPS جهت بررسي nut_name=خصيصه جهت بررسي کردن nut_value=عدم موفقيت هنگامي که nut_value1=مقدار پايين $1 مي‌باشد nut_value2=مقدار بالاي $1 مي‌باشد nut_cmd=فرمان upsc در سيستم شما نصب نشده‌است اين پايشگر نياز به بسته NUT دارد تا جهت اجرا شدن نصب و پيکربندي شود. nut_cur=$1 (در حال حاضر $2) nut_emin=مقدار کمينه نامعتبر است و يا يافت نشد nut_emax=مقدار بيشينه نامعتبر است و يا يافت نشد mailq_system=کارساز نامه mailq_qmailadmin=Qmail mailq_postfix=پسوند mailq_sendmail=Sendmail mailq_size=بيشينه اندازه صف نامه mailq_esize=بيشينه اندازه صف نامعتبر است و يا يافت نشد mailq_toomany=غيرفعال - $1 پيام صفبندي شد mailq_ok=فعال - $1 پيام صفبندي شد status/lang/uk_UA0100664000567100000120000001620410374465507013752 0ustar jcameronwheelmon_none= ping_host= mon_webmin=Webmin type_qmailadmin= QMail type_postfix= Postfix mon_edesc= ³ mon_status= type_inetd= Internet RPC space_nofs= sched_offset= mon_not= memory_eproc=Webmin ' proc_ecmd= sched_eint= index_local= file_test_0= file_test_1= file_test_2= index_last= load_ecmd= uptime file_test_3= sched_ecannot= sched_smtp= tcp_alarm= ' memory_emin= ' sched_mode= ? mon_desc= file_esize= up_since= $1 type_dnsadmin= DNS BIND 4 index_oldtime= , $1 mon_remote= space_fs= , sched_edays= sched_err= space_desc=$1 memory_min=̳ ' ( ) ping_ehost=' mon_ecannot= ping_econfig= (ping) sched_int= index_sched= sched_hours= sched_none=ͳ mon_local= http_user=' http_alarm= ' depends_mod= $1 mon_runon0= type_http= HTTP mon_runon1= load_max= acl_sched= ? log_sched= memory_free=$1 type_webmin= Webmin type_usermin= Usermin acl_edit= ? log_create= $1 sched_warn= mon_edit= type_ping= (Ping) tcp_ealarm= ' proc_cmd= sched_period_0= jabber_eparser= $1 Perl . sched_period_1= sched_period_2= sched_period_3= sched_period_4= http_pass= index_up= index_none= . load_efmt= uptime proc_not0= proc_not1= file_efile=' type_file= sched_smtp_prog= sendmail exec_cmd=, mon_onup= traffic_eifaces= ~~33536 /proc/net/dev mon_elogin= RPC Webmin $1 type_change= change_file= , ³ sched_from= From: type_postgresql= PostgreSQL load_15=15 traffic_iface= , ³ type_exec= mon_ondown= index_host= index_desc= load_emax= http_eurl=URL file_bytes= http_euser=' depends_remote= $1 $2 http_none= type_space= type_samba= Samba sched_esmtpcmd= SMTP $1 : $2 sched_pager= type_bind8= DNS BIND mon_runon= mon_nosched= ? log_delete= $1 sched_warn0= sched_warn1= type_mon= MON sched_warn2=, type_mysql= MySQL mon_down= sched_title= http_login= ' sched_esmtp= SMTP type_portsentry= Portsentry space_other=.. index_title= mon_create= type_apache=- Apache sched_smtp_server= SMTP sched_days= type_traffic= mon_ertype= $1 sched_eemail= space_eother= type_tcp= TCP type_memory=³ ' type_cfengine= Configuration Engine tcp_eport= tcp_ehost=' sched_eoffset= type_jabber= Jabber file_file= , depends_os= $1 type_xinetd= Internet (xinetd) mon_warn0=, space_emin=³ mon_warn1=, traffic_desc= . , . , , 5 . mon_warn2=, , type_squid=- Squid index_name= traffic_ebytes=ʳ traffic_bytes= index_return= ping_wait= load_1=1 proc_pid= PID $1 type_load= load_5=5 traffic_dir= , mon_header= type_nfs= NFS type_dhcpd= DHCP sched_single= ? type_sendmail= Sendmail tcp_port= tcp_host= mon_clone= , ³ exec_ecmd= type_hostsentry= Hostsentry mon_estatus= Webmin $1 sched_header= http_ealarm= ' proc_not= , type_proc= mon_up= space_min=̳ ( ) file_test= load_time= sched_email=³ ping_ewait= mon_err= mon_eremote= Webmin $1 RPC traffic_dir0= traffic_dir1=ҳ traffic_dir2=ҳ log_modify= $1 sched_ehours= http_url= URL index_add= : status/lang/zh_TW.UTF-80100664000567100000120000001604110420075005014560 0ustar jcameronwheelacl_edit=可以編輯、建立監控嗎? acl_sched=可以變更定時的監控嗎? change_file=要監控的檔案 depends_mod=您的系統沒有安裝模組 $1 depends_os=您的系統不支援模組 $1 depends_remote=伺服器 $2 不支援模組 $1 exec_cmd=檢查退出狀態的命令 exec_ecmd=未輸入命令 file_bytes=位元組 file_efile=未輸入要檢查的檔案名稱 file_esize=無效的檔案大小 file_file=要檢查的檔案 file_test=要執行的測試 file_test_0=檔案必須存在 file_test_1=檔案必須不存在 file_test_2=檔案必須大於 file_test_3=檔案必須小於 http_alarm=連接逾時 http_ealarm=未輸入或無效的連接逾時 http_eurl=未輸入或無效的 URL http_euser=未輸入使用者名稱 http_login=登錄 http_method=HTTP請求方式 http_none=不需驗證 http_pass=密碼 http_url=要求 URL http_user=使用者名稱 index_add=增加監控的類型: index_desc=監控 index_host=在主機上 index_last=最近的檢查 index_local=本地 index_name=服務名稱 index_none=目前沒有被禁用的監控。 index_oldtime=$1 中的最近的定時檢查狀態 index_return=服務列表 index_sched=定時監控 index_title=系統和伺服器的狀態 index_up=狀態 jabber_eparser=你的系統沒有安裝 Perl 模組 $1。 load_1=1分鐘 load_15=15分鐘 load_5=5分鐘 load_ecmd=在你的系統中未找到 uptime 命令 load_efmt=無法解析 uptime 輸出命令 load_emax=未輸入或無效的最大平均負載 load_max=最大的平均負載 load_time=要檢查的平均負載 log_create=建立監控 $1 log_delete=刪除監控 $1 log_modify=修改監控 $1 log_sched=已變更定時的監控 mailserver_desc=下列位置必須為自動回覆給來源位置和同樣的主題列 mailserver_timeout=逾時與間隔 mailserver_to=傳送email至 mailserver_units_0=秒 mailserver_units_1=分 mailserver_units_2=時 mailserver_units_3=日 memory_emin=未輸入或無效可用記憶體總計 memory_eproc=Webmin不知道如何檢查您作業系統的可用記憶體 memory_free=$1 kB可用 memory_min=最小可用記憶體(kB) mon_clone=監控的模組 mon_create=建立監控 mon_desc=描述 mon_down=終止 mon_ecannot=你不被允許編輯監控 mon_edesc=未輸入描述 mon_edit=編輯監控 mon_elogin=錯誤的RPC登入在Webmin伺服器$1 mon_eremote=Webmin 伺服器 $1 不支援 RPC mon_err=儲存監控失敗 mon_ertype=無法使用監控類型$1 mon_estatus=Webmin伺服器$1沒有系統和伺服器的狀態模組 mon_header=監控描述 mon_local=本地 mon_none=沒有已定義的遠端伺服器 mon_nosched=定時檢查? mon_not=沒有安裝 mon_ondown=如果監控關閉,執行命令 mon_onup=如果監控開啟,執行命令 mon_remote=在主機上執行 mon_runon=執行指令在 mon_runon0=本地伺服器 mon_runon1=遠端伺服器 mon_status=目前狀態 mon_timeout=逾時 mon_up=啟動 mon_warn0=是,當變差時寄信 mon_warn1=是,當狀態改變時寄信 mon_warn2=是,當停止時寄信 mon_warn3=是,但不寄信 mon_warndef=是,使用預設寄信模式 mon_webmin=Webmin 處於終止狀態 oldfile_diff=失敗 如果未變更給 oldfile_file=檔案監控(失敗,如果未變更) oldfile_secs=秒 ping_econfig=模組組態沒有設定ping指令 ping_ehost=未輸入或無效的主機名稱 ping_ewait=未輸入或無效的等待時間 ping_host=要 ping 的主機 ping_wait=等待回應的時間 proc_cmd=要檢查的命令 proc_ecmd=未輸入命令 proc_ethresh=未輸入或無效程序數量 proc_not=失敗如果程序是 proc_not0=未執行 proc_not1=執行中 proc_pid=以 PID $1 執行 proc_thresh=監控執行的程序數量必須存在 proftpd_etype=此監控程式無法使用在ProFTPD為獨立情況下 sched_days=以每天為單位執行監控 sched_ecannot=你沒有編輯定時監控的許可權 sched_edays=未選擇要執行的時間單位--天 sched_eemail=未輸入電子郵件位址 sched_ehours=未選擇要執行的時間單位--小時 sched_eint=未輸入或無效的間隔 sched_email=將 Email 狀態報告至 sched_eoffset=未輸入或無效的偏移量 sched_eprog=sendmail程式$1定義在Sendmail組態中不存在 sched_err=無法儲存定時監控 sched_esmtp=未輸入或無效的 SMTP 伺服器 sched_esmtpcmd=SMTP 命令 $1 失敗 : $2 sched_from=電子郵件的 發件人: 地址 sched_header=定時後臺監控選項 sched_hours=以小時為單位執行監控 sched_int=檢查每 sched_mode=是否啟用定時監控? sched_none=無 sched_offset=帶有偏移量 sched_pager=標明狀態報告的頁數 sched_period_0=分鐘 sched_period_1=小時 sched_period_2=天 sched_period_3=月 sched_period_4=星期 sched_single=每服務一次都發送電子郵件? sched_smtp=發送電子郵件通過 sched_smtp_prog=本地 sendmail 可執行檔 sched_smtp_server=SMTP 伺服器 sched_title=定時的監控 sched_warn=何時發送電子郵件 sched_warn0=當服務結束時 sched_warn1=當服務改變狀態時 sched_warn2=任何時間服務是停止的 space_desc=$1 未用 space_emin=未輸入或無效的未用空間 space_eother=未輸入或無效的檔案系統 space_fs=要檢查的檔案系統 space_min=最小的未用空間 (kB) space_nofs=未掛載檔案系統 space_other=其他.. tcp_alarm=連接逾時 tcp_ealarm=未輸入或無效的連接逾時 tcp_ehost=未輸入或無效的主機名稱 tcp_eport=未輸入或無效的埠號 tcp_host=要連接至的主機 tcp_port=要連接至的埠號 traffic_bytes=每秒最大的位元組數 traffic_desc=該監控功能可以將網路通信量的記錄儲存到選定的介面上,如果通信量超過下面輸入的每秒傳輸的位元組數,系統就會顯示監控。如果將預定的監控設置為每過很短的時間間隔就啟動一次──例如每五分鐘,系統才會正常運作。 traffic_dir=監控的方向 traffic_dir0=接收郵件的與發送郵件 traffic_dir1=僅用於接收郵件 traffic_dir2=僅用於發送郵件 traffic_ebytes=未輸入或失效的位元組數/每秒 traffic_eifaces=你的系統沒有 /proc/net/dev 檔案 traffic_iface=要監控的介面 type_apache=Apache網頁伺服器 type_bind8=BIND DNS 伺服器 type_cfengine=組態引擎守護程序 type_change=檔案變更 type_dhcpd=DHCP 伺服器 type_dnsadmin=BIND 4 DNS 伺服器 type_exec=執行命令 type_file=檢查檔 type_hostsentry=Hostsentry 守護程序 type_http=遠端 HTTP 服務 type_inetd=網際網路服務 type_jabber=Jabber IM 伺服器 type_load=平均負載 type_mailserver=郵件伺服器回應 type_memory=可用記憶體 type_mon=MON 服務監控 type_mysql=MySQL資料庫伺服器 type_nfs=NFS 伺服器 type_oldfile=檔案未變更 type_ping=遠端 Ping type_portsentry=Portsentry 守護程序 type_postfix=Postfix伺服器 type_postgresql=PostgreSQL資料庫伺服器 type_proc=檢查程序 type_proftpd=ProFTPD伺服器 type_qmailadmin=Qmail 伺服器 type_samba=Samba伺服器 type_sendmail=Sendmail伺服器 type_space=磁碟空間 type_squid=Squid 代理伺服器 type_sshd=SSH伺服器 type_tcp=遠端 TCP 伺服器 type_traffic=網路通信量 type_usermin=Usermin 網頁伺服器 type_webmin=Webmin 網頁伺服器 type_xinetd=延伸網路伺服器 up_since=自 $1 啟動 status/lang/zh_CN.UTF-80100664000567100000120000001344310420075005014531 0ustar jcameronwheelindex_title=系统和服务器的状态 index_name=服务名称 index_host=在主机上 index_desc=监视 index_up=状态 index_last=最近的检查 index_local=本地 index_add=增加监视的类型: index_sched=定时监视 index_return=服务列表 index_none=目前没有被禁用的监视。 index_oldtime=$1 中的最近的定时检查状态 type_apache=Apache Web 服务器 type_inetd=Internet 和 RPC 服务器 type_xinetd=扩展 Internet 服务器 type_squid=Squid 代理服务器 type_bind8=BIND DNS 服务器 type_dnsadmin=BIND 4 DNS 服务器 type_dhcpd=DHCP 服务器 type_tcp=远程 TCP 服务器 type_http=远程 HTTP 服务 type_sendmail=Sendmail 服务器 type_postfix=Postfix 服务器 type_ping=远程 Ping type_proc=检查进程 type_mysql=MySQL 数据库服务器 type_postgresql=PostgreSQL 数据库服务器 type_samba=Samba 服务器 type_nfs=NFS 服务器 type_exec=执行命令 type_file=检查文件 type_traffic=网络通信量 type_space=磁盘空间 type_load=平均负载 type_change=文件变更 type_qmailadmin=Qmail 服务器 type_mon=MON 服务监视 type_jabber=Jabber IM 服务器 type_usermin=Usermin Web 服务器 type_portsentry=Portsentry 守护进程 type_hostsentry=Hostsentry 守护进程 type_webmin=Webmin Web 服务器 type_cfengine=配置引擎守护进程 mon_create=创建监视 mon_edit=编辑监视 mon_header=监视详述 mon_desc=描述 mon_remote=在主机上运行 mon_local=本地 mon_none=没有已定义的远程服务器 mon_nosched=定时检查? mon_status=当前状态 mon_up=启动 mon_down=终止 mon_webmin=Webmin 处于终止状态 mon_not=没有安装 mon_ondown=如果监视关闭,运行命令 mon_onup=如果监视开启,运行命令 mon_clone=监视的模块 mon_err=保存监视失败 mon_edesc=未输入描述 mon_elogin=在 Webmin 服务器 $1 上无效的 RPC 登录 mon_eremote=Webmin 服务器 $1 不支持 RPC mon_estatus=Webmin 服务器 $1 没有该系统和服务器状态模块 mon_ecannot=你没有编辑监视的权限 mon_ertype=$1 上该监视类型不可用 sched_title=定时的监视 sched_header=定时后台监视选项 sched_mode=是否启用定时监视? sched_email=将 Email 状态报告至 sched_pager=标明状态报告的页数 sched_none=无人 sched_from=电子邮件的 发件人: 地址 sched_int=检查每 sched_period_0=分钟 sched_period_1=小时 sched_period_2=天 sched_period_3=月 sched_period_4=星期 sched_offset=带有偏移量 sched_warn=何时发送电子邮件 sched_warn1=当服务改变状态时 sched_warn0=当服务结束时 sched_single=每服务一次都发送电子邮件? sched_hours=以小时为单位执行监视 sched_days=以每天为单位执行监视 sched_err=无法保存定时监视 sched_eemail=未输入电子邮件地址 sched_eint=未输入或无效的间隔 sched_eoffset=未输入或无效的偏移量 sched_ehours=未选择要运行的时间单位--小时 sched_edays=未选择要运行的时间单位--天 sched_ecannot=你没有编辑定时监视的权限 sched_smtp=发送电子邮件通过 sched_smtp_prog=本地 sendmail 可执行文件 sched_smtp_server=SMTP 服务器 sched_esmtp=未输入或无效的 SMTP 服务器 sched_esmtpcmd=SMTP 命令 $1 失败 : $2 up_since=自 $1 启动 depends_mod=您的系统没有安装模块 $1 depends_os=您的系统不支持模块 $1 depends_remote=服务器 $2 不支持模块 $1 tcp_host=要连接至的主机 tcp_port=要连接至的端口 tcp_alarm=连接超时 tcp_ehost=未输入或无效的主机名 tcp_eport=未输入或无效的端口号 tcp_ealarm=未输入或无效的连接超时 http_url=要求 URL http_alarm=连接超时 http_eurl=未输入或无效的 URL http_ealarm=未输入或无效的连接超时 http_login=登录 http_none=不需验证 http_user=用户名 http_pass=口令 http_euser=未输入用户名 ping_host=要 ping 的主机 ping_wait=等待回应的时间 ping_ehost=未输入或无效的主机名 ping_ewait=未输入或无效的等待时间 ping_econfig=在“模块配置”中没有设置 ping 命令 proc_pid=以 PID $1 运行 proc_cmd=要检查的命令 proc_ecmd=未输入命令 exec_cmd=检查退出状态的命令 exec_ecmd=未输入命令 file_file=要检查的文件 file_test=要执行的测试 file_test_0=文件必须存在 file_test_1=文件必须不存在 file_test_2=文件必须大于 file_test_3=文件必须小于 file_bytes=字节 file_efile=未输入要检查的文件名 file_esize=无效的文件尺寸 traffic_iface=要监视的界面 traffic_bytes=每秒最大的字节数 traffic_dir=监视的方向 traffic_dir0=接收邮件的与发送邮件 traffic_dir1=仅用于接收邮件 traffic_dir2=仅用于发送邮件 traffic_desc=该监视功能可以将网络通信量的记录保存到选定的界面上,如果通信量超过下面输入的每秒传输的字节数,系统就会显示监视。如果将预定的监视设置为每过很短的时间间隔就启动一次──例如每五分钟,系统才会正常运作。 traffic_eifaces=你的系统没有 /proc/net/dev 文件 traffic_ebytes=未输入或失效的字节数/每秒 space_fs=要检查的文件系统 space_min=最小的未用空间 (kB) space_desc=$1 未用 space_nofs=未挂载文件系统 space_other=其他.. space_emin=未输入或无效的未用空间 space_eother=未输入或无效的文件系统 load_time=要检查的平均负载 load_1=1分钟 load_5=5分钟 load_15=15分钟 load_max=最大的平均负载 load_emax=未输入或无效的最大平均负载 load_ecmd=在你的系统中未找到 uptime 命令 load_efmt=无法解析 uptime 输出命令 log_create=创建了监视 $1 log_modify=修改了监视 $1 log_delete=删除了监视 $1 log_sched=已变更定时的监视 acl_edit=可以编辑、创建监视吗? acl_sched=可以变更定时的监视吗? change_file=要监视的文件 jabber_eparser=你的系统没有安装 Perl 模块 $1。 status/lang/ja_JP.UTF-80100664000567100000120000002305310420075005014511 0ustar jcameronwheelacl_edit=モニタの作成と編集を許可しますか? acl_sched=スケジュールされたモニタリングの変更を許可しますか? change_file=監視するファイル(変更すると失敗します) depends_mod=モジュール $1 がシステムにインストールされていません depends_os=モジュール $1 がシステムでサポートされていません depends_remote=モジュール $1はサーバ $2 でサポートされていません exec_cmd=存在ステータスを調べるコマンド exec_ecmd=コマンドがありません file_bytes=バイト file_efile=調べるファイル名がありません file_esize=無効なファイル サイズ file_file=検査するファイル file_test=動作をテスト file_test_0=ファイルがあります file_test_1=ファイルがありません file_test_2=ファイルは次より大きいです file_test_3=ファイルは次より小さいです http_alarm=接続タイムアウト http_ealarm=接続タイムアウトがないか無効です http_eurl=URL がないか無効です http_euser=ユーザ名が見付かりません http_login=次のユーザとしてログイン http_method=HTTPリクエストメソッド http_none=認証しない http_pass=パスワード http_url=要請する URL http_user=ユーザ名 index_add=モニタの種類を追加: index_desc=モニタ中 index_host=ホスト index_last=最終チェック index_local=ローカル index_name=サービス名 index_none=定義された監視項目がありません index_oldtime=$1にスケジュール実行された最後のチェックによるステータス index_return=サービス リスト index_sched=スケジュールされたモニタ index_title=システムとサービスのステータス index_up=ステータス jabber_eparser=Perlモジュール $1 はインストールされていません load_1=1分 load_15=15分 load_5=5分 load_ecmd=uptimeコマンドがシステム上に見付かりません load_efmt=uptimeコマンドの出力が解析できません load_emax=負荷平均の最大値が無効です load_max=負荷平均の最大値 load_time=チェックする負荷平均 log_create=監視項目 $1 が作成されました log_delete=監視項目 $1 が削除されました log_modify=監視項目 $1 が変更されました log_sched=スケジュール済み監視項目が変更されました mailserver_desc=以下のアドレスは送信元に対し同じ件名を自動返信できる必要があります。 mailserver_timeout=タイムアウトと間隔 mailserver_to=email送信先アドレス mailserver_units_0=秒 mailserver_units_1=分 mailserver_units_2=時間 mailserver_units_3=日 memory_emin=不正な空きメモリ量です memory_eproc=Webminはこのシステムの空きメモリのチェック方法を知りません memory_free=$1 kBの空き memory_min=空きメモリの最小値 (単位kB) mon_clone=モニタするモジュール mon_create=モニタを作成 mon_desc=説明 mon_down=ダウン mon_ecannot=監視項目を編集する権限がありません mon_edesc=説明がありません mon_edit=モニタを編集 mon_elogin=Webmin サーバ $1 で RPC へのログインが無効です mon_eremote=Webmin サーバ $1 は RPC をサポートしません mon_err=モニタを保存できませんでした mon_ertype=この監視タイプは $1 に使用できません mon_estatus=Webmin サーバ $1 にはシステムとサーバのステータス モジュールがありません mon_header=モニタの詳細 mon_local=ローカル mon_none=定義されたリモート サーバがありません mon_nosched=スケジュールを調べますか? mon_not=インストールされていません mon_ondown=モニタがダウンした場合、コマンドを実行 mon_onup=モニタが動作を開始した場合、コマンドを実行 mon_remote=ホストで実行 mon_runon=コマンドを実行する mon_runon0=このサーバ mon_runon1=リモートホスト mon_status=現在のステータス mon_timeout=タイムアウトしました mon_up=動作中 mon_warn0=はい、ダウンする時にはemailします mon_warn1=はい、ステータス変更時にはemailします mon_warn2=はい、ダウン時にはemailします mon_warn3=はい、emailはしません mon_warndef=はい、デフォルトのemailモードを使用します mon_webmin=Webmin ダウン oldfile_diff=変更が無い場合には失敗する oldfile_file=監視するファイル (変更が無い場合には失敗する) oldfile_secs=秒 ping_econfig=モジュール設定で ping コマンドが設定されていません ping_ehost=ホスト名がないか無効です ping_ewait=不正な待ち時間です ping_host=ping するホスト ping_wait=応答を待つ時間 proc_cmd=検査するコマンド proc_ecmd=コマンドがありません proc_ethresh=無効なプロセス数です proc_not=プロセスが次の状態の場合失敗とみなす proc_not0=稼働中でない proc_not1=稼働中である proc_pid=PID $1 で実行中 proc_thresh=モニターが、それらが稼働中であることを考慮するために存在するに違いないプロセスの数 proftpd_etype=この監視項目はProFTPDがスタンドアロンで稼働している場合には使用できません sched_days=モニタを実行する日 sched_ecannot=スケジュール済み監視項目を編集する権限がありません sched_edays=選択した期間には実行する日がありません sched_eemail=E メール アドレスがありません sched_ehours=選択した期間には実行する時間がありません sched_eint=間隔がないか無効です sched_email=E メール ステータス レポート先 sched_eoffset=オフセットがないか無効です sched_eprog=sendmailモジュール設定で定義したsendmailコマンド $1 が存在しません sched_err=スケジュールされたモニタを保存できませんでした sched_esmtp=無効なSMTPサーバです sched_esmtpcmd=SMTPコマンド $1 は失敗しました : $2 sched_from=次の E メール アドレスから:E メールのアドレス sched_header=バックグラウンド モニタリング オプションのスケジュール sched_hours=モニタを実行する時間 sched_int=検査の単位 sched_mode=スケジュールされた検査を有効にしますか? sched_none=全員拒否 sched_offset=オフセット sched_pager=ページ状況報告する番号 sched_period_0=分 sched_period_1=時間 sched_period_2=日 sched_period_3=月 sched_period_4=週 sched_single=各サービスごとに 1 通の E メールを送信しますか? sched_smtp=メールの送信方法 sched_smtp_prog=ローカルにある sendmailコマンド sched_smtp_server=SMTPサーバ sched_title=スケジュールされたモニタ sched_warn=警告 E メールを送信 sched_warn0=サービスがダウンした場合 sched_warn1=サービスがステータスを変更した場合 sched_warn2=サービスがダウンしている時はいつでも space_desc=$1 kBの空き space_emin=無効な空き領域です space_eother=無効なファイルシステムです space_fs=チェックするファイルシステム space_min=最小の空き領域 (単位kB) space_nofs=ファイルシステムがマウントされていません space_other=その他.. tcp_alarm=接続タイムアウト tcp_ealarm=接続タイムアウトがないか無効です tcp_ehost=ホスト名がないか無効です tcp_eport=ポート番号がないか無効です tcp_host=接続するホスト tcp_port=接続するポート traffic_bytes=最大の バイト/秒 traffic_desc=このモニタは選択されたインタフェイスのネットワークトラフィックを追跡し、1秒あたりに受信するバイト数が入力された値を上回った場合にダウンしているとみなし表示します。このモニタは、5分毎程度の短い間隔のスケジュールにより監視した場合にのみ効果的に監視します。 traffic_dir=監視する方向性 traffic_dir0=着信及び送出 traffic_dir1=着信のみ traffic_dir2=送出のみ traffic_ebytes=バイト/秒の値が無効です traffic_eifaces=このOSにはファイル /proc/net/dev がありません traffic_iface=監視するインタフェイス type_apache=Apache Webserver type_bind8=BIND DNS サーバ type_cfengine=コンフィグエンジンデーモン type_change=ファイル変更 type_dhcpd=DHCP サーバ type_dnsadmin=BIND 4 DNS サーバ type_exec=コマンドを実行 type_file=ファイルを検査 type_hostsentry=Hostsentry デーモン type_http=リモートHTTP サービス type_inetd=インターネットと RPC サーバ type_jabber=Jabber IMサーバ type_load=負荷平均 type_mailserver=メールサーバの応答 type_memory=空きメモリ type_mon=MON サービスモニタ type_mysql=MySQL データベース サーバ type_nfs=NFS サーバ type_oldfile=ファイルは変更されていません type_ping=リモート Ping type_portsentry=Portsentryデーモン type_postfix=Postfix サーバ type_postgresql=PostgreSQL データベース サーバ type_proc=プロセスを検査 type_proftpd=ProFTPDサーバ type_qmailadmin=QMailサーバ type_samba=Samba サーバ type_sendmail=sendmail サーバ type_space=ディスクスペース type_squid=Squid プロキシ サーバ type_sshd=SSHサーバ type_tcp=リモート TCP サービス type_traffic=ネットワークトラフィック type_usermin=Usermin Webサーバ type_webmin=Webmin Webサーバ type_xinetd=拡張インターネット サーバ up_since=$1 からずっと動作中 status/lang/ko_KR.UTF-80100664000567100000120000000751610420075005014541 0ustar jcameronwheelindex_title=獣什奴 貢 辞獄 雌殿 index_name=辞搾什 戚硯 index_host=硲什闘拭辞 index_desc=乞艦斗元 index_up=雌殿 index_local=稽鎮 index_add=蓄亜拝 乞艦斗 政莫: index_sched=森鉦吉 乞艦斗元 index_return=辞搾什 鯉系 type_apache=Apache 瀬 辞獄 type_inetd=昔斗掛 貢 RPC 辞獄 type_xinetd=溌舌 昔斗掛 辞獄 type_squid=Squid 覗系獣 辞獄 type_bind8=BIND DNS 辞獄 type_dnsadmin=BIND 4 DNS 辞獄 type_dhcpd=DHCP 辞獄 type_tcp=据維 TCP 辞搾什 type_http=据維 HTTP 辞搾什 type_sendmail=Sendmail 辞獄 type_postfix=Postfix 辞獄 type_ping=据維 Ping type_proc=伊紫 覗稽室什 type_mysql=MySQL 汽戚斗今戚什 辞獄 type_postgresql=PostgreSQL 汽戚斗今戚什 辞獄 type_samba=Samba 辞獄 type_nfs=NFS 辞獄 type_exec=誤敬 叔楳 type_file=督析 伊紫 mon_create=乞艦斗 拙失 mon_edit=乞艦斗 畷増 mon_header=乞艦斗 室採 舛左 mon_desc=竺誤 mon_remote=硲什闘拭辞 叔楳 mon_local=稽鎮 mon_none=舛税吉 据維 辞獄亜 蒸柔艦陥 mon_nosched=森鉦廃 企稽 伊紫杯艦猿? mon_status=薄仙 雌殿 mon_up=拙疑 mon_down=陥錘 mon_not=竺帖 照喫 mon_ondown=乞艦斗亜 陥錘鞠檎 誤敬聖 叔楳馬淑獣神 mon_onup=乞艦斗亜 拙疑馬檎 誤敬聖 叔楳馬淑獣神 mon_clone=乞艦斗拝 乞汲 mon_err=乞艦斗研 煽舌馬走 公梅柔艦陥 mon_edesc=竺誤 蒸製 mon_elogin=Webmin 辞獄 $1税 RPC拭 企廃 稽益昔戚 設公鞠醸柔艦陥 mon_eremote=Webmin 辞獄 $1戚(亜) RPC研 走据馬走 省柔艦陥 mon_estatus=Webmin 辞獄 $1拭 獣什奴 貢 辞獄 雌殿 乞汲戚 蒸柔艦陥 sched_title=森鉦吉 乞艦斗元 sched_header=森鉦吉 拷益虞錘球 乞艦斗元 辛芝 sched_mode=森鉦吉 伊紫研 紫遂 亜管馬惟 杯艦猿? sched_email=雌殿 左壱辞研 穿切 五析稽 閤聖 企雌 sched_none=蒸製 sched_from=降重切: 穿切 五析 爽社 sched_int=乞砧 識澱 sched_period_0=歳 sched_period_1=獣 sched_period_2=析 sched_period_3=杉 sched_period_4=爽 sched_offset=神覗実 赤製 sched_warn=穿切 五析聖 左馨 獣奄 sched_warn1=辞搾什 雌殿 痕井 獣 sched_warn0=辞搾什 陥錘 獣 sched_single=唖 辞搾什原陥 馬蟹税 穿切 五析聖 左垣艦猿? sched_hours=乞艦斗 叔楳 奄娃(獣) sched_days=乞艦斗 叔楳 奄娃(析) sched_err=森鉦吉 乞艦斗元聖 煽舌馬走 公梅柔艦陥 sched_eemail=蒸澗 穿切 五析 爽社 sched_eint=蒸暗蟹 設公吉 娃維 sched_eoffset=蒸暗蟹 設公吉 神覗実 sched_ehours=識澱廃 叔楳 奄娃(獣)戚 蒸柔艦陥 sched_edays=叔楳 奄娃(析)聖 識澱馬走 省紹柔艦陥 up_since=$1 戚板 拙疑 depends_mod=獣什奴拭 乞汲 $1戚(亜) 竺帖鞠嬢 赤走 省柔艦陥 depends_os=獣什奴拭辞 乞汲 $1戚(亜) 走据鞠走 省柔艦陥 depends_remote=辞獄 $2拭辞 乞汲 $1戚(亜) 走据鞠走 省柔艦陥 tcp_host=尻衣拝 硲什闘 tcp_port=尻衣拝 匂闘 tcp_alarm=尻衣 獣娃 段引 tcp_ehost=蒸暗蟹 設公吉 硲什闘 戚硯 tcp_eport=蒸暗蟹 設公吉 匂闘 腰硲 tcp_ealarm=蒸暗蟹 設公吉 尻衣 獣娃 段引 http_url=推短拝 URL http_alarm=尻衣 獣娃 段引 http_eurl=蒸暗蟹 設公吉 URL http_ealarm=蒸暗蟹 設公吉 尻衣 獣娃 段引 ping_host=Ping拝 硲什闘 ping_ehost=蒸暗蟹 設公吉 硲什闘 戚硯 ping_econfig=乞汲 姥失拭 竺舛吉 Ping 誤敬戚 蒸柔艦陥 proc_pid=PID $1聖(研) 紫遂馬食 叔楳 掻 proc_cmd=伊紫拝 誤敬 proc_ecmd=蒸澗 誤敬 exec_cmd=曽戟 雌殿研 伊紫拝 誤敬 exec_ecmd=蒸澗 誤敬 file_file=伊紫拝 督析 file_test=呪楳拝 砺什闘 file_test_0=督析戚 赤柔艦陥 file_test_1=督析戚 蒸柔艦陥 file_test_2=督析戚 陥製左陥 溺艦陥 file_test_3=督析戚 陥製左陥 拙柔艦陥 file_bytes=郊戚闘 file_efile=伊紫拝 督析 戚硯戚 蒸柔艦陥 file_esize=督析 滴奄亜 設公鞠醸柔艦陥 status/inetd-monitor.pl0100664000567100000120000000061707635047775015241 0ustar jcameronwheel# inetd-monitor.pl # Monitor inetd on this host sub get_inetd_status { return { 'up' => -1 } if (!&foreign_check("proc")); &foreign_require("proc", "proc-lib.pl"); local %iconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-r $iconfig{'inetd_conf_file'}); return { 'up' => &find_named_process('inetd$') ? 1 : 0 }; } sub parse_inetd_dialog { &depends_check($_[0], "inetd", "proc"); } 1; status/squid-monitor.pl0100664000567100000120000000155510553215147015244 0ustar jcameronwheel# squid-monitor.pl # Monitor the squid server on this host # Check the PID file to see if squid is running sub get_squid_status { return { 'up' => -1 } if (!&foreign_check($_[1])); &foreign_require($_[1], "squid-lib.pl"); return { 'up' => -1 } if (!&foreign_check($_[1])); local %sconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-r $sconfig{'squid_conf'}); local $conf = &foreign_call($_[1], "get_config"); local $str = &foreign_call($_[1], "find_config", "pid_filename", $conf); local $file; if ($str) { $file = $str->{'values'}->[0]; } else { $file = $sconfig{'pid_file'}; } if (open(PID, $file) && =~ /(\d+)/ && kill(0, $1)) { close(PID); local @st = stat($file); return { 'up' => 1, 'desc' => &text('up_since', scalar(localtime($st[9]))) }; } else { return { 'up' => 0 }; } } sub parse_squid_dialog { &depends_check($_[0], "squid"); } 1; status/images/0040775000567100000120000000000010273574761013350 5ustar jcameronwheelstatus/images/up.gif0100644000567100000120000000012607166267473014463 0ustar jcameronwheelGIF89a !Made with GIMP!, {ts^|3:;status/images/down.gif0100644000567100000120000000013307166267456015005 0ustar jcameronwheelGIF89a !Made with GIMP!, 9:c8^]%N^[S;status/images/not.gif0100644000567100000120000000012707166301042014615 0ustar jcameronwheelGIF89a !Made with GIMP! ,  wn Cεͺ|6QqRX*_;status/images/icon.gif0100664000567100000120000000403307175715527014770 0ustar jcameronwheelGIF89a00>>Dnrl̊ZZ\NNLz~|FFDffd􎒌zztܦVVTvrtNJLnnlFBDԊbbd¼ܦb^dVR\~JJLBBDrvt^^\RRTjjlĎrrlRNT~~|ƼJFLjfl쪪ZV\vvtrnt¼B>DԊ^ZdNNTFFLfflzz|VV\NJTnntFBL䦦JJTBBL^^d̢rrt~~ܒvv|IJ!Made with GIMP,00H*\ȰÇ#2ċ2;_`cŠ{&|Y'gx uLf>% 4c S8vnLSg@">p2@nxq {h gN΋H3#cLXĄ2`1‡ ?@SdI6!1oBpy( 9rfLHCZ`Nurb ,q0ʬ͚-K!2?[@" Q xiSF26ʨ!Tm =a=@$PW_&^x;(x"tK ea@ cܡmH"zh<`F)tHrdFqV 9̀$G<`CZ ^o&081G ,"\d0( A(d{цz$" 1BHUc?ꩢ^*q Ѕ #@lt(G (~y®z x@ _1o#쁇 MhƟ#qǣ;H zjC2y m`&P0:Hɳ1oޥoȢBF ;  /#iG/i.DdcdkknEDLgejA@Hо_]b֒WWZUUXQOTOORMMPMKPqpp豱kjjxxzCAFA?DttvȔ@?F``bzyxTTV򇇈PPRJHL}}~氰䮮wwxuuvusvآGFLkklA@Fvuz?>Drqv__`YWZWWX򽽼𗖚ڷ\[`XW\TSXPOTppp֒FEJBAF@?Donr??Fcbf츸WVZUTXwwvQPT𪪨KJN|{~A@DܥHHNFFLFDLWWV@@F>>D`_b`]bȓTSV[[`JIL}|~,) HXBȐRMȉM ͺ. uc 8 Ռ:85T !w(KM4(YX!4{eᲊ#Y$, `Ȋ T0(j5f Q["-a PD&ݼ=V$4L`K E޼1r ޺pb&@e6rA&͆ ZʶxS[*z &F)<YopAdPQ4] v4RĨ[/|3I oMJ-kܩ%4{81 v< g4q7!qG;`0QB43CxC%q+D E2N&0FAh(%M!q He49hJ rp$T:es]dA!U @GeR)g@;status/images/skip.gif0100744000567100000120000000012110273574761014773 0ustar jcameronwheelGIF89a !Created with The GIMP!,  fZޯ;status/index.cgi0100775000567100000120000001035510552312511013661 0ustar jcameronwheel#!/usr/local/bin/perl # index.cgi # List all services currently being monitored require './status-lib.pl'; print "Refresh: $config{'refresh'}\r\n" if ($config{'refresh'}); &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1); # If we are using SNMP for notification, make sure the Perl module is installed if ($config{'snmp_server'}) { eval "use Net::SNMP"; if ($@) { eval "use SNMP_Session"; } if ($@) { &ui_print_endpage( &ui_config_link('index_esnmp', [ "Net::SNMP", "../cpan/download.cgi?source=3&cpan=Net::SNMP&mode=2&return=/$module_name/&returndesc=".&urlize($text{'index_return'}), undef ])); } } @serv = &list_services(); $mid = int((@serv-1) / 2); $oldstatus = &read_file($oldstatus_file, \%oldstatus); if (@serv) { &show_button(); if ($config{'sort_mode'} == 1) { @serv = sort { $a->{'desc'} cmp $b->{'desc'} } @serv; } elsif ($config{'sort_mode'} == 2) { @serv = sort { $a->{'remote'} cmp $b->{'remote'} } @serv; } elsif ($config{'sort_mode'} == 3) { @serv = sort { $oldstatus{$a->{'id'}} <=> $oldstatus{$b->{'id'}} } @serv; } if (!$config{'index_status'} && $oldstatus) { local @st = stat("$module_config_directory/oldstatus"); local $t = localtime($st[9]); print &text('index_oldtime', $t),"
\n"; } # Show table of defined monitors @links = ( ); if ($access{'edit'}) { print &ui_form_start("delete_mons.cgi", "post"); push(@links, &select_all_link("d", 1), &select_invert_link("d", 1) ); } print &ui_links_row(\@links); if ($config{'columns'} == 2) { print "\n"; print "
\n"; &service_table(@serv[0 .. $mid]); print " \n"; &service_table(@serv[$mid+1 .. $#serv]) if (@serv > 1); print "
\n"; } else { &service_table(@serv); } print &ui_links_row(\@links); if ($access{'edit'}) { print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]); } } else { print "$text{'index_none'}

\n"; } &show_button(); print "


\n"; print &ui_buttons_start(); if ($access{'sched'}) { print &ui_buttons_row("edit_sched.cgi", $text{'index_sched'}, $text{'index_scheddesc'}); } if (!$config{'index_status'}) { print &ui_buttons_row("refresh.cgi", $text{'index_refresh'}, $text{'index_refreshdesc'}); } print "\n"; &remote_finished(); &ui_print_footer("/", $text{'index'}); sub service_table { # Table header local @tds = $access{'edit'} ? ( "width=5" ) : ( ); print &ui_columns_start([ $access{'edit'} ? ( "" ) : ( ), $text{'index_desc'}, $text{'index_host'}, $config{'index_status'} ? ( $text{'index_up'} ) : $oldstatus ? ( $text{'index_last'} ) : ( ), ], 100, 0, \@tds); # One row per monitor foreach $s (@_) { local @cols; local $esc = &html_escape($s->{'desc'}); $esc = "$esc" if ($s->{'nosched'} == 1); if ($access{'edit'}) { push(@cols, "$esc"); } else { push(@cols, $esc); } push(@cols, &nice_remotes($s)); # Work out and show all the up icons local @ups; if ($config{'index_status'}) { # Showing the current status @stats = &service_status($s, 1); @ups = map { $_->{'up'} } @stats; } elsif ($oldstatus) { # Getting status from last check $stat = &expand_oldstatus($oldstatus{$s->{'id'}}); @ups = map { defined($stat->{$_}) ? ( $stat->{$_} ) : ( ) } &expand_remotes($s); } if (!@ups) { push(@cols, ""); } else { local @icons; foreach my $up (@ups) { push(@icons, ""); } push(@cols, join("", @icons)); } if ($access{'edit'}) { print &ui_checked_columns_row(\@cols, \@tds, "d", $s->{'id'}); } else { print &ui_columns_row(\@cols, \@tds); } } print &ui_columns_end(); } sub show_button { if ($access{'edit'}) { print "
\n"; print " ", "
\n"; } } status/dhcpd-monitor.pl0100664000567100000120000000115010553214756015175 0ustar jcameronwheel# dhcpd-monitor.pl # Monitor the DHCP server on this host # Check the PID file to see if DHCPd is running sub get_dhcpd_status { return { 'up' => -1 } if (!&foreign_check($_[1])); &foreign_require($_[1], "dhcpd-lib.pl"); local %dconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-r $dconfig{'dhcpd_conf'}); if (&foreign_call($_[1], "is_dhcpd_running")) { local @st = stat($dconfig{'pid_file'}); return { 'up' => 1, 'desc' => @st ? &text('up_since', scalar(localtime($st[9]))) : undef }; } else { return { 'up' => 0 }; } } sub parse_dhcpd_dialog { &depends_check($_[0], "dhcpd"); } 1; status/samba-monitor.pl0100664000567100000120000000070510553215121015166 0ustar jcameronwheel# samba-monitor.pl # Monitor the samba servers on this host # Check if samba is running sub get_samba_status { return { 'up' => -1 } if (!&foreign_check($_[1])); &foreign_require($_[1], "samba-lib.pl"); local %sconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-x $sconfig{'samba_server'}); local $r = &foreign_call($_[1], "is_samba_running"); return { 'up' => $r ? 1 : 0 }; } sub parse_samba_dialog { &depends_check($_[0], "samba"); } 1; status/services/0040775000567100000120000000000007434026447013724 5ustar jcameronwheelstatus/services/apache.serv0100644000567100000120000000010507175701042016026 0ustar jcameronwheelid=apache type=apache desc=Apache Webserver depends=apache nosched=0 status/services/dhcpd.serv0100644000567100000120000000006307175701042015672 0ustar jcameronwheelid=dhcpd type=dhcpd desc=DHCP Server depends=dhcpd status/services/samba.serv0100644000567100000120000000006507175701042015675 0ustar jcameronwheelid=samba type=samba desc=Samba Servers depends=samba status/services/postgresql.serv0100644000567100000120000000013307175701042017011 0ustar jcameronwheelid=postgresql type=postgresql desc=PostgreSQL Database Server depends=postgresql nosched=0 status/services/inetd.serv0100644000567100000120000000010407175701042015707 0ustar jcameronwheelid=inetd type=inetd desc=Internet and RPC Server depends=inetd proc status/services/bind8.serv0100644000567100000120000000006707175701042015620 0ustar jcameronwheelid=bind8 type=bind8 desc=BIND DNS Server depends=bind8 status/services/squid.serv0100644000567100000120000000007207175701042015735 0ustar jcameronwheelid=squid type=squid desc=Squid Proxy Server depends=squid status/services/mysql.serv0100644000567100000120000000007507175701042015760 0ustar jcameronwheelid=mysql type=mysql desc=MySQL Database Server depends=mysql status/services/nfs.serv0100644000567100000120000000005507175713351015405 0ustar jcameronwheelid=nfs type=nfs desc=NFS Server depends=proc status/services/xinetd.serv0100644000567100000120000000010307175701042016076 0ustar jcameronwheelid=xinetd type=xinetd desc=Extended Internet Server depends=xinetd status/services/sendmail.serv0100644000567100000120000000010007175701042016374 0ustar jcameronwheelid=sendmail type=sendmail desc=Sendmail Server depends=sendmail status/services/dnsadmin.serv0100644000567100000120000000010207175701042016377 0ustar jcameronwheelid=dnsadmin type=dnsadmin desc=BIND 4 DNS Server depends=dnsadmin status/services/postfix.serv0100644000567100000120000000007407236115534016311 0ustar jcameronwheelid=postfix type=postfix desc=Postfix Server depends=postfix status/services/qmailadmin.serv0100644000567100000120000000010307434026447016726 0ustar jcameronwheelid=qmailadmin type=qmailadmin desc=QMail Server depends=qmailadmin status/nfs-monitor.pl0100664000567100000120000000061207635050004014672 0ustar jcameronwheel# nfs-monitor.pl # Monitor the NFS server process sub get_nfs_status { return { 'up' => -1 } if (!&foreign_check("proc")); &foreign_require("proc", "proc-lib.pl"); if (&foreign_check("exports") || &foreign_check("dfsadmin") || &foreign_check("bsdexports") || &foreign_check("hpuxexports")) { return { 'up' => &find_named_process('nfsd') ? 1 : 0 }; } else { return { 'up' => -1 }; } } status/config-hpux0100664000567100000120000000015410370003131014222 0ustar jcameronwheelindex_status=1 sort_mode=0 output=0 snmp_version=2 snmp_trap=1.3.6.1.4.1.10000.1.1 subject_mode=0 columns=2 status/config-debian-linux0100664000567100000120000000021210370003116015613 0ustar jcameronwheelindex_status=1 pager_cmd=sms_client sort_mode=0 output=0 output=0 snmp_version=2 snmp_trap=1.3.6.1.4.1.10000.1.1 subject_mode=0 columns=2 status/ping-monitor.pl0100664000567100000120000001350010370003613015033 0ustar jcameronwheel# ping-monitor.pl # Ping some host # Contains code ripped from Net::Ping by Russell Mosemann use Socket; sub get_ping_status { local $wait = defined($_[0]->{'wait'}) ? $_[0]->{'wait'} : 5; local $ip = inet_aton($_[0]->{'host'}); return { 'up' => 0 } if (!$ip); if ($config{'pinger'}) { # Call a ping command local $cmd = $config{'pinger'} eq "linux" ? "ping -c 1 -t 1" : $config{'pinger'}; local $rv = system("$cmd ".quotemeta($_[0]->{'host'}). " >/dev/null 2>&1 $rv ? 0 : 1 }; } else { # Use builtin code local $rv = &ping_icmp($ip, $wait); return { 'up' => $rv ? 1 : 0 }; } } sub show_ping_dialog { print " $text{'ping_host'}\n"; print " \n"; print " $text{'ping_wait'}\n"; printf " %s \n", defined($_[0]->{'wait'}) ? $_[0]->{'wait'} : 5, $text{'oldfile_secs'}; } sub parse_ping_dialog { #$config{'ping_cmd'} || &error($text{'ping_econfig'}); &check_ipaddress($in{'host'}) || gethostbyname($in{'host'}) || &error($text{'ping_ehost'}); $in{'wait'} =~ /^(\d*\.)?\d+$/ || &error($text{'ping_ewait'}); $_[0]->{'host'} = $in{'host'}; $_[0]->{'wait'} = $in{'wait'}; } sub ping_icmp { my ($ip, # Packed IP number of the host $timeout # Seconds after which ping times out ) = @_; my $ICMP_ECHOREPLY = 0; # ICMP packet types my $ICMP_ECHO = 8; my $icmp_struct = "C2 S3 A"; # Structure of a minimal ICMP packet my $subcode = 0; # No ICMP subcode for ECHO and ECHOREPLY my $flags = 0; # No special flags when opening a socket my $port = 0; # No port with ICMP my ($saddr, # sockaddr_in with port and ip $checksum, # Checksum of ICMP packet $msg, # ICMP packet to send $len_msg, # Length of $msg $rbits, # Read bits, filehandles for reading $nfound, # Number of ready filehandles found $finish_time, # Time ping should be finished $done, # set to 1 when we are done $ret, # Return value $recv_msg, # Received message including IP header $from_saddr, # sockaddr_in of sender $from_port, # Port packet was sent from $from_ip, # Packed IP of sender $from_type, # ICMP type $from_subcode, # ICMP subcode $from_chk, # ICMP packet checksum $from_pid, # ICMP packet id $from_seq, # ICMP packet sequence $from_msg, # ICMP message $data, $cnt, $data_size ); # Construct packet data string $data_size = 0; for ($cnt = 0; $cnt < $data_size; $cnt++) { $data .= chr($cnt % 256); } my $proto_num = (getprotobyname('icmp'))[2]; socket(PSOCK, PF_INET, SOCK_RAW, $proto_num); $ping_seq = ($ping_seq + 1) % 65536; # Increment sequence $checksum = 0; # No checksum for starters $msg = pack($icmp_struct . $data_size, $ICMP_ECHO, $subcode, $checksum, $$, $ping_seq, $data); $checksum = checksum($msg); $msg = pack($icmp_struct . $data_size, $ICMP_ECHO, $subcode, $checksum, $$, $ping_seq, $data); $len_msg = length($msg); $saddr = pack_sockaddr_in($port, $ip); send(PSOCK, $msg, $flags, $saddr); # Send the message $rbits = ""; vec($rbits, fileno(PSOCK), 1) = 1; $ret = 0; $done = 0; $finish_time = time() + $timeout; # Must be done by this time while (!$done && $timeout > 0) # Keep trying if we have time { $nfound = select($rbits, undef, undef, $timeout); # Wait for packet $timeout = $finish_time - time(); # Get remaining time if (!defined($nfound)) # Hmm, a strange error { # Probably an interrupted system call, so try again $ret = undef; #$done = 1; } elsif ($nfound) # Got a packet from somewhere { $recv_msg = ""; $from_saddr = recv(PSOCK, $recv_msg, 1500, $flags); if ($from_saddr) { ($from_port, $from_ip) = unpack_sockaddr_in($from_saddr); ($from_type, $from_subcode, $from_chk, $from_pid, $from_seq, $from_msg) = unpack($icmp_struct . $data_size, substr($recv_msg, length($recv_msg) - $len_msg, $len_msg)); if (($from_type == $ICMP_ECHOREPLY) && ($from_ip eq $ip) && ($from_pid == $$) && # Does the packet check out? ($from_seq == $ping_seq)) { $ret = 1; # It's a winner $done = 1; } } else { # Packet not actually received $ret = undef; } } else # Oops, timed out { $done = 1; } } close(PSOCK); return($ret) } # Description: Do a checksum on the message. Basically sum all of # the short words and fold the high order bits into the low order bits. sub checksum { my ($msg # The message to checksum ) = @_; my ($len_msg, # Length of the message $num_short, # The number of short words in the message $short, # One short word $chk # The checksum ); $len_msg = length($msg); $num_short = $len_msg / 2; $chk = 0; foreach $short (unpack("S$num_short", $msg)) { $chk += $short; } # Add the odd byte in $chk += unpack("C", substr($msg, $len_msg - 1, 1)) if $len_msg % 2; $chk = ($chk >> 16) + ($chk & 0xffff); # Fold high into low return(~(($chk >> 16) + $chk) & 0xffff); # Again and complement } status/edit_mon.cgi0100775000567100000120000001433710556311323014360 0ustar jcameronwheel#!/usr/local/bin/perl # edit_mon.cgi # Display a form for editing or creating a monitor require './status-lib.pl'; $access{'edit'} || &error($text{'mon_ecannot'}); &foreign_require("servers", "servers-lib.pl"); &ReadParse(); @handlers = &list_handlers(); if ($in{'type'}) { # Create a new monitor $type = $in{'type'}; $title = $text{'mon_create'}; if ($in{'clone'}) { # Clone of existing $serv = &get_service($in{'clone'}); } else { # Totally new $serv = { 'notify' => 'email pager snmp', 'fails' => 1, 'nosched' => 0, 'remote' => '*' }; } } else { # Editing an existing monitor $serv = &get_service($in{'id'}); $type = $serv->{'type'}; $title = $text{'mon_edit'}; } ($han) = grep { $_->[0] eq $type } @handlers; if ($in{'type'} && !$in{'clone'}) { $serv->{'desc'} = $han->[1]; } &ui_print_header($han->[1], $title, ""); print &ui_form_start("save_mon.cgi", "post"); print &ui_hidden("type", $in{'type'}),"\n"; print &ui_hidden("id", $in{'id'}),"\n"; print &ui_table_start($text{'mon_header'}, "width=100%", 2); @tds = ( "width=30%" ); # Check for clone modules of the monitor type if (-d "../$type") { local @st = stat("../$type"); opendir(DIR, ".."); foreach $m (readdir(DIR)) { local @lst = stat("../$m"); if (-l "../$m" && $st[1] == $lst[1]) { # found a clone push(@clones, $m); } } } # Show input for description print &ui_table_row($text{'mon_desc'}, &ui_textbox("desc", $serv->{'desc'}, 50), undef, \@tds); # Show current status if (!$in{'type'}) { @stats = &service_status($serv, 1); $stable = "\n"; foreach $stat (@stats) { $stable .= "\n"; if (@stats > 1 || $stat->{'remote'} ne "*") { $stable .= "\n"; $stable .= "\n"; } $stable .= "\n"; $stable .= "\n"; } $stable .= "
". ($stat->{'remote'} eq "*" ? $text{'mon_local'} : $stat->{'remote'}). ":". ($stat->{'desc'} ? $stat->{'desc'} : $stat->{'up'} == 1 ? $text{'mon_up'} : $stat->{'up'} == -1 ? $text{'mon_not'} : $stat->{'up'} == -2 ? $text{'mon_webmin'} : $stat->{'up'} == -3 ? $text{'mon_timeout'} : $stat->{'up'} == -4 ? $text{'mon_skip'} : "$text{'mon_down'}"). "
\n"; print &ui_table_row($text{'mon_status'}, $stable, undef, \@tds); } # Show servers to run on @servs = grep { $_->{'user'} } &servers::list_servers_sorted(); if (@servs) { # Show list of remote servers print &ui_table_row($text{'mon_remotes'}, &ui_select("remotes", [ split(/\s+/, $serv->{'remote'}) ], [ [ "*", "<$text{'mon_local'}>" ], map { [ $_->{'host'}, $_->{'host'} ] } @servs ], 5, 1, 1), undef, \@tds); } else { # Only local is available print &ui_hidden("remotes", "*"),"\n"; } # Show groups to run on @groups = &servers::list_all_groups(\@servs); if (@groups) { print &ui_table_row($text{'mon_groups'}, &ui_select("groups", [ split(/\s+/, $serv->{'groups'}) ], [ map { [ $_->{'name'}, &group_desc($_) ] } @groups ], 5, 1, 1), undef, \@tds); } # Show emailing schedule print &ui_table_row($text{'mon_nosched'}, &ui_select("nosched", $serv->{'nosched'}, [ [ 1, $text{'no'} ], [ 0, $text{'mon_warndef'} ], [ 3, $text{'mon_warn1'} ], [ 2, $text{'mon_warn0'} ], [ 4, $text{'mon_warn2'} ], [ 5, $text{'mon_warn3'} ] ]), undef, \@tds); # Show number of failures print &ui_table_row($text{'mon_fails'}, &ui_textbox("fails", $serv->{'fails'}, 5), undef, \@tds); # Show notification mode $notify = ""; %notify = map { $_, 1 } split(/\s+/, $serv->{'notify'}); foreach $n ("email", "pager", "snmp") { $notify .= &ui_checkbox("notify", $n, $text{'mon_notify'.$n}, $notify{$n})."\n"; } print &ui_table_row($text{'mon_notify'}, $notify, undef, \@tds); # Show extra address to email print &ui_table_row($text{'mon_email'}, &ui_textbox("email", $serv->{'email'}, 30), undef, \@tds); # Which clone module to use if (@clones) { local %minfo = &get_module_info($type); print &ui_table_row($text{'mon_clone'}, &ui_select("clone", $serv->{'clone'}, [ [ "", $minfo{'desc'} ], map { local %cminfo = &get_module_info($_); [ $_, $cminfo{'desc'} ] } @clones ]), undef, \@tds); } # Skip if some other monitor is down @servs = &list_services(); if (@servs) { print &ui_table_row($text{'mon_depend'}, &ui_select("depend", $serv->{'depend'}, [ [ "", " " ], map { [ $_->{'id'}, $_->{'desc'}. " (".&nice_remotes($_).")" ] } sort { $a->{'desc'} cmp $b->{'desc'} } @servs ]), undef, \@tds); } print &ui_table_end(); print "

\n"; print &ui_table_start($text{'mon_header2'}, "width=100%", 2); # Show commands to run on up/down print &ui_table_row($text{'mon_ondown'}, &ui_textbox("ondown", $serv->{'ondown'}, 50), undef, \@tds); print &ui_table_row($text{'mon_onup'}, &ui_textbox("onup", $serv->{'onup'}, 50), undef, \@tds); print &ui_table_row(" ", "$text{'mon_oninfo'}", undef, \@tds); # Radio button for where to run commands print &ui_table_row($text{'mon_runon'}, &ui_radio("runon", $serv->{'runon'} ? 1 : 0, [ [ 0, $text{'mon_runon0'} ], [ 1, $text{'mon_runon1'} ] ]), undef, \@tds); print &ui_table_end(); # Display inputs for this monitor type if ($type =~ /^(\S+)::(\S+)$/) { # From another module ($mod, $mtype) = ($1, $2); &foreign_require($mod, "status_monitor.pl"); $html = &foreign_call($mod, "status_monitor_dialog", $mtype, $serv); if ($html) { print "

\n"; print &ui_table_start($text{'mon_header3'}, "width=100%", 4); print $html; print &ui_table_end(); } } else { # From this module do "./${type}-monitor.pl"; $func = "show_${type}_dialog"; if (defined(&$func)) { print "

\n"; print &ui_table_start($text{'mon_header3'}, "width=100%", 4); &$func($serv); print &ui_table_end(); } } # Show create/delete buttons if ($in{'type'}) { print &ui_form_end([ [ "create", $text{'create'} ] ]); } else { print &ui_form_end([ [ "save", $text{'save'} ], [ "newclone", $text{'mon_clone2'} ], [ "delete", $text{'delete'} ] ]); } &ui_print_footer("", $text{'index_return'}); status/raid-monitor.pl0100664000567100000120000000323210553215112015020 0ustar jcameronwheel# raid-monitor.pl # Check if some RAID device is reporting errors sub get_raid_status { return { 'up' => -1 } if (!&foreign_check("raid")); &foreign_require("raid", "raid-lib.pl"); local $conf = &raid::get_raidtab(); local ($raid) = grep { $_->{'value'} eq $_[0]->{'device'} } @$conf; if ($raid) { if (ref($raid->{'errors'})) { local ($bad) = grep { $_ eq "_" } @{$raid->{'errors'}}; if ($bad) { return { 'up' => 0, 'desc' => $text{'raid_bad'} }; } else { return { 'up' => 1 }; } } elsif ($raid->{'resync'}) { return { 'up' => 0, 'desc' => $text{'raid_resync'} }; } else { return { 'up' => 1 }; } } else { return { 'up' => -1, 'desc' => &text('raid_notfound', $_[0]->{'device'}) }; } } sub show_raid_dialog { &foreign_require("raid", "raid-lib.pl"); local $conf = &raid::get_raidtab(); print " $text{'raid_device'}\n"; print "\n"; printf "\n", $found ? "" : $_[0]->{'device'}; print " \n"; } sub parse_raid_dialog { &depends_check($_[0], "raid"); $_[0]->{'device'} = $in{'device'} || $in{'other'}; $_[0]->{'device'} =~ /^\S+$/ || &error($text{'raid_edevice'}); } status/mysql-monitor.pl0100664000567100000120000000070210553215041015246 0ustar jcameronwheel# mysql-monitor.pl # Monitor the MySQL server on this host # Check if mysql is running sub get_mysql_status { return { 'up' => -1 } if (!&foreign_check($_[1])); &foreign_require($_[1], "mysql-lib.pl"); local %mconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-x $mconfig{'mysqladmin'}); local $r = &foreign_call($_[1], "is_mysql_running"); return { 'up' => $r ? 1 : 0 }; } sub parse_mysql_dialog { &depends_check($_[0], "mysql"); } 1; status/config.info.fr0100664000567100000120000000155210251427154014620 0ustar jcameronwheelline1=Options configurables,11 index_status=État à afficher sous forme de liste,1,1-État actuel,0-Depuis la dernière vérification programmée pager_cmd=Commande pour envoyer un message à un lecteur de messagerie,3,Aucune refresh=Nombre de secondes entre deux rafraîchissements des pages,3,Ne pas rafraîchir sort_mode=Afficher les moniteurs triés par,1,0-Ordre de création,1-Description,2-Poste output=Sortie de la capture à partir des programmes exécutés lorsqu'ils sont arrêtés ?,1,1-Oui,0-Non subject_mode=Mode de sujet de courrier électronique,1,0-Nouveau style,1-Ancien style snmp_server=Envoyer des interruptions SNMP au serveur,3,Aucun snmp_version=Version du protocole SNMP,1,3-v3,2-v2,1-v1 snmp_community=Chaîne de communauté SNMP,0 snmp_trap=OID SNMP des interruptions,0 status/save_sched.cgi0100775000567100000120000000344710554544361014676 0ustar jcameronwheel#!/usr/local/bin/perl # save_sched.cgi # Save scheduled monitoring options require './status-lib.pl'; $access{'sched'} || &error($text{'sched_ecannot'}); &ReadParse(); &error_setup($text{'sched_err'}); # Parse and save inputs $in{'email_def'} || $in{'email'} =~ /\S/ || &error($text{'sched_eemail'}); $config{'sched_email'} = $in{'email_def'} ? '' : $in{'email'}; $config{'sched_pager'} = $in{'pager_def'} ? '' : $in{'pager'}; if ($in{'from_def'}) { delete($config{'sched_from'}); } else { $in{'from'} =~ /^\S+$/ || &error($text{'sched_efrom'}); $config{'sched_from'} = $in{'from'}; } if ($in{'smtp_def'}) { if (!$in{'from_def'}) { &foreign_require("mailboxes", "mailboxes-lib.pl"); $err = &mailboxes::test_mail_system(); $err && &error(&text('sched_eemailserver', $err)); } delete($config{'sched_smtp'}); } else { if (!$in{'from_def'}) { gethostbyname($in{'smtp'}) || &check_ipaddress($in{'smtp'}) || &error($text{'sched_esmtp'}); } $config{'sched_smtp'} = $in{'smtp'}; } $config{'sched_mode'} = $in{'mode'}; $in{'int'} =~ /^\d+$/ || &error($text{'sched_eint'}); $config{'sched_int'} = $in{'int'}; $config{'sched_period'} = $in{'period'}; $in{'offset'} =~ /^\d+$/ || &error($text{'sched_eoffset'}); $config{'sched_offset'} = $in{'offset'}; $config{'sched_warn'} = $in{'warn'}; $config{'sched_single'} = $in{'single'}; @hours = split(/\0/, $in{'hours'}); @hours || &error($text{'sched_ehours'}); $config{'sched_hours'} = @hours == 24 ? '' : join(" ", @hours); @days = split(/\0/, $in{'days'}); @days || &error($text{'sched_edays'}); $config{'sched_days'} = @days == 7 ? '' : join(" ", @days); &lock_file("$module_config_directory/config"); &save_module_config(); &unlock_file("$module_config_directory/config"); # Setup or remove the cron job &setup_cron_job(); &webmin_log("sched"); &redirect(""); status/config-freebsd0100664000567100000120000000017110370003750014656 0ustar jcameronwheelindex_status=1 sort_mode=0 output=0 snmp_version=2 snmp_trap=1.3.6.1.4.1.10000.1.1 subject_mode=0 columns=2 pinger=linux status/http-monitor.pl0100664000567100000120000001043110457521356015074 0ustar jcameronwheel# http-monitor.pl # Monitor a remote HTTP server sub get_http_status { # Connect to the server local $up=0; local $st = time(); eval { local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required alarm($_[0]->{'alarm'} ? $_[0]->{'alarm'} : 10); local $re = $_[0]->{'regexp'}; local $method = $_[0]->{'method'} || "HEAD"; local $con = &make_http_connection($_[0]->{'host'}, $_[0]->{'port'}, $_[0]->{'ssl'}, $method, $_[0]->{'page'}); if (!ref($con)) { return { 'up' => 0 }; } &write_http_connection($con, "Host: $_[0]->{'host'}\r\n"); &write_http_connection($con, "User-agent: Webmin\r\n"); if ($_[0]->{'user'}) { local $auth = &encode_base64("$_[0]->{'user'}:$_[0]->{'pass'}"); $auth =~ s/\n//g; &write_http_connection($con, "Authorization: basic $auth\r\n"); } &write_http_connection($con, "\r\n"); local $line = &read_http_connection($con); $up = $line =~ /^HTTP\/1\..\s+(200|301|302)\s+/ ? 1 : 0; if ($re && $up) { # Read the headers local %header; while(1) { $line = &read_http_connection($con); $line =~ tr/\r\n//d; $line =~ /^(\S+):\s+(.*)$/ || last; $header{lc($1)} = $2; } # Read the body local ($buf, $data); while(defined($buf = &read_http_connection($con))) { $data .= $buf; } if ($data !~ /$re/i) { $up = 0; } } &close_http_connection($con); alarm(0); }; if ($@) { die unless $@ eq "alarm\n"; # propagate unexpected errors return { 'up' => 0 }; } else { return { 'up' => $up, 'time' => time() - $st}; } } sub show_http_dialog { print " $text{'http_url'}\n"; printf "\n", $_[0]->{'host'} ? ($_[0]->{'ssl'} ? "https" : "http"). "://$_[0]->{'host'}:$_[0]->{'port'}$_[0]->{'page'}" : "http://"; print "$text{'http_alarm'}\n"; printf " %s\n", $_[0]->{'alarm'} ? '' : 'checked', $text{'default'}; printf "\n", $_[0]->{'alarm'} ? 'checked' : ''; print " \n"; print " $text{'http_method'}\n"; print " \n"; print " $text{'http_login'} \n"; printf " %s\n", $_[0]->{'user'} ? "" : "checked", $text{'http_none'}; printf " %s\n", $_[0]->{'user'} ? "checked" : "", $text{'http_user'}; printf " %s\n", $_[0]->{'user'}, $text{'http_pass'}; printf " \n", $_[0]->{'pass'}; print " $text{'http_regexp'} \n"; print &ui_opt_textbox("regexp", $_[0]->{'regexp'}, 50, $text{'http_none2'}); print " \n"; } sub parse_http_dialog { if ($in{'url'} =~ /^(http|https):\/\/([^:]+):(\d+)(\/.*)$/) { $_[0]->{'ssl'} = $1 eq "https"; $_[0]->{'host'} = $2; $_[0]->{'port'} = $3; $_[0]->{'page'} = $4; } elsif ($in{'url'} =~ /^(http|https):\/\/([^\/]+)(\/.*)$/) { $_[0]->{'ssl'} = $1 eq "https"; $_[0]->{'host'} = $2; $_[0]->{'port'} = $1 eq "https" ? 443 : 80; $_[0]->{'page'} = $3; } elsif ($in{'url'} =~ /^(http|https):\/\/([^:]+):(\d+)$/) { $_[0]->{'ssl'} = $1 eq "https"; $_[0]->{'host'} = $2; $_[0]->{'port'} = $3; $_[0]->{'page'} = "/"; } elsif ($in{'url'} =~ /^(http|https):\/\/([^\/]+)$/) { $_[0]->{'ssl'} = $1 eq "https"; $_[0]->{'host'} = $2; $_[0]->{'port'} = $1 eq "https" ? 443 : 80; $_[0]->{'page'} = "/"; } else { &error($text{'http_eurl'}); } if ($in{'alarm_def'}) { delete($_[0]->{'alarm'}); } else { $in{'alarm'} =~ /^\d+$/ || &error($text{'http_ealarm'}); $_[0]->{'alarm'} = $in{'alarm'}; } if ($in{'user_def'}) { delete($_[0]->{'user'}); delete($_[0]->{'pass'}); } else { $in{'user'} || &error($text{'http_euser'}); $_[0]->{'user'} = $in{'user'}; $_[0]->{'pass'} = $in{'pass'}; } $_[0]->{'method'} = $in{'method'}; if ($in{'regexp_def'}) { delete($_[0]->{'regexp'}); } else { $in{'regexp'} || &error($text{'http_eregexp'}); $_[0]->{'regexp'} = $in{'regexp'}; $in{'method'} eq 'HEAD' && &error($text{'http_ehead'}); } } status/backup_config.pl0100664000567100000120000000135510146367131015221 0ustar jcameronwheel do 'status-lib.pl'; # backup_config_files() # Returns files and directories that can be backed up sub backup_config_files { local @servs = &list_services(); local @rv = map { $_->{'_file'} } @servs; push(@rv, $module_config_file); return @rv; } # pre_backup(&files) # Called before the files are actually read sub pre_backup { return undef; } # post_backup(&files) # Called after the files are actually read sub post_backup { return undef; } # pre_restore(&files) # Called before the files are restored from a backup sub pre_restore { return undef; } # post_restore(&files) # Called after the files are restored from a backup sub post_restore { %config = ( ); &read_file($module_config_file, \%config); &setup_cron_job(); return undef; } 1; status/config-solaris0100664000567100000120000000015410370003135014716 0ustar jcameronwheelindex_status=1 sort_mode=0 output=0 snmp_version=2 snmp_trap=1.3.6.1.4.1.10000.1.1 subject_mode=0 columns=2 status/iface-monitor.pl0100664000567100000120000000174010553215004015152 0ustar jcameronwheel# iface-monitor.pl # Check if a network interface is up or down sub get_iface_status { return { 'up' => -1 } if (!&foreign_check("net")); &foreign_require("net", "net-lib.pl"); local @act = &net::active_interfaces(); local $a; foreach $a (@act) { if ($a->{'fullname'} eq $_[0]->{'iface'} && $a->{'up'}) { return { 'up' => 1 }; } } return { 'up' => 0 }; } sub show_iface_dialog { &foreign_require("net", "net-lib.pl"); print " $text{'iface_iface'}\n"; print "\n"; } sub parse_iface_dialog { &depends_check($_[0], "net"); $_[0]->{'iface'} = $in{'iface'}; } status/tcp-monitor.pl0100664000567100000120000000303110137606626014700 0ustar jcameronwheel# tcp-monitor.pl # Monitor a remote TCP server sub get_tcp_status { # Connect to the server socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname("tcp")) || return { 'up' => -1 }; local $addr = inet_aton($_[0]->{'host'}); return { 'up' => -1 } if (!$addr); local $st = time(); local $rv; eval { local $SIG{'ALRM'} = sub { die "alarm\n" }; alarm($_[0]->{'alarm'} ? $_[0]->{'alarm'} : 10); $rv = connect(SOCK, pack_sockaddr_in($_[0]->{'port'}, $addr)); close(SOCK); alarm(0); }; return { 'up' => 0 } if ($@); return { 'up' => $rv, 'time' => time() - $st }; } sub show_tcp_dialog { print " $text{'tcp_host'}\n"; print "\n"; print "$text{'tcp_port'}\n"; print " \n"; print " $text{'tcp_alarm'}\n"; printf " %s\n", $_[0]->{'alarm'} ? '' : 'checked', $text{'default'}; printf "\n", $_[0]->{'alarm'} ? 'checked' : ''; print " \n"; } sub parse_tcp_dialog { &check_ipaddress($in{'host'}) || gethostbyname($in{'host'}) || &error($text{'tcp_ehost'}); $_[0]->{'host'} = $in{'host'}; $in{'port'} =~ /^\d+$/ || &error($text{'tcp_eport'}); $_[0]->{'port'} = $in{'port'}; if ($in{'alarm_def'}) { delete($_[0]->{'alarm'}); } else { $in{'alarm'} =~ /^\d+$/ || &error($text{'tcp_ealarm'}); $_[0]->{'alarm'} = $in{'alarm'}; } } 1; status/xinetd-monitor.pl0100664000567100000120000000073407250751323015411 0ustar jcameronwheel# xinetd-monitor.pl # Monitor xinetd on this host sub get_xinetd_status { local %xconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-r $xconfig{'xinetd_conf'}); if (open(PID, $xconfig{'pid_file'}) && =~ /(\d+)/ && kill(0, $1)) { close(PID); local @st = stat($xconfig{'pid_file'}); return { 'up' => 1, 'desc' => &text('up_since', scalar(localtime($st[9]))) }; } return { 'up' => 0 }; } sub parse_xinetd_dialog { &depends_check($_[0], "xinetd"); } 1; status/sendmail-monitor.pl0100664000567100000120000000122610553215126015703 0ustar jcameronwheel# sendmail-monitor.pl # Monitor the sendmail server on this host # Check the PID file to see if sendmail is running sub get_sendmail_status { return { 'up' => -1 } if (!&foreign_check($_[1])); &foreign_require($_[1], "sendmail-lib.pl"); local %sconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-r $sconfig{'sendmail_cf'}); if (open(PID, $sconfig{'sendmail_pid'}) && =~ /(\d+)/ && kill(0, $1)) { close(PID); local @st = stat($sconfig{'sendmail_pid'}); return { 'up' => 1, 'desc' => &text('up_since', scalar(localtime($st[9]))) }; } else { return { 'up' => 0 }; } } sub parse_sendmail_dialog { &depends_check($_[0], "sendmail"); } 1; status/dnsadmin-monitor.pl0100664000567100000120000000122710553214761015711 0ustar jcameronwheel# dnsadmin-monitor.pl # Monitor the BIND 4 DNS server on this host # Check the PID file to see if BIND is running sub get_dnsadmin_status { return { 'up' => -1 } if (!&foreign_check($_[1])); &foreign_require($_[1], "dns-lib.pl"); local %dconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-r $dconfig{'named_boot_file'}); if (open(PID, $dconfig{'named_pid_file'}) && =~ /(\d+)/ && kill(0, $1)) { close(PID); local @st = stat($dconfig{'named_pid_file'}); return { 'up' => 1, 'desc' => &text('up_since', scalar(localtime($st[9]))) }; } else { return { 'up' => 0 }; } } sub parse_dnsadmin_dialog { &depends_check($_[0], "dnsadmin"); } 1; status/edit_sched.cgi0100775000567100000120000001025510113561363014650 0ustar jcameronwheel#!/usr/local/bin/perl # edit_sched.cgi # Configure scheduled checking of services require './status-lib.pl'; $access{'sched'} || &error($text{'sched_ecannot'}); &ui_print_header(undef, $text{'sched_title'}, ""); print "

\n"; print "\n"; print "\n"; print "
$text{'sched_header'}
\n"; print "\n"; printf "\n", $config{'sched_mode'} ? '' : 'checked', $text{'no'}; print "\n"; printf "\n", $config{'sched_single'} ? '' : 'checked', $text{'no'}; print "\n"; printf "\n", $config{'sched_offset'}; map { $hours{$_}++ } split(/\s+/, $config{'sched_hours'}); print "\n"; map { $days{$_}++ } split(/\s+/, $config{'sched_days'}); print "\n"; print "\n"; print "\n"; printf "\n", $config{'sched_warn'} == 2 ? 'checked' : '', $text{'sched_warn2'}; print "\n"; printf "\n", $config{'sched_email'}; print "\n"; printf "\n", $config{'sched_from'}; print "\n"; printf "\n", $config{'sched_smtp'}; print "\n"; printf "\n", $config{'sched_pager'}; print "
$text{'sched_mode'} %s\n", $config{'sched_mode'} ? 'checked' : '', $text{'yes'}; printf " %s$text{'sched_single'} %s\n", $config{'sched_single'} ? 'checked' : '', $text{'yes'}; printf " %s
$text{'sched_int'}\n", $config{'sched_int'} ? $config{'sched_int'} : 5; print " $text{'sched_offset'}\n"; printf "
$text{'sched_hours'} \n"; for($j=0; $j<24; $j+=6) { print "\n"; } print "$text{'sched_days'}
$text{'sched_warn'} %s\n", $config{'sched_warn'} == 1 ? 'checked' : '', $text{'sched_warn1'}; printf " %s\n", $config{'sched_warn'} == 0 ? 'checked' : '', $text{'sched_warn0'}; printf " %s
$text{'sched_email'} %s\n", $config{'sched_email'} ? '' : 'checked', $text{'sched_none'}; printf "\n", $config{'sched_email'} ? 'checked' : ""; printf "
$text{'sched_from'} %s (%s)\n", $config{'sched_from'} ? '' : 'checked', $text{'default'}, 'webmin'; printf "\n", $config{'sched_from'} ? 'checked' : ''; printf "
$text{'sched_smtp'} %s\n", $config{'sched_smtp'} ? '' : 'checked', $text{'sched_smtp_prog'}; printf " %s\n", $config{'sched_smtp'} ? 'checked' : '', $text{'sched_smtp_server'}; printf "
$text{'sched_pager'} %s\n", $config{'sched_pager'} ? '' : 'checked', $text{'sched_none'}; printf "\n", $config{'sched_pager'} ? 'checked' : ""; printf "
\n"; print "
\n"; &ui_print_footer("", $text{'index_return'}); status/config.info0100664000567100000120000000137110370003603014200 0ustar jcameronwheelline1=Configurable options,11 index_status=Status to display in list,1,1-Current status,0-From last scheduled check pager_cmd=Command to send message to a pager,3,None refresh=Seconds between page refreshes,3,Don't refresh sort_mode=Display monitors sorted by,1,0-Order created,1-Description,2-Host,3-Last status columns=Columns for services table,1,2-2,1-1 output=Capture output from programs run when down?,1,1-Yes,0-No subject_mode=Email subject mode,1,0-New style,1-Old style pinger=Send pings with command,10,-Use builtin code,linux-Use command suitable for Linux or FreeBSD,Other command snmp_server=Send SNMP traps to server,3,None snmp_version=SNMP protocol version,1,3-v3,2-v2,1-v1 snmp_community=SNMP community string,0 snmp_trap=SNMP OID for traps,0 status/monitor.pl0100775000567100000120000002445710552312374014131 0ustar jcameronwheel#!/usr/local/bin/perl # monitor.pl # Check all the monitors and send email if something is down $no_acl_check++; delete($ENV{'FOREIGN_MODULE_NAME'}); delete($ENV{'SCRIPT_NAME'}); delete($ENV{'SERVER_ROOT'}); require './status-lib.pl'; # Check if the monitor should be run now @tm = localtime(time()); @hours = split(/\s+/, $config{'sched_hours'}); !@hours || &indexof($tm[2], @hours) >= 0 || exit; @days = split(/\s+/, $config{'sched_days'}); !@days || &indexof($tm[6], @days) >= 0 || exit; # Open status and number of fails files &lock_file($oldstatus_file); &read_file($oldstatus_file, \%oldstatus); &lock_file($fails_file); &read_file($fails_file, \%fails); # Get the list of services, ordered so that those with dependencies are first @services = &list_services(); @services = sort { &sort_func($a, $b) } @services; # Check for services that are down $now = localtime(time()); $thishost = &get_system_hostname(); $ecount = 0; foreach $serv (@services) { if ($serv->{'nosched'} == 1) { # Scheduled checking totally disabled delete($oldstatus{$serv->{'id'}}); next; } @remotes = &expand_remotes($serv); # Check if we depend on something that is down if ($serv->{'depend'} && defined($oldstatus{$serv->{'depend'}})) { $depend = &get_service($serv->{'depend'}); $depstats = &expand_oldstatus($oldstatus{$serv->{'depend'}}, $depend); @depremotes = split(/\s+/, $depend->{'remote'}); if ($depstats->{$depremotes[0]} != 1) { # It is .. mark all as failed dependencies $oldstatus{$serv->{'id'}} = join(" ", map { "$_=-4" } @remotes); next; } } # Find the current status $warn = $serv->{'nosched'} == 0 ? $config{'sched_warn'} : $serv->{'nosched'} - 2; @stats = &service_status($serv); $oldstats = &expand_oldstatus($oldstatus{$serv->{'id'}}, $serv); # Find the notification modes %notify = map { $_, 1 } split(/\s+/, $serv->{'notify'}); # If the number of fails before warning is > 1, then the status may # still be considered OK even if it is down right now local $up = $stat->{'up'}; if ($up != 1 && $serv->{'fails'} > 1) { $fails{$serv->{'id'}}++; if ($fails{$serv->{'id'}} < $serv->{'fails'}) { # Not really down yet $up = 1; } } else { $fails{$serv->{'id'}} = 0; } # Check for a status change or failure on each monitored host, # and perform the appropriate action $newstats = { }; foreach $r (@remotes) { # Work out the hostname local $host = $r eq "*" ? $thishost : $r; $o = $oldstats->{$r}; # Get the up/down status local ($stat) = grep { $_->{'remote'} eq $r } @stats; if (!$stat) { print STDERR "Failed to find status for $r!\n"; next; } # If the number of fails before warning is > 1, then the status # map still be considered OK even if it is down right now local $up = $stat->{'up'}; local $fid = $serv->{'id'}."-".$r; if ($up != 1 && $serv->{'fails'} > 1) { $fails{$fid}++; if ($fails{$fid} < $serv->{'fails'}) { # Not really down yet $up = 1; } } else { $fails{$fid} = 0; } $thisemail = undef; $suffix = undef; $out = undef; if ($warn == 0 && $up == 0 && $o) { # Service has just gone down $suffix = "down"; $out = &run_on_command($serv, $serv->{'ondown'}); } elsif ($warn == 1 && $up != $o && (defined($o) || $up == 0)) { # Service has changed status if ($up == 0) { # A monitor has gone down $suffix = "down"; $out = &run_on_command($serv, $serv->{'ondown'}); } elsif ($up == 1 && $o != -4) { # A monitor has come back up after being down $suffix = "up"; $out = &run_on_command($serv, $serv->{'onup'}); } elsif ($up == -1) { # Detected that a program the monitor depends on # is not installed $suffix = "un"; } elsif ($up == -2) { # Cannot contact remote Webmin $suffix = "webmin"; } elsif ($up == -3) { # Monitor function timed out $suffix = "timed"; } } elsif ($warn == 2 && $up == 0) { # Service is down now $suffix = "isdown"; $out = &run_on_command($serv, $serv->{'ondown'}); } # If something happened, notify people if ($suffix) { $subj = &text('monitor_sub_'.$suffix, $serv->{'desc'}, $host); if ($notify{'pager'}) { $pager_msg .= &text('monitor_pager_'.$suffix, $host, $serv->{'desc'}, $now); } if ($notify{'snmp'}) { push(@snmp_msg, &text('monitor_snmp_'.$suffix, $host, $serv->{'desc'})); } if ($notify{'email'}) { $thisemail .= &text('monitor_email_'.$suffix, $host, $serv->{'desc'}, $now)."\n"; if ($out) { $thisemail .= $out; } $thisemail .= "\n"; $ecount++; } } $newstats->{$r} = $up; if ($serv->{'email'} && $thisemail) { # If this service has an extra email address specified, # send to it &send_status_email($thisemail, $config{'subject_mode'} ? $subj : &text('monitor_sub', $subj), $serv->{'email'}); } $email .= $thisemail; if ($config{'sched_single'} && $email) { # Force the sending of one email and page per report &send_status_email($email, $config{'subject_mode'} ? $subj : &text('monitor_sub', $subj), $config{'sched_email'}); undef($email); if ($pager_msg) { &send_status_pager($pager_msg); } undef($pager_msg); } # If any SNMP messages are defined, send them if (@snmp_msg) { &send_status_trap(@snmp_msg); undef(@snmp_msg); } } # Update old status hash $oldstatus{$serv->{'id'}} = join(" ", map { "$_=$newstats->{$_}" } @remotes); } # Close oldstatus and fails files &write_file($oldstatus_file, \%oldstatus); &unlock_file($oldstatus_file); &write_file($fails_file, \%fails); &unlock_file($fails_file); # Send the email and page with all messages, if necessary if ($ecount && !$config{'sched_single'}) { &send_status_email($email, $config{'subject_mode'} ? $text{'monitor_sub2'} : $ecount == 1 ? &text('monitor_sub', $subj) : &text('monitor_sub3', $ecount), $config{'sched_email'}); } if ($pager_msg && !$config{'sched_single'}) { &send_status_pager($pager_msg); } # send_status_email(text, subject, email-to) sub send_status_email { return if (!$_[2]); &foreign_require("mailboxes", "mailboxes-lib.pl"); # Construct and send the email (using correct encoding for body) local $from = $config{'sched_from'} ? $config{'sched_from'} : &mailboxes::get_from_address(); &mailboxes::send_text_mail($from, $_[2], undef, $_[1], $_[0], $config{'sched_smtp'}); } # send_status_pager(text) # Send some message with the pager command, if configured sub send_status_pager { return if (!$config{'sched_pager'}); return if (!&has_command($config{'pager_cmd'})); system("$config{'pager_cmd'} ".quotemeta($config{'sched_pager'})." ". quotemeta($_[0])." >/dev/null 2>&1 session( "-hostname" => $config{'snmp_server'}, "-port" => 162, "-version" => $config{'snmp_version'}, "-community" => $config{'snmp_community'}, ); if ($error) { print STDERR "SNMP connect failed : $error\n"; return; } # Build OIDs list local (@oids, $m); foreach $m (@_) { local $oid = $config{'snmp_trap'}; push(@oids, $oid, 4, $m); } # Send off a trap local $rv; if ($config{'snmp_version'} == 1) { $rv = $session->trap( "-varbindlist" => \@oids); } elsif ($config{'snmp_version'} >= 2) { @oids = ( "1.3.6.1.2.1.1.3.0", 67, 0, "1.3.6.1.6.3.1.1.4.1.0", 6, $oids[0], @oids ); $rv = $session->snmpv2_trap( "-varbindlist" => \@oids); } if (!$rv) { print STDERR "trap failed! : ",$session->error(),"\n"; } return; } eval "use SNMP_Session"; if (!$@) { # Using the SNMP::Session module eval "use BER"; local $session = $config{'snmp_version'} == 1 ? SNMP_Session->open($config{'snmp_server'}, $config{'snmp_community'}, 162) : SNMPv2c_Session->open($config{'snmp_server'}, $config{'snmp_community'}, 162); if (!$session) { print STDERR "SNMP connect to $config{'snmp_server'} failed\n"; return; } local $rv; if ($config{'snmp_version'} == 1) { local @myoid= ( 1,3,6,1,4,1 ); local @oids; foreach my $m (@_) { push(@oids, [ encode_oid(split(/\./, $config{'snmp_trap'})), encode_string($m) ]); } $rv = $session->trap_request_send( encode_oid(@myoid), encode_ip_address(&to_ipaddress(&get_system_hostname())), encode_int(2), encode_int(0), encode_timeticks(0), @oids ); } elsif ($config{'snmp_version'} == 2) { @oids = ( "1.3.6.1.2.1.1.3.0", 67, 0, "1.3.6.1.6.3.1.1.4.1.0", 6, $oids[0], @oids ); $rv = $session->v2_trap_request_send(\@oids, 0); } if (!$rv) { print STDERR "trap failed!\n"; } return; } print STDERR "No SNMP perl module found\n"; } # run_on_command(&serv, command) sub run_on_command { return undef if (!$_[1]); local $out; if ($_[0]->{'runon'} && $_[0]->{'remote'}) { # Run on the remote host local $cmd = $_[1]; $cmd =~ s/\\/\\\\/g; $cmd =~ s/'/\\'/g; if ($config{'output'}) { $out = &remote_eval($_[0]->{'remote'}, "status", "`($cmd) 2>&1 {'remote'})."\n". $out; } else { &remote_eval($_[0]->{'remote'}, "status", "system('($cmd) >/dev/null 2>&1 {'remote'})."\n"; } } else { # Just run locally if ($config{'output'}) { $out = `($_[1]) 2>&1 /dev/null 2>&1 {'id'} eq $b->{'id'}) { return 0; } elsif (!$a->{'depend'} && !$b->{'depend'}) { return $a->{'desc'} cmp $b->{'desc'}; } elsif ($a->{'depend'} && !$b->{'depend'}) { return 1; } elsif (!$a->{'depend'} && $b->{'depend'}) { return -1; } else { return $a->{'depend'} eq $b->{'id'} ? 1 : $b->{'depend'} eq $a->{'id'} ? -1 : $a->{'desc'} cmp $b->{'desc'}; } } # quoted_encode(text) sub quoted_encode { local $t = $_[0]; $t =~ s/([=\177-\377])/sprintf("=%2.2X",ord($1))/ge; return $t; } status/postgresql-monitor.pl0100664000567100000120000000074010553215073016313 0ustar jcameronwheel# postgresql-monitor.pl # Monitor the PostgreSQL server on this host # Check if postgresql is running sub get_postgresql_status { return { 'up' => -1 } if (!&foreign_check($_[1])); &foreign_require($_[1], "postgresql-lib.pl"); local %pconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-x $pconfig{'psql'}); local $r = &foreign_call($_[1], "is_postgresql_running"); return { 'up' => $r ? 1 : 0 }; } sub parse_postgresql_dialog { &depends_check($_[0], "postgresql"); } status/proc-monitor.pl0100664000567100000120000000271510273571523015063 0ustar jcameronwheel# proc-monitor.pl # Check if some process is running sub get_proc_status { local (@found, $count); return { 'up' => -1 } if (!&foreign_check("proc")); &foreign_require("proc", "proc-lib.pl"); foreach $p (&foreign_call("proc", "list_processes")) { if ($p->{'args'} =~ /$_[0]->{'cmd'}/i) { push(@found, $p->{'pid'}); $count++; } } local $thresh = $_[0]->{'thresh'} || 1; if ($_[0]->{'not'}) { if ($count >= $thresh) { return { 'up' => 0 }; } else { return { 'up' => 1 }; } } else { if ($count >= $thresh) { return { 'up' => 1, 'desc' => &text('proc_pid', join(" ", @found)) }; } else { return { 'up' => 0 }; } } } sub show_proc_dialog { print " $text{'proc_cmd'}\n"; print "\n"; print "$text{'proc_not'}\n"; printf " %s\n", $_[0]->{'not'} ? "" : "checked", $text{'proc_not0'}; printf " %s \n", $_[0]->{'not'} ? "checked" : "", $text{'proc_not1'}; print " $text{'proc_thresh'}\n"; printf " \n", $_[0]->{'thresh'} || 1; } sub parse_proc_dialog { &depends_check($_[0], "proc"); $in{'cmd'} || &error($text{'proc_ecmd'}); $_[0]->{'cmd'} = $in{'cmd'}; $_[0]->{'not'} = $in{'not'}; $in{'thresh'} =~ /^\d+$/ || &error($text{'proc_ethresh'}); $_[0]->{'thresh'} = $in{'thresh'}; } 1; status/bind8-monitor.pl0100664000567100000120000000130610553214710015110 0ustar jcameronwheel# bind8-monitor.pl # Monitor the BIND DNS server on this host # Check the PID file to see if apache is running sub get_bind8_status { return { 'up' => -1 } if (!&foreign_check($_[1])); &foreign_require($_[1], "bind8-lib.pl"); local %bconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-r &foreign_call($_[1], "make_chroot", $bconfig{'named_conf'})); local $file = &foreign_call($_[1], "get_pid_file"); $file = &foreign_call($_[1], "make_chroot", $file, 1); if (&check_pid_file($file)) { local @st = stat($file); return { 'up' => 1, 'desc' => &text('up_since', scalar(localtime($st[9]))) }; } else { return { 'up' => 0 }; } } sub parse_bind8_dialog { &depends_check($_[0], "bind8"); } 1; status/config0100664000567100000120000000015410356575212013262 0ustar jcameronwheelindex_status=1 sort_mode=0 output=0 snmp_version=2 snmp_trap=1.3.6.1.4.1.10000.1.1 subject_mode=0 columns=2 status/sensors-monitor.pl0100664000567100000120000000642510402531166015607 0ustar jcameronwheel# Check if some lm_sensors value is too high sub get_sensors_status { return { 'up' => 1 } if (!&has_command("sensors")); local @sens = &get_sensors_values(); local ($sens) = grep { $_->{'name'} eq $_[0]->{'name'} } @sens; return { 'up' => 1 } if (!$sens); if ($_[0]->{'mode'} == 0) { return $sens->{'alarm'} ? { 'up' => 0 } : { 'up' => 1 }; } elsif ($_[0]->{'mode'} == 1) { return $sens->{'value'} < $_[0]->{'min'} ? { 'up' => 0 } : { 'up' => 1 }; } elsif ($_[0]->{'mode'} == 2) { return $sens->{'value'} > $_[0]->{'max'} ? { 'up' => 0 } : { 'up' => 1 }; } } sub show_sensors_dialog { if (!&has_command("sensors")) { print " $text{'sensors_cmd'} \n"; } elsif (@sens = &get_sensors_values()) { print " $text{'sensors_name'}\n"; print "",&ui_select("name", $_[0]->{'name'}, [ map { [ $_->{'name'}, &text('sensors_cur', $_->{'name'}, $_->{'value'}, $_->{'units'}) ] } @sens ])," \n"; print " $text{'sensors_value'}\n"; print "",&ui_radio("mode", $_[0]->{'mode'} || 0, [ [ 0, $text{'sensors_value0'} ], [ 1, &text('sensors_value1', &ui_textbox("min", $_[0]->{'min'}, 8)) ], [ 2, &text('sensors_value2', &ui_textbox("max", $_[0]->{'max'}, 8)) ] ]), " \n"; } else { print " $text{'sensors_none'} \n"; } } sub parse_sensors_dialog { &has_command("sensors") || &error($text{'sensors_cmd'}); local @sens = &get_sensors_values(); @sens || &error($text{'sensors_none'}); $_[0]->{'name'} = $in{'name'}; $_[0]->{'mode'} = $in{'mode'}; $_[0]->{'max'} = $in{'max'}; $_[0]->{'min'} = $in{'min'}; if ($in{'mode'} == 1) { $in{'min'} =~ /^[0-9\.\+\-]+$/ || &error($text{'sensors_emin'}); } elsif ($in{'mode'} == 2) { $in{'max'} =~ /^[0-9\.\+\-]+$/ || &error($text{'sensors_emax'}); } } # get_sensors_values() # Returns a list of lm_sensors names, values and maxes sub get_sensors_values { if (!defined(@get_sensors_cache)) { local @rv; open(SENS, "sensors |"); while() { if (/^([^:]+):\s+([0-9\.\+\-]+)\s*(\S+)\s+\(min\s+=\s+([0-9\.\+\-]+)\s*(\S+),\s+max\s+=\s+([0-9\.\+\-]+)/) { # Value with min and max push(@rv, { 'name' => $1, 'value' => $2, 'units' => $3, 'min' => $4, 'max' => $6 }); $rv[$#rv]->{'alarm'} = 1 if (/ALARM/); } elsif (/^([^:]+):\s+([0-9\.\+\-]+)\s*(\S+)\s+\(min\s+=\s+([0-9\.\+\-]+)\s*(\S+),\s+div\s+=\s+([0-9\.\+\-]+)/) { # Value with min only push(@rv, { 'name' => $1, 'value' => $2, 'units' => $3, 'min' => $4, 'div' => $6 }); $rv[$#rv]->{'alarm'} = 1 if (/ALARM/); } elsif (/^([^:]+):\s+([0-9\.\+\-]+)\s*(\S+)\s+\((limit|high)\s+=\s+([0-9\.\+\-]+)\s*(\S+)/) { # Value with max only push(@rv, { 'name' => $1, 'value' => $2, 'units' => $3, 'max' => $5 }); $rv[$#rv]->{'alarm'} = 1 if (/ALARM/); } elsif (/^([^:]+):\s+([0-9\.\+\-]+)\s*(\S+)\s+\(low\s+=\s+([0-9\.\+\-]+)\s*(\S+)\s*,\s+high\s+=\s+([0-9\.\+\-]+)/) { # Value with low and high push(@rv, { 'name' => $1, 'value' => $2, 'units' => $3, 'min' => $4, 'max' => $6 }); $rv[$#rv]->{'alarm'} = 1 if (/ALARM/); } } close(SENS); @get_sensors_cache = @rv; } return @get_sensors_cache; } status/save_mon.cgi0100775000567100000120000000550710552311235014366 0ustar jcameronwheel#!/usr/local/bin/perl # save_mon.cgi # Create, update or delete a monitor require './status-lib.pl'; $access{'edit'} || &error($text{'mon_ecannot'}); &ReadParse(); if ($in{'type'}) { $serv->{'type'} = $in{'type'}; $serv->{'id'} = time(); } else { $serv = &get_service($in{'id'}); $serv->{'oldremote'} = $serv->{'remote'}; } if ($in{'delete'}) { # Delete the monitor &delete_service($serv); &webmin_log("delete", undef, $serv->{'id'}, $serv); } elsif ($in{'newclone'}) { # Redirect to creation form, in clone mode &redirect("edit_mon.cgi?type=$serv->{'type'}&clone=$in{'id'}"); exit(0); } else { # Parse and validate inputs &error_setup($text{'mon_err'}); $in{'desc'} || &error($text{'mon_edesc'}); $serv->{'desc'} = $in{'desc'}; # Make sure remote monitors exist on remote systems @remotes = split(/\0/, $in{'remotes'}); $newremote = join(" ", @remotes); if ($in{'type'} || $serv->{'remote'} ne $newremote) { # Only need to check for new monitors foreach $r (@remotes) { next if ($r eq "*"); eval { $ch = &remote_foreign_check($r, 'status') }; &error(&text('mon_elogin', $r)) if ($@ =~ /invalid.*login/i || $@ =~ /HTTP.*401/i); &error(&text('mon_eremote', $r)) if ($@); $ch || &error(&text('mon_estatus', $r)); &remote_foreign_require($r, 'status', 'status-lib.pl'); if ($in{'type'} =~ /^(\S+)::(\S+)$/) { # Check if module is installed $ok = &remote_foreign_call( $r, 'status', "foreign_check", $1); } else { $ok = &remote_eval($r, 'status', "-r \"\$root_directory/status/$serv->{'type'}-monitor.pl\""); } $ok || &error(&text('mon_ertype', $r)); } } $serv->{'remote'} = $newremote; $serv->{'groups'} = join(" ", split(/\0/, $in{'groups'})); $serv->{'remote'} || $serv->{'groups'} || &error($text{'mon_enoremote'}); $serv->{'nosched'} = $in{'nosched'}; $serv->{'notify'} = join(" ", split(/\0/, $in{'notify'})); $serv->{'ondown'} = $in{'ondown'}; $serv->{'onup'} = $in{'onup'}; $serv->{'runon'} = $in{'runon'}; $serv->{'clone'} = $in{'clone'}; $in{'fails'} =~ /^\d+$/ || &error($text{'mon_efails'}); $serv->{'fails'} = $in{'fails'}; $serv->{'email'} = $in{'email'}; $type = $serv->{'type'}; if ($in{'depend'} && $in{'depend'} eq $serv->{'id'}) { &error($text{'mon_edepend'}); } $serv->{'depend'} = $in{'depend'}; # Parse inputs for this monitor type if ($type =~ /^(\S+)::(\S+)$/) { # From another module ($mod, $mtype) = ($1, $2); &foreign_require($mod, "status_monitor.pl"); &foreign_call($mod, "status_monitor_parse", $mtype, $serv,\%in); } else { # From this module do "./${type}-monitor.pl"; $func = "parse_${type}_dialog"; if (defined(&$func)) { &$func($serv); } } # Save or create the monitor &save_service($serv); &webmin_log($in{'type'} ? "create" : "modify", undef, $serv->{'id'}, $serv); } &redirect(""); status/config-debian-linux-3.00100664000567100000120000000020110370003124016106 0ustar jcameronwheelindex_status=1 pager_cmd=sms_client sort_mode=0 output=0 snmp_version=2 snmp_trap=1.3.6.1.4.1.10000.1.1 subject_mode=0 columns=2 status/exec-monitor.pl0100664000567100000120000000066407251552502015043 0ustar jcameronwheel# exec-monitor.pl # Check if some command exits with non-zero status sub get_exec_status { system("($_[0]->{'cmd'}) >/dev/null 2>&1 $?==0 ? 1 : 0 }; } sub show_exec_dialog { print " $text{'exec_cmd'}\n"; print "\n"; } sub parse_exec_dialog { $in{'cmd'} || &error($text{'exec_ecmd'}); $_[0]->{'cmd'} = $in{'cmd'}; } status/config.info.sv0100644000567100000120000000022307211006107014622 0ustar jcameronwheelindex_status=Status som ska visas i listan,1,1-Aktuell status,0-Frn senaste schemalagda kontroll ping_cmd=Kommando fr att pinga en dator,3,Inget status/config.info.pl0100664000567100000120000000022207211545361014620 0ustar jcameronwheelindex_status=Stan pokazywany na licie,1,1-Stan biecy,0-Z ostatniego regularnrgo sprawdzenia ping_cmd=Polecenie do pingowania hosta,3,Brak status/config.info.es0100644000567100000120000000132310307032272014605 0ustar jcameronwheelline1=Opciones Configurables,11 index_status=Estado a mostrar en la lista,1,1-Estado actual,0-Del último chequeo planificado pager_cmd=Comando para enviar mensaje a un busca,3,Ninguno refresh=Segundos entre refrescos de página,3,No refrescar sort_mode=Mostrar monitores ordenados por,1,0-Orden creación,1-Descripción,2-Máquina,3-Estado anterior output=¿Capturar la salida de los programas ejecutados cuando se pasa a caído?,1,1-Si,0-No subject_mode=Modo del asunto del email,1,0-Estilo nuevo,1-Estilo antiguo snmp_server=Enviar tramas SNMP al servidor,3,Ninguno snmp_version=Versión de protocolo SNMP,1,3-v3,2-v2,1-v1 snmp_community=Comunidad SNMP,0 snmp_trap=SNMP OID para tramas,0 status/postfix-monitor.pl0100664000567100000120000000077510553215070015611 0ustar jcameronwheel# postfix-monitor.pl # Monitor the postfix server on this host # Check to see if postfix is running sub get_postfix_status { return { 'up' => -1 } if (!&foreign_check($_[1])); &foreign_require($_[1], "postfix-lib.pl"); local %pconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-r $pconfig{'postfix_control_command'}); if (&foreign_call($_[1], "is_postfix_running")) { return { 'up' => 1 }; } else { return { 'up' => 0 }; } } sub parse_postfix_dialog { &depends_check($_[0], "postfix"); } 1; status/config.info.zh_CN0100644000567100000120000000017507224543154015215 0ustar jcameronwheelindex_status=Status to display in list,1,1-Current status,0-From last scheduled check ping_cmd=Command to ping a host,3,None status/config.info.nl0100644000567100000120000000017507236126017014623 0ustar jcameronwheelindex_status=Status to display in list,1,1-Current status,0-From last scheduled check ping_cmd=Command to ping a host,3,None status/file-monitor.pl0100664000567100000120000000334010472436073015033 0ustar jcameronwheel# file-monitor.pl # Check the status of some file sub get_file_status { local @st = stat($_[0]->{'file'}); local $size; if ($_[0]->{'test'} >= 2) { $size = -d $_[0]->{'file'} ? &disk_usage_kb($_[0]->{'file'})*1024 : $st[7]; } if ($_[0]->{'test'} == 0) { $up = @st ? 1 : 0; } elsif ($_[0]->{'test'} == 1) { $up = @st ? 0 : 1; } elsif ($_[0]->{'test'} == 2) { $up = $size > $_[0]->{'greater'} ? 1 : 0; } elsif ($_[0]->{'test'} == 3) { $up = $size < $_[0]->{'lesser'} ? 1 : 0; } return { 'up' => $up }; } sub show_file_dialog { print " $text{'file_file'}\n"; print " \n"; print " $text{'file_test'}\n"; printf " %s
\n", $_[0]->{'test'} == 0 ? 'checked' : '', $text{'file_test_0'}; printf " %s
\n", $_[0]->{'test'} == 1 ? 'checked' : '', $text{'file_test_1'}; printf " %s\n", $_[0]->{'test'} == 2 ? 'checked' : '', $text{'file_test_2'}; printf " %s
\n", $_[0]->{'greater'}, $text{'file_bytes'}; printf " %s\n", $_[0]->{'test'} == 3 ? 'checked' : '', $text{'file_test_3'}; printf " %s
\n", $_[0]->{'lesser'}, $text{'file_bytes'}; print " \n"; } sub parse_file_dialog { $in{'file'} || &error($text{'file_efile'}); $_[0]->{'file'} = $in{'file'}; $_[0]->{'test'} = $in{'test'}; $in{'greater'} =~ /^\d*$/ && $in{'lesser'} =~ /^\d*$/ || &error($text{'file_esize'}); $_[0]->{'greater'} = $in{'greater'}; $_[0]->{'lesser'} = $in{'lesser'}; } status/traffic-monitor.pl0100664000567100000120000000543010437432062015527 0ustar jcameronwheel# traffic-monitor.pl # Check if network traffic is too high sub get_traffic_status { local %traffic; &read_file("$module_config_directory/traffic", \%traffic); local $ifaces = &get_traffic_list(); local @i = @{$ifaces->{$_[0]->{'iface'}}}; if (@i) { local @l = split(/\s+/, $traffic{$_[0]->{'iface'}.'-'.$_[0]->{'dir'}}); local $now = time(); local $diff; if ($_[0]->{'dir'} == 0) { $diff = ($i[0]+$i[2]) - ($l[0]+$l[2]); } elsif ($_[0]->{'dir'} == 1) { $diff = $i[0] - $l[0]; } else { $diff = $i[2] - $l[2]; } if ($now <= $l[4]) { return { 'up' => 1 }; } local $up = $diff / ($now - $l[4]) > $_[0]->{'bytes'} ? 0 : 1; @l = ( $i[0], $i[1], $i[2], $i[3], $now ); $traffic{$_[0]->{'iface'}.'-'.$_[0]->{'dir'}} = join(" ", @l); &write_file("$module_config_directory/traffic", \%traffic); return { 'up' => $up }; } else { # Interface is gone! return { 'up' => -1 }; } } sub show_traffic_dialog { print " $text{'traffic_desc'} \n"; print " $text{'traffic_iface'}\n"; print "\n"; print "$text{'traffic_bytes'}\n"; print " \n"; print " $text{'traffic_dir'} \n"; printf " %s\n", $_[0]->{'dir'} == 0 ? 'checked' : '', $text{'traffic_dir0'}; printf " %s\n", $_[0]->{'dir'} == 1 ? 'checked' : '', $text{'traffic_dir1'}; printf " %s \n", $_[0]->{'dir'} == 2 ? 'checked' : '', $text{'traffic_dir2'}; } sub parse_traffic_dialog { local $ifaces = &get_traffic_list(); (keys %$ifaces) || &error($text{'traffic_eifaces'}); $in{'bytes'} =~ /^\d+$/ || &error($text{'traffic_ebytes'}); $_[0]->{'iface'} = $in{'iface'}; $_[0]->{'bytes'} = $in{'bytes'}; $_[0]->{'dir'} = $in{'dir'}; } # get_traffic_list() # Returns a map from interface names to arrays of bytes in, packets in, # bytes out, packets out sub get_traffic_list { local %rv; if ($gconfig{'os_type'} eq 'freebsd') { # Get interfaces from netstat command open(NETSTAT, "netstat -nib |"); while() { if (/^(\S+)\s+(\d+)\s+(\S+)\s+(\d+\.\d+\.\d+\.\d+)\s+(\d+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(\S+)\s+(\d+)/ && !$rv{$1}) { $rv{$1} = [ $7, $5, $10, $8 ]; } } close(NETSTAT); } else { # Get interfaces from Linux proc file open(TR, "/proc/net/dev"); while() { if (/^\s*([a-z0-9]+):\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/) { $rv{$1} = [ $2, $3, $10, $11 ]; } } close(TR); } return \%rv; } status/config.info.ja_JP.euc0100644000567100000120000000046210067670055015751 0ustar jcameronwheelline1=ǽʥץ,11 index_status=ꥹȤɽ륹ơ,1,1-ߤΥơ,0-塼ˤǸΥå pager_cmd=ڡ(ݥ٥)˥å륳ޥ,3,̵ refresh=ڡκɤ߹ߴֳ(),3,ɤ߹ߤʤ sort_mode=ƻܤΤʤӽ,1,0-,1-,2-ۥȽ status/log_parser.pl0100644000567100000120000000070610277334363014567 0ustar jcameronwheel# log_parser.pl # Functions for parsing this module's logs do 'status-lib.pl'; # parse_webmin_log(user, script, action, type, object, ¶ms) # Converts logged information from this module into human-readable form sub parse_webmin_log { local ($user, $script, $action, $type, $object, $p) = @_; if ($action eq "deletes") { return &text("log_deletes", $object); } else { return &text("log_${action}", "".&html_escape($p->{'desc'}).""); } } status/acl_security.pl0100644000567100000120000000151707452061410015110 0ustar jcameronwheel do 'status-lib.pl'; # acl_security_form(&options) # Output HTML for editing security options for the status module sub acl_security_form { print " $text{'acl_edit'} \n"; printf " $text{'yes'}\n", $_[0]->{'edit'} ? 'checked' : ''; printf " $text{'no'}\n", $_[0]->{'edit'} ? '' : 'checked'; print "$text{'acl_sched'} \n"; printf " $text{'yes'}\n", $_[0]->{'sched'} ? 'checked' : ''; printf " $text{'no'} \n", $_[0]->{'sched'} ? '' : 'checked'; } # acl_security_save(&options) # Parse the form for security options for the acl module sub acl_security_save { $_[0]->{'edit'} = $in{'edit'}; $_[0]->{'sched'} = $in{'sched'}; } status/defaultacl0100664000567100000120000000001707302221116014103 0ustar jcameronwheeledit=1 sched=1 status/config-netbsd0100664000567100000120000000015410370003133014517 0ustar jcameronwheelindex_status=1 sort_mode=0 output=0 snmp_version=2 snmp_trap=1.3.6.1.4.1.10000.1.1 subject_mode=0 columns=2 status/space-monitor.pl0100664000567100000120000000410110553215137015177 0ustar jcameronwheel# space-monitor.pl # Check the free space on some filesystem sub get_space_status { return { 'up' => -1 } if (!&foreign_check("mount")); &foreign_require("mount", "mount-lib.pl"); local $m; foreach $f (&mount::list_mounted()) { $m = $f if ($f->[0] eq $_[0]->{'fs'}); } if ($m) { local @sp = &mount::disk_space($m->[2], $m->[0]); if ($sp[1] < $_[0]->{'min'}) { return { 'up' => 0 }; } if ($_[0]->{'inode'} && defined(&mount::inode_space)) { # Do the inode check too local @isp = &mount::inode_space($m->[2], $m->[0]); if ($isp[1] < $_[0]->{'inode'}) { return { 'up' => 0, 'desc' => &text('space_ierr', $isp[1]) }; } } return { 'up' => 1, 'desc' => &text('space_desc', &nice_size($sp[1]*1024)) }; } else { return { 'up' => -1, 'desc' => $text{'space_nofs'} }; } } sub show_space_dialog { local $found; &foreign_require("mount", "mount-lib.pl"); print " $text{'space_fs'}\n"; print "\n"; printf "\n", $found ? '' : $_[0]->{'fs'}; print " $text{'space_min2'}\n"; print "",&ui_bytesbox("min", $_[0]->{'min'}*1024),"\n"; if (defined(&mount::inode_space)) { print "$text{'space_inode'}\n"; print "",&ui_textbox("inode", $_[0]->{'inode'}, 10),"\n"; } print "\n"; } sub parse_space_dialog { &depends_check($_[0], "mount"); $in{'min'} =~ /^[0-9\.]+$/ || &error($text{'space_emin'}); $_[0]->{'min'} = $in{'min'}*$in{'min_units'}/1024; if ($in{'fs'}) { $_[0]->{'fs'} = $in{'fs'}; } else { $in{'other'} =~ /^\// || &error($text{'space_eother'}); $_[0]->{'fs'} = $in{'other'}; } if (defined($in{'inode'})) { $_[0]->{'inode'} = $in{'inode'} ? int($in{'inode'}) : undef; } } status/refresh.cgi0100775000567100000120000000066710532715303014221 0ustar jcameronwheel#!/usr/local/bin/perl # Run monitor.pl to refresh status require './status-lib.pl'; &ReadParse(); &ui_print_unbuffered_header(undef, $text{'refresh_title'}, ""); print $text{'refresh_doing'},"
\n"; &foreign_require("cron", "cron-lib.pl"); &cron::create_wrapper($cron_cmd, $module_name, "monitor.pl"); system("$cron_cmd >/dev/null 2>&1 \n"; &ui_print_footer("", $text{'index_return'}); status/load-monitor.pl0100664000567100000120000000234710016740544015034 0ustar jcameronwheel# load-monitor.pl # Check if the system load exceeds some level sub get_load_status { local @u = &uptime_output(); if (!@u) { return { 'up' => -1 } } elsif ($u[$_[0]->{'time'}] >= $_[0]->{'max'}) { return { 'up' => 0 } } else { return { 'up' => 1, 'desc' => "Load is $u[$_[0]->{'time'}]" }; } } sub show_load_dialog { print " $text{'load_time'} \n"; printf " $text{'load_1'}\n", $_[0]->{'time'} == 0 ? "checked" : ""; printf " $text{'load_5'}\n", $_[0]->{'time'} == 1 ? "checked" : ""; printf " $text{'load_15'}\n", $_[0]->{'time'} == 2 ? "checked" : ""; print "\n"; print "$text{'load_max'}\n"; print " \n"; } sub parse_load_dialog { &has_command("uptime") || &error($text{'load_ecmd'}); scalar(&uptime_output()) || &error($text{'load_efmt'}); $in{'max'} =~ /^[0-9\.]+$/ || &error($text{'load_emax'}); $_[0]->{'time'} = $in{'time'}; $_[0]->{'max'} = $in{'max'}; } sub uptime_output { local $out = `uptime 2>&1`; return $out =~ /average(s)?:\s+([0-9\.]+),?\s+([0-9\.]+),?\s+([0-9\.]+)/i ? ( $2, $3, $4 ) : ( ); } status/config.info.ca0100644000567100000120000000156610424446671014606 0ustar jcameronwheelline1=Opcions configurables,11 index_status=Estat a mostrar a la llista,1,1-Estat actual,0-A partir de la darrera verificaci programada pager_cmd=Ordre per enviar el missatge a un buscapersones,3,Cap refresh=Segons entre el refresc de pgines,3,No refresquis sort_mode=Mostra els monitors ordenats per,1,0-Ordre de creaci,1-Descripci,2-Host,3-Darrer estat columns=Columnes per a la taula de serveis,1,2-2,1-1 output=Captura la sortida dels programes executats quan estigui desactivat,1,1-S,0-No subject_mode=Mode d'assumpte de correu,1,0-Estil nou,1-Estil vell pinger=Envia els pings amb l'ordre,10,-Utilitza el codi integrat,linux-Utilitza l'ordre apropiada per a Linux o FreeBSD,Una altra ordre snmp_server=Envia trampes SNMP al servidor,3,Cap snmp_version=Versi del protocol SNMP,1,3-v3,2-v2,1-v1 snmp_community=Cadena de la comunitat SNMP,0 snmp_trap=OID SNMP de les trampes,0 status/feedback_files.pl0100664000567100000120000000025707452460767015354 0ustar jcameronwheel do 'status-lib.pl'; sub feedback_files { opendir(DIR, $services_dir); local @rv = map { "$services_dir/$_" } grep { !/^\./ } readdir(DIR); closedir(DIR); return @rv; } 1; status/config.info.de0100664000567100000120000000057710067670020014604 0ustar jcameronwheelindex_status=In der Liste anzuzeigender Status,1,1-Aktueller Status,0-Vom letzten Überwachungszeitpunkt pager_cmd=Befehl, um Nachrichten an einen Pager zu senden,3,Keiner ping_cmd=Befehl zum ping an einen Host,3,Keiner refresh=Sekunden zwischen Seiten-Auffrischungen,3,nicht auffrischen sort_mode=zeige Monitore sortiert nach,1,0-erzeugter Reihenfolge,1-Beschreibung,2-Host status/change-monitor.pl0100664000567100000120000000135210522251655015337 0ustar jcameronwheel# change-monitor.pl # Check if some file or directory has changed sub get_change_status { local %change; &read_file("$module_config_directory/change", \%change); local $t = $change{$_[0]->{'file'}}; local @st = stat($_[0]->{'file'}); local $rv; if ($t && $st[9] != $t) { $rv = { 'up' => 0 }; } elsif (!$t) { $rv = { 'up' => -1 }; } else { $rv = { 'up' => 1 }; } $change{$_[0]->{'file'}} = $st[9]; &write_file("$module_config_directory/change", \%change); return $rv; } sub show_change_dialog { print " $text{'change_file'}\n"; printf " %s \n", $_[0]->{'file'}, &file_chooser_button("file", 0); } sub parse_change_dialog { $_[0]->{'file'} = $in{'file'}; } status/qmailadmin-monitor.pl0100664000567100000120000000065007552712411016227 0ustar jcameronwheel# qmailadmin-monitor.pl # Monitor the qmail server on this host # Check the PID file to see if qmail is running sub get_qmailadmin_status { local %qconfig = &foreign_config($_[1]); -d $qconfig{'qmail_dir'} || return { 'up' => -1 }; local ($pid) = &find_byname("qmail-send"); if ($pid) { return { 'up' => 1 }; } else { return { 'up' => 0 }; } } sub parse_qmailadmin_dialog { &depends_check($_[0], "qmailadmin"); } 1; status/config.info.tr0100644000567100000120000000107110225071064014624 0ustar jcameronwheelline1=Yaplandrlabilir seenekler,11 index_status=Listede gsterilecek durum,1,1-Mevcut durum,0-Son zamanlandrlm kontroldeki pager_cmd=ar cihazna mesaj gnderme komutu,3,Yok refresh=Sayfa yenilemeleri aras sre,3,Yenileme sort_mode=zleyicilerin gsterilme sras,1,0-Oluturulduu sra,1-Aklama,2-Makine ad output=Program kapandnda kts yakalansn m?,1,1-Evet,0-Hayr snmp_server=SNMP paketlerini bu sunucuya gnder,3,Yok snmp_version=SNMP protokol srm,1,2-v3,2-v2,1-v1 snmp_community=SNMP community string,0 snmp_trap=Paketler iin SNMP OID,0 status/monitor.pl.bak0100775000567100000120000000620207452715145014661 0ustar jcameronwheel#!/usr/local/bin/perl # monitor.pl # Check all the monitors and send email if something is down $no_acl_check++; require './status-lib.pl'; # Check if the monitor should be run now @tm = localtime(time()); @hours = split(/\s+/, $config{'sched_hours'}); !@hours || &indexof($tm[2], @hours) >= 0 || exit; @days = split(/\s+/, $config{'sched_days'}); !@days || &indexof($tm[6], @days) >= 0 || exit; # Check for services that are down &read_file("$module_config_directory/oldstatus", \%oldstatus); $now = localtime(time()); $host = &get_system_hostname(); foreach $serv (&list_services()) { if ($serv->{'nosched'}) { delete($oldstatus{$serv->{'id'}}); next; } $stat = &service_status($serv); $o = $oldstatus{$serv->{'id'}}; if ($config{'sched_warn'} == 0 && $stat->{'up'} == 0 && $o) { # Service has just gone down $email .= "Monitor on $host for '$serv->{'desc'}'\n". "has detected that the service is down at $now\n\n"; $subj = "$serv->{'desc'} down on $host"; $pager_msg .= "$host: '$serv->{'desc'}' is down $now! "; if ($serv->{'ondown'}) { system("($serv->{'ondown'}) >/dev/null 2>&1"); } } elsif ($config{'sched_warn'} == 1 && $stat->{'up'} != $o && (defined($o) || $stat->{'up'} == 0)) { # Service has changed status if ($stat->{'up'} == 0) { $email .= "Monitor on $host for '$serv->{'desc'}'\n". "has detected that the service is down at $now\n\n"; $subj = "$serv->{'desc'} down on $host"; $pager_msg .= "$host: '$serv->{'desc'}' is down $now! "; if ($serv->{'ondown'}) { system("($serv->{'ondown'}) >/dev/null 2>&1"); } } elsif ($stat->{'up'} == 1) { $email .= "Monitor on $host for '$serv->{'desc'}'\n". "has detected that the service is back up at $now\n\n"; $subj = "$serv->{'desc'} back up on $host"; $pager_msg .= "$host: '$serv->{'desc'}' is back up $now! "; if ($serv->{'onup'}) { system("($serv->{'onup'}) >/dev/null 2>&1"); } } } $oldstatus{$serv->{'id'}} = $stat->{'up'}; if ($config{'sched_single'} && $email) { # Force the sending of one email per report &send_status_email($email, $subj); undef($email); } } &write_file("$module_config_directory/oldstatus", \%oldstatus); # Send the email if necessary if ($email) { &send_status_email($email, 'Service monitor'); &send_status_pager($pager_msg); } # send_status_email(text, subject) sub send_status_email { return if (!$config{'sched_email'}); local %sconfig = &foreign_config("sendmail"); if ($config{'sched_from'}) { open(MAIL, "|$sconfig{'sendmail_path'} -t -f$config{'sched_from'} >/dev/null 2>&1"); print MAIL "From: $config{'sched_from'}\n"; } else { open(MAIL, "|$sconfig{'sendmail_path'} -t >/dev/null 2>&1"); print MAIL "From: webmin\n"; } print MAIL "To: $config{'sched_email'}\n"; print MAIL "Subject: $_[1]\n"; print MAIL "\n"; print MAIL $_[0]; print MAIL "\n"; close(MAIL); } # send_status_pager(text) sub send_status_pager { return if (!$config{'sched_pager'}); return if (!&has_command($config{'pager_cmd'})); local $msg = $_[0]; $msg =~ s/\\/\\\\/g; $msg =~ s/\'/\\\'/g; system("$config{'pager_cmd'} $config{'sched_pager'} '$msg' >/dev/null 2>&1 -1 }; local $pid; if (open(PID, $mconfig{'pid_file'}) && chop($pid = ) && kill(0, $pid)) { return { 'up' => 1 }; } else { return { 'up' => 0 }; } } sub parse_mon_dialog { &depends_check($_[0], "mon"); } 1; status/jabber-monitor.pl0100664000567100000120000000122710553215025015333 0ustar jcameronwheel# jabber-monitor.pl # Monitor the jabber server on this host # Check the PID file to see if mon is running sub get_jabber_status { return { 'up' => -1 } if (!&foreign_check($_[1])); local %jconfig = &foreign_config($_[1]); -r $jconfig{'jabber_config'} || return { 'up' => -1 }; &foreign_require($_[1], "jabber-lib.pl"); local $pidfile = &foreign_call($_[1], "jabber_pid_file"); if (open(PID, $pidfile) && ($pid = int()) && kill(0, $pid)) { return { 'up' => 1 }; } else { return { 'up' => 0 }; } } sub parse_jabber_dialog { &depends_check($_[0], "jabber"); eval "use XML::Parser"; &error(&text('jabber_eparser', "XML::Parser")) if ($@); } 1; status/usermin-monitor.pl0100664000567100000120000000075407552712436015611 0ustar jcameronwheel# usermin-monitor.pl # Monitor the usermin server on this host # Check the PID file to see if usermin is running sub get_usermin_status { local %uconfig = &foreign_config($_[1]); local %miniserv; &read_file("$uconfig{'usermin_dir'}/miniserv.conf", \%miniserv) || return { 'up' => -1 }; if (open(PID, $miniserv{'pidfile'}) && chop($pid = ) && kill(0, $pid)) { return { 'up' => 1 }; } else { return { 'up' => 0 }; } } sub parse_mon_dialog { &depends_check($_[0], "usermin"); } 1; status/portsentry-monitor.pl0100664000567100000120000000102710553215057016342 0ustar jcameronwheel# portsentry-monitor.pl # Monitor the portsentry daemon # Check the PID file to see if portsentry is running sub get_portsentry_status { return { 'up' => -1 } if (!&foreign_check("sentry")); local %sconfig = &foreign_config("sentry"); &has_command($sconfig{'portsentry'}) || return { 'up' => -1 }; &foreign_require("sentry", "sentry-lib.pl"); local @pids = &sentry::get_portsentry_pids(); if (@pids) { return { 'up' => 1 }; } else { return { 'up' => 0 }; } } sub parse_portsentry_dialog { &depends_check($_[0], "sentry"); } 1; status/hostsentry-monitor.pl0100664000567100000120000000101110553214776016333 0ustar jcameronwheel# hostsentry-monitor.pl # Monitor the hostsentry daemon # Check the PID file to see if hostsentry is running sub get_hostsentry_status { return { 'up' => -1 } if (!&foreign_check("sentry")); local %sconfig = &foreign_config("sentry"); -r $sconfig{'hostsentry'} || return { 'up' => -1 }; &foreign_require("sentry", "sentry-lib.pl"); local $pid = &sentry::get_hostsentry_pid(); if ($pid) { return { 'up' => 1 }; } else { return { 'up' => 0 }; } } sub parse_hostsentry_dialog { &depends_check($_[0], "sentry"); } 1; status/webmin-monitor.pl0100664000567100000120000000054707613761075015411 0ustar jcameronwheel# webmin-monitor.pl # Monitor the webmin server on this host # Check the PID file to see if webmin is running sub get_webmin_status { local %miniserv; &get_miniserv_config(\%miniserv); if (open(PID, $miniserv{'pidfile'}) && chop($pid = ) && kill(0, $pid)) { return { 'up' => 1 }; } else { return { 'up' => 0 }; } } sub parse_webmin_dialog { } 1; status/memory-monitor.pl0100664000567100000120000000151110277337750015427 0ustar jcameronwheel# memory-monitor.pl # Check the free memory sub get_memory_status { return { 'up' => -1 } if (!&foreign_check("proc")); &foreign_require("proc", "proc-lib.pl"); local @mem; eval "\@mem = &proc::get_memory_info()"; if ($@) { return { 'up' => -1 }; } elsif ($mem[1] < $_[0]->{'min'}) { return { 'up' => 0 }; } else { return { 'up' => 1, 'desc' => &text('memory_free2', &nice_size($mem[1]*1024)) }; } } sub show_memory_dialog { print " $text{'memory_min2'}\n"; print "",&ui_bytesbox("min", $_[0]->{'min'}*1024)," \n"; } sub parse_memory_dialog { &depends_check($_[0], "proc"); &foreign_require("proc", "proc-lib.pl"); defined(&proc::get_memory_info) || &error($text{'memory_eproc'}); $in{'min'} =~ /^[0-9\.]+$/ || &error($text{'memory_emin'}); $_[0]->{'min'} = $in{'min'}*$in{'min_units'}/1024; } status/cfengine-monitor.pl0100664000567100000120000000063707552712261015701 0ustar jcameronwheel# cfengine-monitor.pl # Monitor the cfengine daemon on this host # Check the PID file to see if cfd is running sub get_cfengine_status { local %cconfig = &foreign_config($_[1]); &has_command($cconfig{'cfd'}) || return { 'up' => -1 }; local @pids = &find_byname("cfd"); if (@pids) { return { 'up' => 1 }; } else { return { 'up' => 0 }; } } sub parse_cfengine_dialog { &depends_check($_[0], "cfengine"); } 1; status/uninstall.pl0100664000567100000120000000070107500051620014423 0ustar jcameronwheel# uninstall.pl # Called when webmin is uninstalled require 'status-lib.pl'; sub module_uninstall { if ($config{'sched_mode'}) { # Scheduled checking is enabled .. remove the cron job &foreign_require("cron", "cron-lib.pl"); $cron_cmd = "$module_config_directory/monitor.pl"; foreach $j (&cron::list_cron_jobs()) { if ($j->{'user'} eq 'root' && $j->{'command'} eq $cron_cmd) { &cron::delete_cron_job($j); last; } } } } 1; status/nut-monitor.pl0100664000567100000120000000432310332555616014724 0ustar jcameronwheel# Check if some NUT value is too low or high sub get_nut_status { return { 'up' => -1 } if (!&has_command("upsc")); local @sens = &get_ups_values($_[0]->{'ups'}); local ($sens) = grep { $_->{'name'} eq $_[0]->{'name'} } @sens; return { 'up' => 1 } if (!$sens); if ($_[0]->{'mode'} == 1) { return $sens->{'value'} < $_[0]->{'min'} ? { 'up' => 0 } : { 'up' => 1 }; } elsif ($_[0]->{'mode'} == 2) { return $sens->{'value'} > $_[0]->{'max'} ? { 'up' => 0 } : { 'up' => 1 }; } } sub show_nut_dialog { if (!&has_command("upsc")) { print " $text{'nut_cmd'} \n"; } else { # UPS name print " $text{'nut_ups'}\n"; print "",&ui_textbox("ups", $_[0]->{'ups'}, 20),"\n"; # Value to check print "$text{'nut_name'}\n"; local @sens = &get_ups_values(); if (@sens) { print "",&ui_select("name", $_[0]->{'name'}, [ map { [ $_->{'name'}, &text('nut_cur', $_->{'name'}, $_->{'value'}) ] } @sens ])," \n"; } else { print "",&ui_textbox("name", $_[0]->{'name'}, 20), " \n"; } print " $text{'nut_value'}\n"; print "",&ui_radio("mode", $_[0]->{'mode'} || 1, [ [ 1, &text('sensors_value1', &ui_textbox("min", $_[0]->{'min'}, 8)) ], [ 2, &text('sensors_value2', &ui_textbox("max", $_[0]->{'max'}, 8)) ] ]), " \n"; } } sub parse_nut_dialog { &has_command("upsc") || &error($text{'nut_cmd'}); $in{'ups'} =~ /^\S+$/ || &error($text{'nut_eups'}); $_[0]->{'ups'} = $in{'ups'}; $_[0]->{'name'} = $in{'name'}; $_[0]->{'mode'} = $in{'mode'}; $_[0]->{'max'} = $in{'max'}; $_[0]->{'min'} = $in{'min'}; if ($in{'mode'} == 1) { $in{'min'} =~ /^[0-9\.\+\-]+$/ || &error($text{'nut_emin'}); } elsif ($in{'mode'} == 2) { $in{'max'} =~ /^[0-9\.\+\-]+$/ || &error($text{'nut_emax'}); } } # get_ups_values(ups) # Returns a list of NUT attribute names and values for some UPS sub get_ups_values { if (!defined(@get_ups_cache)) { local @rv; open(SENS, "upsc ".quotemeta($_[0])." |"); while() { if (/^(\S+):\s+(.*)/) { push(@rv, { 'name' => $1, 'value' => $2 }); } } close(SENS); @get_ups_cache = @rv; } return @get_ups_cache; } status/proftpd-monitor.pl0100664000567100000120000000137410553215100015561 0ustar jcameronwheel# proftpd-monitor.pl # Monitor the ProFTPD server on this host # Check the PID file to see if proftpd is running sub get_proftpd_status { return { 'up' => -1 } if (!&foreign_check($_[1])); local %pconfig = &foreign_config($_[1]); -r $pconfig{'proftpd_path'} || return { 'up' => -1 }; if (open(PID, $pconfig{'pid_file'}) && chop($pid = ) && kill(0, $pid)) { return { 'up' => 1 }; } else { return { 'up' => 0 }; } } sub parse_proftpd_dialog { &error($text{'proftpd_etype'}) if (&run_from_inetd()); } sub run_from_inetd { local $m = $_[0]->{'clone'} || "proftpd"; &foreign_require($m, "proftpd-lib.pl"); local $conf = &foreign_call($m, "get_config"); local $st = &foreign_call($m, "find_directive", "ServerType", $conf); return lc($st) eq 'inetd'; } 1; status/config.info.ru_SU0100644000567100000120000000061210067401527015241 0ustar jcameronwheelline1= ,11 index_status=, ,1,1- ,0- pager_cmd=, ,3, refresh= ,3, sort_mode= ,1,0- ,1-,2- line2= ,11 ping_cmd= (ping),3, status/oldfile-monitor.pl0100664000567100000120000000151510010032012015501 0ustar jcameronwheel# oldfile-monitor.pl # Check if some file has not been changed lately sub get_oldfile_status { local %change; local @st = stat($_[0]->{'file'}); if (!@st) { # File doesn't exist! return { 'up' => -1 }; } elsif ($st[9] < time()-$_[0]->{'diff'}) { # File hasn't been changed lately return { 'up' => 0 }; } else { # File has been changed lately return { 'up' => 1 }; } } sub show_oldfile_dialog { print " $text{'oldfile_file'}\n"; printf " %s \n", $_[0]->{'file'}, &file_chooser_button("file", 0); print " $text{'oldfile_diff'}\n"; printf " %s \n", $_[0]->{'diff'}, $text{'oldfile_secs'}; } sub parse_oldfile_dialog { $_[0]->{'file'} = $in{'file'}; $_[0]->{'diff'} = $in{'diff'}; } status/mailserver.pl0100775000567100000120000000210107627114062014574 0ustar jcameronwheel#!/usr/local/bin/perl # mailserver.pl # Called from a sendmail alias when an autoresponse arrives, as sent by the # mailserver monitor $no_acl_check++; require './status-lib.pl'; # read headers and body while() { s/\r|\n//g; if (/^(\S+):\s+(.*)/) { $header{lc($1)} = $2; } elsif (!$_) { last; } } while() { $body .= $_; } if ($header{'subject'} =~ /TEST-(\S+)-(\S+)/) { # Looks like a valid reply local ($sserv, $sid) = ( $1, $2 ); $replies_file = "$module_config_directory/mailserver-replies"; &read_file($replies_file, \%replies); local ($when, $got, $id) = split(/\s+/, $replies{$sserv}); if ($id eq $sid) { # Got a reply to an outstanding email local $now = time(); $replies{$sserv} = "$when $now $id"; } else { # Reply is to an email that is way out of date! } $replies_file =~ /^(.*)$/; &write_file("$1", \%replies); exit(0); } else { # Unknown email! print STDERR "Only Mailserver Response auto-reply messages should be sent to this address\n"; exit(1); } status/mailserver-monitor.pl0100664000567100000120000001130010164127114016247 0ustar jcameronwheel# mailserver-monitor.pl # Check a remote mail server by sending email at period intervals and waiting # for a response. This depends on the remote address being an autoreponder that # replies to the sending address with the same or derived subject line. # XXX other monitors (like net) should be able to do the same thing .. $alias_name = "webmin-status-mailserver"; $replies_file = "$module_config_directory/mailserver-replies"; sub get_mailserver_status { local %oldstatus; &read_file($oldstatus_file, \%oldstatus); local $rv = { 'up' => defined($oldstatus{$_[0]->{'id'}}) ? $oldstatus{$_[0]->{'id'}} : 1 }; local %replies; &read_file($replies_file, \%replies); local ($when, $got, $id) = split(/\s+/, $replies{$_[0]->{'id'}}); local $now = time(); local $timeout = $_[0]->{'timeout'}*($_[0]->{'units'} == 0 ? 1 : $_[0]->{'units'} == 1 ? 60 : $_[0]->{'units'} == 2 ? 60*60 : 24*60*60); if ($got && $got <= $when + $timeout) { # Reply received .. status should be OK $rv = { 'up' => 1 }; } if ($when + $timeout < $now) { # Time has elapsed .. check if we got a response in time if ($when && (!$got || $got > $when + $timeout)) { # We didn't! $rv = { 'up' => 0 }; } # Send a new message, just as the status monitor does $id = time().".".$$; local $from = "$alias_name\@".&get_system_hostname(); local $subject = "TEST-$_[0]->{'id'}-$id"; local $body = "Mail server test"; if ($config{'sched_smtp'}) { # Connect to SMTP server &open_socket($config{'sched_smtp'}, 25, MAIL); &smtp_command(MAIL); &smtp_command(MAIL, "helo ".&get_system_hostname()."\r\n"); &smtp_command(MAIL, "mail from: <$from>\r\n"); &smtp_command(MAIL, "rcpt to: <$_[0]->{'to'}>\r\n"); &smtp_command(MAIL, "data\r\n"); print MAIL "From: $from\r\n"; print MAIL "To: $_[0]->{'to'}\r\n"; print MAIL "Subject: $subject\r\n"; print MAIL "\r\n"; print MAIL "$body\r\n"; &smtp_command(MAIL, ".\r\n"); &smtp_command(MAIL, "quit\r\n"); close(MAIL); } else { # Run sendmail executable local %sconfig = &foreign_config("sendmail"); open(MAIL, "|$sconfig{'sendmail_path'} -t -f$from >/dev/null 2>&1"); print MAIL "From: $from\n"; print MAIL "To: $_[0]->{'to'}\n"; print MAIL "Subject: $subject\n"; print MAIL "\n"; print MAIL "$body\n"; print MAIL "\n"; close(MAIL); # Record in file $replies{$_[0]->{'id'}} = "$now 0 $id"; &write_file($replies_file, \%replies); } } return $rv; } sub show_mailserver_dialog { print " $text{'mailserver_desc'} \n"; print " $text{'mailserver_to'}\n"; print "\n"; print "$text{'mailserver_timeout'}\n"; print "\n"; print " \n"; } sub parse_mailserver_dialog { # Parse and save inputs $in{'to'} =~ /^\S+$/ || &error($text{'mailserver_eto'}); $in{'timeout'} =~ /^\d+$/ || &error($text{'mailserver_etimeout'}); $_[0]->{'to'} = $in{'to'}; $_[0]->{'timeout'} = $in{'timeout'}; $_[0]->{'units'} = $in{'units'}; &depends_check($_[0], "sendmail"); # Set up the alias if needed &foreign_require("sendmail", "sendmail-lib.pl"); &foreign_require("sendmail", "aliases-lib.pl"); local $conf = &sendmail::get_sendmailcf(); local $afile = &sendmail::aliases_file($conf); local @aliases = &sendmail::list_aliases($afile); local ($reply) = grep { $_->{'name'} eq $alias_name } @aliases; # We do need to set up a wrapper to call the real mailserver.pl local $alias_cmd = "$module_config_directory/mailserver.pl"; local $perl_path = &get_perl_path(); &lock_file($alias_cmd); open(CMD, ">$alias_cmd"); print CMD <) { \$root = \$1 if (/^root=(.*)/); } close(CONF); \$ENV{'WEBMIN_CONFIG'} = "$ENV{'WEBMIN_CONFIG'}"; \$ENV{'WEBMIN_VAR'} = "$ENV{'WEBMIN_VAR'}"; chdir("\$root/$module_name"); exec("\$root/$module_name/mailserver.pl", \$ARGV[0]); EOF close(CMD); chmod(06755, $alias_cmd); &unlock_file($alias_cmd); if (!$reply) { # Create the alias local $alias = { 'name' => $alias_name, 'values' => [ "|".$alias_cmd ], 'enabled' => 1 }; &sendmail::create_alias($alias, $afile); } local %sconfig = &foreign_config("sendmail"); if (-d $sconfig{'smrsh_dir'}) { &system_logged("ln -s $alias_cmd $sconfig{'smrsh_dir'}/mailserver.pl >/dev/null 2>&1"); } # Create the file to which replies are written open(TOUCH, ">>$replies_file"); close(TOUCH); #chmod(0777, $replies_file); } status/config.info.ru_RU0100664000567100000120000000061207614360515015247 0ustar jcameronwheelsort_mode= ,1,0- ,1-,2- pager_cmd=, ,3, ping_cmd= (ping),3, line1= ,11 line2= ,11 refresh= ,3, index_status=, ,1,1- ,0- status/sshd-monitor.pl0100664000567100000120000000145510553215152015053 0ustar jcameronwheel# sshd-monitor.pl # Monitor the SSH server on this host # Check the PID file to see if sshd is running sub get_sshd_status { return { 'up' => -1 } if (!&foreign_check($_[1])); &foreign_require($_[1], "sshd-lib.pl"); return { 'up' => -1 } if (!&foreign_check($_[1])); local %sconfig = &foreign_config($_[1]); return { 'up' => -1 } if (!-r $sconfig{'sshd_config'}); local $conf = &foreign_call($_[1], "get_sshd_config"); local $pidfile = &foreign_call($_[1], "find_value", "PidFile", $conf); $pidfile ||= $sconfig{'pid_file'}; if (open(PID, $pidfile) && =~ /(\d+)/ && kill(0, $1)) { close(PID); local @st = stat($pidfile); return { 'up' => 1, 'desc' => &text('up_since', scalar(localtime($st[9]))) }; } else { return { 'up' => 0 }; } } sub parse_sshd_dialog { &depends_check($_[0], "sshd"); } 1; status/CHANGELOG0100664000567100000120000000570710552313762013313 0ustar jcameronwheel---- Changes since 1.130 ---- Status emails are now send using the Read User Mail module, removing any dependency on the Sendmail module. ---- Changes since 1.150 ---- Added a new monitor type for checking on RAID devices. ---- Changes since 1.170 ---- Added support for sending SNMP traps when scheduled monitoring detects that a service has gone down. This requires the Net::SNMP Perl module be installed. Other Webmin modules can now defined custom monitor types, by including a status_monitor.pl script. This must contain the functions documented in status_monitor_api.pl in this module's directory. Added a field for specifying the number of times a service must be detected as down before an email message is sent or other action taken. ---- Changes since 1.180 ---- Status email messages now include the failed service in the subject line. Added new monitor type for lm_sensors variables, such as fan speed and CPU temperature. ---- Changes since 1.190 ---- Improved support for remote monitoring for SMART and RAID. Remote monitors now use the remote hostname instead of the local hostname in the email message. ---- Changes since 1.200 ---- Added monitors for NUT UPS values and mail queue length. ---- Changes since 1.210 ---- The notification methods (email, pager, snmp) for each monitor can now be selected individually. Added a field on the Edit Monitor page for notifying a custom email address when a particular service is down. Added a new monitor type for DNS lookups, to ensure that some server is up and returning the correct address for some hostname. ---- Changes since 1.220 ---- Added a monitor option to have it skipped if some other monitor is down. Internationalized the status emails, so they can be translated into other languages. The list of monitors on the main page now has checkboxes next to them, to allow several to be deleted at once. The disk space monitor can now check for free inodes too, on Linux systems. ---- Changes since 1.250 ---- Added support for the SNMP_Session Perl module for sending SNMP traps, as an alternative to Net::SNMP. ---- Changes since 1.270 ---- Added a new monitor type for FTP servers. For each monitor, multiple remote hosts can be selected, which makes checking a service like Apache across a range of servers easier. Updated the network traffic monitor to support FreeBSD as well as Linux. Added a new monitor type for performing a test SQL query on a MySQL, PostgreSQL or Oracle database. ---- Changes since 1.290 ---- Added an option to the HTTP monitor type to check the page contents too. The Check File monitor can now perform size checks on the total contents of a directory. ---- Changes since 1.300 ---- Added a monitor type for the rate of disk space consumption. ---- Changes since 1.310 ---- Added the ability to create monitors that apply to Webmin server groups, rather than selecting individual machines one at a time. Added a new Alive System monitor type, which is useful when used remotely to just determine if a machine is up. status/config.info.zh_TW.Big50100644000567100000120000000030210067670063016023 0ustar jcameronwheelline1=պAﶵ,11 index_status=AM,1,1-ثeA,0-q̫᪺Ƶ{ˬd pager_cmd=ǰeTO,3,L refresh=sz,3,sz sort_mode=ܼҲձƧǬ,1,0-إ߶,1-yz,2-D status/config-*-linux0100664000567100000120000000017310370003114014526 0ustar jcameronwheelindex_status=1 pager_cmd=yaps sort_mode=0 output=0 snmp_version=2 snmp_trap=1.3.6.1.4.1.10000.1.1 subject_mode=0 columns=2 status/WEBMIN-STATUS-MIB.txt0100644000567100000120000000303510162145337015235 0ustar jcameronwheelWEBMIN-STATUS-MIB DEFINITIONS ::= BEGIN -- -- MIB objects for Webmin's status module -- IMPORTS MODULE-IDENTITY, enterprises, OBJECT-TYPE, Integer32 FROM SNMPv2-SMI SnmpAdminString FROM SNMP-FRAMEWORK-MIB RowStatus, StorageType FROM SNMPv2-TC InetAddressType, InetAddress FROM INET-ADDRESS-MIB ; Webmin MODULE-IDENTITY LAST-UPDATED "200412220000Z" ORGANIZATION "www.webmin.com" CONTACT-INFO "postal: Wes Hardaker P.O. Box 382 Davis CA 95617 email: jcameron@webmin.com" DESCRIPTION "MIB objects for Webmin status module traps" ::= { enterprises 10000 } -- -- top level structure -- WebminStatus OBJECT IDENTIFIER ::= { Webmin 1 } WebminStatusMessage OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "A message from Webmin's System and Server status module indicating that some event has occurred." ::= { WebminStatus 1 } WebminStatusNotification NOTIFICATION-TYPE STATUS current DESCRIPTION "An example notification, used to illustrate the definition and generation of trap and inform PDUs (including the use of both standard and additional varbinds in the notification payload). This notification will typically be sent every 30 seconds, using the code found in the example module agent/mibgroup/examples/notification.c" ::= { WebminStatus 2 } END status/mailq-monitor.pl0100664000567100000120000000235410244745000015211 0ustar jcameronwheel# Check if a mail queue is too long sub get_mailq_status { local $m = $_[0]->{'mod'}; return { 'up' => -1 } if (!&foreign_installed($m)); local @qfiles; if ($m eq "sendmail") { &foreign_require("sendmail", "sendmail-lib.pl"); @qfiles = &sendmail::list_mail_queue(); } elsif ($m eq "qmailadmin") { &foreign_require("qmailadmin", "qmail-lib.pl"); @qfiles = &qmailadmin::list_queue(); } elsif ($m eq "postfix") { &foreign_require("postfix", "postfix-lib.pl"); @qfiles = &postfix::list_queue(); } if (@qfiles > $_[0]->{'size'}) { return { 'up' => 0, 'desc' => "".&text('mailq_toomany', scalar(@qfiles))."" }; } else { return { 'up' => 1, 'desc' => &text('mailq_ok', scalar(@qfiles)) }; } } sub show_mailq_dialog { # Mail system to check print " $text{'mailq_system'}\n"; print "",&ui_select("mod", $_[0]->{'mod'}, [ map { [ $_, $text{'mailq_'.$_} ] } ("sendmail", "qmailadmin", "postfix") ]),"\n"; # Max queue size print "$text{'mailq_size'}\n"; print "",&ui_textbox("size", $_[0]->{'size'}, 10)," \n"; } sub parse_mailq_dialog { $_[0]->{'mod'} = $in{'mod'}; $in{'size'} =~ /^\d+$/ || &error($text{'mailq_esize'}); $_[0]->{'size'} = $in{'size'}; } status/status_monitor_api.pl0100664000567100000120000000112110162164601016334 0ustar jcameronwheel # status_monitor_list() # Returns a list of monitor types defined by this module, each of which must # be a two-element array reference sub status_monitor_list { } # status_monitor_status(type, &monitor) # Returns a status object for some montor with the give name and info structure sub status_monitor_status { } # status_monitor_dialog(type, &monitor) # Returns HTML for a dialog for options for a monitor of the given type sub status_monitor_dialog { } # status_monitor_parse(type, &monitor, &in) # Updates the monitor object with values from the form sub status_monitor_parse { } 1; status/delete_mons.cgi0100775000567100000120000000060710277334306015061 0ustar jcameronwheel#!/usr/local/bin/perl # Delete multiple monitors at once require './status-lib.pl'; $access{'edit'} || &error($text{'mon_ecannot'}); &ReadParse(); foreach $d (split(/\0/, $in{'d'})) { $serv = &get_service($d); $serv || &error($text{'delete_egone'}); push(@dels, $serv); } foreach $serv (@dels) { &delete_service($serv); } &webmin_log("deletes", undef, scalar(@dels)); &redirect(""); status/config.info.fa0100664000567100000120000000204110421633121014561 0ustar jcameronwheel line1=گزينه‌هاي قابل پيکربندي,11 index_status=وضعيت براي نمايش در فهرست,1,1-وضعيت جاري,0-از آخرين بررسي زمانبندي شده pager_cmd=فرمان براي ارسال پيام به پي‌جو,3,هيچ refresh=مدت زمان لازم براي بازآوري صفحه بر حسب ثانيه,3,بازآوري صورت نگيرد sort_mode=نمايش دادن پايشگرهاي مرتب شده براساس,1,0-ترتيب ايجاد شدن,1-توضيحات,2-ميزبان,3-آخرين وضعيت output=آيا برونداد از برنامه‌هايي که هنگام از کار افتادن اجرا مي‌شوند,ضبط شود؟,1,1-بله,0-خير subject_mode=حالت موضوع پست الکترونيکي,1,0-سبک جديد,1-سبک قديم snmp_server=ارسال تقاضاهاي SNMP به کارساز,3,هيچ snmp_version=قرار دادSNMP نسخه,1,3-v3,2-v2,1-v1 snmp_community=مجموعه رشتهSNMP,0 snmp_trap=SNMP OID براي تقاضاها,0 status/dns-monitor.pl0100664000567100000120000000261010263646644014704 0ustar jcameronwheel# Check some DNS server sub get_dns_status { if (&has_command("nslookup")) { local $out; local $cmd = "server $_[0]->{'server'}\n$_[0]->{'host'}\n"; &execute_command("nslookup", \$cmd, \$out, \$out); return $out =~ /\Q$_[0]->{'address'}\E/ ? { 'up' => 1 } : { 'up' => 0 }; } elsif (&has_command("dig")) { local $out; &execute_command("dig \@".quotemeta($_[0]->{'server'})." ". quotemeta($_[0]->{'host'}), undef, \$out, \$out); return $out =~ /\Q$_[0]->{'host'}.\E\s+\S+\s+IN\s+A\s+\Q$_[0]->{'address'}\E/ ? { 'up' => 1 } : { 'up' => 0 }; } else { return { 'up' => - 1 }; } } sub show_dns_dialog { print " $text{'dns_server'}\n"; print "",&ui_textbox("server", $_[0]->{'server'}, 30),"\n"; print "$text{'dns_host'}\n"; print "",&ui_textbox("host", $_[0]->{'host'}, 30)," \n"; print " $text{'dns_address'}\n"; print "",&ui_textbox("address", $_[0]->{'address'}, 30),"\n"; print "\n"; } sub parse_dns_dialog { &has_command("nslookup") || &has_command("dig") || &error($text{'dns_ecmds'}); gethostbyname($in{'server'}) || &error($text{'dns_eserver'}); $_[0]->{'server'} = $in{'server'}; $in{'host'} =~ /^[a-z0-9\.\-\_]+$/i || &error($text{'dns_ehost'}); $_[0]->{'host'} = $in{'host'}; &check_ipaddress($in{'address'}) || &error($text{'dns_eaddress'}); $_[0]->{'address'} = $in{'address'}; } status/config.info.uk_UA0100664000567100000120000000062610374465507015230 0ustar jcameronwheelsort_mode= ,1,0- ,1-,2- pager_cmd=, ,3, ping_cmd= (ping),3, line1= , ,11 line2= ,11 refresh= ,3, index_status=, ,1, 1- ,0- status/config.info.zh_TW.UTF-80100664000567100000120000000037310416514615016050 0ustar jcameronwheelsort_mode=顯示模組排序為,1,0-建立順序,1-描述,2-主機 pager_cmd=傳送訊息指令,3,無 line1=組態選項,11 refresh=重新整理頁面秒數,3,不重新整理 index_status=狀態清單顯示,1,1-目前狀態,0-從最後的排程檢查 status/config.info.zh_CN.UTF-80100664000567100000120000000017510417224566016022 0ustar jcameronwheelping_cmd=Command to ping a host,3,None index_status=Status to display in list,1,1-Current status,0-From last scheduled check status/config.info.ja_JP.UTF-80100664000567100000120000000064110417224566016002 0ustar jcameronwheelsort_mode=監視項目のならび順,1,0-作成順,1-説明順,2-ホスト順 pager_cmd=ページャ(ポケベル)にメッセージを送信するコマンド,3,無し line1=設定可能なオプション,11 refresh=ページの再読み込み間隔(秒),3,再読み込みしない index_status=リストに表示するステータス,1,1-現在のステータス,0-スケジュールによる最後のチェック status/ftp-monitor.pl0100664000567100000120000000445710462436715014721 0ustar jcameronwheel# ftp-monitor.pl # Monitor a remote FTP server by doing a test download sub get_ftp_status { local $up=0; local $st = time(); local $error; local $temp = &transname(); eval { local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required alarm($_[0]->{'alarm'} ? $_[0]->{'alarm'} : 10); &ftp_download($_[0]->{'host'}, $_[0]->{'file'}, $temp, \$error, undef, $_[0]->{'user'}, $_[0]->{'pass'}, $_[0]->{'port'}); alarm(0); $up = $error ? 0 : 1; }; if ($@) { die unless $@ eq "alarm\n"; # propagate unexpected errors return { 'up' => 0 }; } else { return { 'up' => $up, 'time' => time() - $st, 'desc' => $up ? undef : $error }; } } sub show_ftp_dialog { print " $text{'ftp_host'}\n"; print "",&ui_textbox("host", $_[0]->{'host'}, 30),"\n"; print "$text{'ftp_port'}\n"; print "",&ui_textbox("port", $_[0]->{'port'} || 21, 5),"\n"; print " $text{'ftp_user'}\n"; print "",&ui_opt_textbox("ftpuser", $_[0]->{'user'}, 15, $text{'ftp_anon'}),"\n"; print "$text{'ftp_pass'}\n"; print "",&ui_password("ftppass", $_[0]->{'pass'}, 15),"\n"; print " $text{'ftp_file'}\n"; print "",&ui_opt_textbox("file", $_[0]->{'file'}, 50, $text{'ftp_none'})," \n"; print " $text{'http_alarm'}\n"; printf " %s\n", $_[0]->{'alarm'} ? '' : 'checked', $text{'default'}; printf "\n", $_[0]->{'alarm'} ? 'checked' : ''; print " \n"; } sub parse_ftp_dialog { $in{'host'} =~ /^[a-z0-9\.\-\_]+$/i || &error($text{'ftp_ehost'}); $_[0]->{'host'} = $in{'host'}; $in{'port'} =~ /^\d+$/i || &error($text{'ftp_eport'}); $_[0]->{'port'} = $in{'port'}; $in{'ftpuser_def'} || $in{'ftpuser'} =~ /^\S+$/ || &error($text{'ftp_euser'}); $_[0]->{'user'} = $in{'ftpuser_def'} ? undef : $in{'ftpuser'}; $_[0]->{'pass'} = $in{'ftppass'}; $in{'file_def'} || $in{'file'} =~ /^\S+$/ || &error($text{'ftp_efile'}); $_[0]->{'file'} = $in{'file_def'} ? undef : $in{'file'}; if ($in{'alarm_def'}) { delete($_[0]->{'alarm'}); } else { $in{'alarm'} =~ /^\d+$/ || &error($text{'http_ealarm'}); $_[0]->{'alarm'} = $in{'alarm'}; } } status/consume-monitor.pl0100664000567100000120000000377410553214745015600 0ustar jcameronwheel# consume-monitor.pl # Check the rate at which disk space is being consumed on some filesystem sub get_consume_status { return { 'up' => -1 } if (!&foreign_check("mount")); &foreign_require("mount", "mount-lib.pl"); local $m; foreach $f (&mount::list_mounted()) { $m = $f if ($f->[0] eq $_[0]->{'fs'}); } local %consume; &read_file("$module_config_directory/consume", \%consume); if ($m) { local @sp = &mount::disk_space($m->[2], $m->[0]); local $now = time(); local ($lastfree, $lasttime) = split(/\s+/, $consume{$_[0]->{'fs'}}); local $rv = { 'up' => 1 }; if ($lasttime) { # Compare with last time local $diff = ($lastfree - $sp[1]) / ($now - $lasttime); if ($diff > $_[0]->{'rate'}) { $rv = { 'up' => 0, 'desc' => &text('consume_high', &nice_size($diff*1024)) }; } } $consume{$_[0]->{'fs'}} = "$sp[1] $now"; &write_file("$module_config_directory/consume", \%consume); return $rv; } else { return { 'up' => -1, 'desc' => $text{'space_nofs'} }; } } sub show_consume_dialog { local $found; &foreign_require("mount", "mount-lib.pl"); print " $text{'space_fs'}\n"; print "\n"; printf "\n", $found ? '' : $_[0]->{'fs'}; print "$text{'consume_rate'}\n"; print "",&ui_bytesbox("rate", $_[0]->{'rate'}*1024),"\n"; } sub parse_consume_dialog { &depends_check($_[0], "mount"); if ($in{'fs'}) { $_[0]->{'fs'} = $in{'fs'}; } else { $in{'other'} =~ /^\// || &error($text{'space_eother'}); $_[0]->{'fs'} = $in{'other'}; } $in{'rate'} =~ /^[0-9\.]+$/ || &error($text{'consume_erate'}); $_[0]->{'rate'} = $in{'rate'}*$in{'rate_units'}/1024; } status/query-monitor.pl0100664000567100000120000000555510442400216015256 0ustar jcameronwheel# query-monitor.pl # Try an SQL query on a MySQL or PostgreSQL server sub get_query_status { # Load the driver local $drh; eval <install_driver(\$_[0]->{'driver'}); EOF if ($@) { return { 'up' => -1, 'desc' => &text('query_edriver', "DBD::$_[0]->{'driver'}") }; } # Connect to the database server local $dbistr = &make_dbistr($_[0]->{'driver'}, $_[0]->{'db'}, $_[0]->{'host'}); local $dbh = $drh->connect($dbistr, $_[0]->{'user'}, $_[0]->{'pass'}, { }); if (!$dbh) { return { 'up' => 0, 'desc' => &text('query_elogin', $drh->errstr) }; } # Execute the query local $cmd = $dbh->prepare($_[0]->{'sql'}); if (!$cmd) { return { 'up' => 0, 'desc' => &text('query_eprepare', $dbh->errstr) }; } if (!$cmd->execute()) { return { 'up' => 0, 'desc' => &text('query_eexecute', $dbh->errstr) }; } local @r = $cmd->fetchrow(); $cmd->finish(); if ($_[0]->{'result'} && $r[0] ne $_[0]->{'result'}) { return { 'up' => 0, 'desc' => &text('query_ewrong', $r[0]) }; } return { 'up' => 1 }; } sub show_query_dialog { print &ui_table_row($text{'query_driver'}, &ui_select("driver", $_[0]->{'driver'}, [ [ "mysql", "MySQL" ], [ "Pg", "PostgreSQL" ], [ "Oracle", "Oracle" ] ])); print &ui_table_row($text{'query_db'}, &ui_textbox("db", $_[0]->{'db'}, 20)); print &ui_table_row($text{'query_user'}, &ui_textbox("quser", $_[0]->{'user'}, 20)); print &ui_table_row($text{'query_pass'}, &ui_password("qpass", $_[0]->{'pass'}, 20)); print &ui_table_row($text{'query_host'}, &ui_opt_textbox("host", $_[0]->{'host'}, 40, $text{'query_local'}), 3); print &ui_table_row($text{'query_sql'}, &ui_textbox("sql", $_[0]->{'sql'}, 60), 3); print &ui_table_row($text{'query_result'}, &ui_opt_textbox("result", $_[0]->{'result'}, 40, $text{'query_ignore'}), 3); } sub parse_query_dialog { eval "use DBD::$in{'driver'}"; &error(&text('query_edriver', "DBD::$in{'driver'}")) if ($@); $_[0]->{'driver'} = $in{'driver'}; $in{'db'} =~ /^\S+$/ || &error($text{'query_edb'}); $_[0]->{'db'} = $in{'db'}; if ($in{'host_def'}) { delete($_[0]->{'host'}); } else { gethostbyname($in{'host'}) || &error($text{'query_ehost'}); $_[0]->{'host'} = $in{'host'}; } $in{'quser'} =~ /^\S*$/ || &error($text{'query_euser'}); $_[0]->{'user'} = $in{'quser'}; $in{'qpass'} =~ /^\S*$/ || &error($text{'query_epass'}); $_[0]->{'pass'} = $in{'qpass'}; $in{'sql'} =~ /\S/ || &error($text{'query_esql'}); $_[0]->{'sql'} = $in{'sql'}; if ($in{'result_def'}) { delete($_[0]->{'result'}); } else { $in{'result'} =~ /\S/ || &error($text{'query_eresult'}); $_[0]->{'result'} = $in{'result'}; } } sub make_dbistr { local ($driver, $db, $host) = @_; local $rv; if ($driver eq "mysql") { $rv = "database=$db"; } elsif ($driver eq "Pg") { $rv = "dbname=$db"; } else { $rv = $db; } if ($host) { $rv .= ";host=$host"; } return $rv; } status/config-debian-linux-3.1-*0100664000567100000120000000020110370003126016240 0ustar jcameronwheelindex_status=1 pager_cmd=sms_client sort_mode=0 output=0 snmp_version=2 snmp_trap=1.3.6.1.4.1.10000.1.1 subject_mode=0 columns=2 status/alive-monitor.pl0100664000567100000120000000036110552313023015200 0ustar jcameronwheel# alive-monitor.pl # Always returns OK - useful for remote monitoring sub get_alive_status { local $out = `uptime 2>/dev/null`; return { 'up' => 1, 'desc' => $out =~ /\s+up\s+([^,]+),/ ? &text('alive_up', "$1") : undef }; }