Zimbra Collaboration System Administration - Jan2014
Zimbra Collaboration System Administration - Jan2014
System Administration
February 6, 2014 1
• Day 1:
• General Information
• Zimbra Architecture Overview & Licensing
• Installing ZC & Troubleshooting Install
• Zimbra Administration Console Demo & Overview
• CLI Commands
• Security Topics
• ZC System Care
• Troubleshooting
• Questions & Additional Information/Support
February 6, 2014 2
• Day 2:
• Review & Questions
• Backup/Restore
• Performance Tuning & Monitoring with zmstats
• Migration Options & Planning
• Upgrading ZC
• Upgrade Troubleshooting
• Personalizing ZC Deployment
• Archiving and Discovery (optional module)
February 6, 2014 3
• Day 3:
• ZC Architectural Components
• Architecture and Storage Considerations
• Multi-Server Installation and Upgrading
• Reconfigure ZC (hands-on) into a multi-node
architecture
• Delegated Administration
• Directory and GAL Integration
February 6, 2014 4
ZC Architecture
February 6, 2014 5
ZC Architecture Advantages
• Open source integrations
• Industry-standard open protocols
• Modern technology design
• Horizontal scalability
• High availability (HA) support
• Web client
• Admin console
February 6, 2014 6
Supported Operating Systems
• Zimbra Collaboration Network Edition v8.x is
supported on the following Operating Systems:
• Red Hat Enterprise Linux AS/ES 6, 64 bit
• CentOS 6, 64 bit
• SUSE Linux Enterprise Server 11, 64 bit (SP3 for ZC 8.0.5+)
• Ubuntu 10.04 LTS , 64 bit (deprecated, no support beyond ZC 8.x)
• Ubuntu 12.04 LTS, 64 bit
February 6, 2014 7
ZC Architecture
February 6, 2014 8
Flexible Deployment Models
Traditional Virtualized
ZC ZC ZC ZC ZC
February 6, 2014 9
Zimbra Client Architecture
Mobile Clients Desktop Clients Browser Clients
POP
RSS
REST
LMTP
CalDAV
IMAP
Atom
ActiveSync
CardDAV
BES
Zimlet WS Proxy
Zimbra Mobile
Zimlet Proxy or
Connector
for BES Nginx Proxy
Postfix MTA
Zimbra Collaboration
Zimlet JSP Tags
Including
Anti-Spam
and Virus
Jetty + JVM + OS
February 6, 2014 10
Mailbox Server (MBS) Architecture
Zimbra Collaboration
(Jetty + JVM)
JDBC
Storage Zimbra Lucene MySQL Open External Autonomy IBM
Microsoft
System Journaling Index LDAP LDAP Keyview Domino
Exchange
Active
Directory
February 6, 2014 11
Licensing
• Necessary to create accounts
February 6, 2014 12
Examining License Status
• Home > Configure > Global Settings > License Page
February 6, 2014 13
Installation
February 6, 2014 14
Installation Considerations
• Other Servers
• Ports
February 6, 2014 15
Zimbra Port Mapping
Other (miscellaneous): 514 – syslogd (logger), 636 – LDAPS, 7780 – spellcheck (httpd)
February 6, 2014 16
Installation Process Overview
• Verification of prerequisite packages
• Menu-driven configuration
• Configuring IMAP/POP
• Load balancing
• Configuring DNS
February 6, 2014 17
Training Lab Environment
• If necessary, start “vm1” VMware image
• Discover your particular domain for the training session
(such as zimbra1.lab, zimbra2.lab, etc.)
• Run config-host.sh:
# /root/training/scripts/config-host.sh start
February 6, 2014 18
Single-Server Installation –
General Steps
• Log in as root
• Disable unnecessary applications
• Accept software agreement
• Auto-check for prerequisite software
• Select services to be installed
• Accept or change default entries as needed
February 6, 2014 19
Begin Installation Exercise
February 6, 2014 20
Troubleshooting Install
• Port conflicts
• FQDN not used
• Firewall stopped
• LDAP cannot start or you cannot connect to LDAP
during installation
• DNS setup
• Cannot resolve hostname
• Compat-* libraries not found
• Remove other MTAs, mail apps, or web servers
• SE Linux disabled
February 6, 2014 21
Administration Console
Managing Zimbra Configuration
February 6, 2014 22
Overview: Simple, Powerful
Administration
• Proven open technologies, web-scalable architecture
reduce TCO
• Bulk user provisioning and policy management
• Delegated, role-based administration
On average, 33% less time
• Class-of-service and multi-tenancy is spent administering
• HSM and storage management Zimbra than MS Exchange*
• Real-time backup and restore * Source: University of Pennsylvania case study Nov 09
• Integrated anti-spam/virus
• LDAP, Active
Directory integration
• Integrated Archiving
and Discovery
February 6, 2014 23
Key Administrator Features
• Class of Service (COS)
• Controls to create different feature packages for different users
• Advertising and Zimlets can be controlled at the COS or user level
February 6, 2014 24
Key Administrator Features, cont.
• Scaling and System Optimization
• Flexible architecture – easy to break out MTAs, directory, mail
servers and the storage
• Single-copy storage of messages and attachments
• Out-of-the-box tools for moving mailboxes
• Multi-Tenancy
• Domains are directory entries, and enabling you to spread all of
your users across shared servers and storage
February 6, 2014 25
Definitions
• Class of Service (COS): a set of common preferences and
available features that are applied to all accounts within
that COS
• Domain: an email domain – every account always has one
primary domain specified
• Account: an email account
• Global Settings: Default values and settings that apply
globally, such as Max. Message Size
• Server Settings: Settings specific to an individual server,
such as MTA relay
February 6, 2014 26
Adding and Modifying Domains
• One domain is identified during the installation
• Create additional domains
• Edit and delete domains
• Domain tabs include
• GAL
• Authentication
• Virtual Host
• Briefcase
• Free/Busy Interop
• Zimlets
• Themes
• Certificate
• Account limits
• ACL (Access Control List)
February 6, 2014 27
Creating New Accounts
• Account Wizard to create a few accounts
• Only a account name and last name are required
• Default COS sets features
• Password can be set
• Can customize further
February 6, 2014 28
Types of User Accounts
• Global Administrators
• Full privileges to manage server, global settings, domains and
accounts
• One global administrator is created when ZC is installed
• Can create other administrators
• Delegated Administrators
• Custom administrator roles can be created
• Regular User
• COS sets the default attributes and features available
February 6, 2014 29
Types of Addresses
• Account
• Alias
• Distribution List
• Resource
February 6, 2014 30
Defining and Modifying COS
• COS used to group users with same features and
service levels
February 6, 2014 31
Mobile Device Management
• Enabled by COS or Account
• Over 30 Policies Configured
• Warning: Remote Wipe Setting
• Approved/Blocked Apps
• Disable Mobile Device Functions
• Camera
• Browser
• POP or IMAP email
New
in ZC
8!
February 6, 2014 32
Dumpster/Trash
• Trash Folder
• All deleted items are moved to Trash folder
• Can be emptied, deleting items
February 6, 2014 33
Landfill
• Second level of the Dumpster, not visible to end users
• Used for litigation holds
• zimbraDumpsterPurgeEnabled setting prevents Dumpster
content from being purged
• Content that would otherwise be purged is shifted to
the Landfill and never deleted, but becomes invisible to
end users
• Admin can access Landfill content
New in
ZC 8!
February 6, 2014 34
Auto-Discover for ActiveSync
Overview and Configuration
• Users enter their email address and password – Auto
Discover returns the required system settings to provision
the mobile devices for their account.
• Configure a valid SSL certificate from a certification
authority (CA)
• Unified Communications Certificate (UCC)
type is recommended for auto discover to
New in
work. ZC 8!
• A DNS SRV record for
autodiscover.<domain>.com, allowing client
devices to locate and connect to the autodiscover service.
February 6, 2014 35
Auto-Discover for ActiveSync, cont.
• Configure ZC
• Use the Certificate
Installation wizard
(ZC Admin Console)
to generate the cert
signing request and
then install the received
signed cert.
February 6, 2014 36
Global Settings Configuration
• Global settings define default global values for servers,
accounts, COS, and domains
February 6, 2014 37
Administration Console Exercise
February 6, 2014 38
CLI Utility
February 6, 2014 39
Command Line Interface
Command Line Interface (CLI) can be used to create, modify and
delete certain features and functions of Zimbra Collaboration. The
admin console is the main tool for maintaining ZC, but some
functions can only be changed from the CLI utility.
The CLI utility can be used for the following:
Provisioning accounts
Back up and restore
Starting and stopping a service
Moving mailboxes
Cross mailbox searches
Installing certificates
Local configuration
Rewriting configuration files (zmconfigd)
February 6, 2014 40
General CLI Utility Standards
• Linux user “zimbra”
Run CLI commands as the zimbra user:
# su – zimbra
• Syntax
CLI commands are case sensitive:
$ zmprov modifyAccount [email protected] zimbraAccountStatus locked
• Usage:
/opt/zimbra/bin/zmcontrol [-v -h -H <host>] command [args]
February 6, 2014 41
Useful CLI Commands
• zmprov modify ldap configuration of accounts, domains, cos’s, global settings
February 6, 2014 42
zmprov Overview
• Single most used admin command-line tool
February 6, 2014 43
zmprov Overview, cont.
• Manage ZC objects, attributes, and their settings
(including GlobalConfig)
• Uses a set of sub-commands
• Get configured object attribute values for global configuration:
zmprov getAllConfig(gacf) # long and (short) sub-command
• Usage
zmprov (w/ sub-command): SOAP access to LDAP server
zmprov –l (w/ sub-command): direct LDAP access to LDAP server
zmprov (w/o sub-command): interactive mode
February 6, 2014 44
zmprov Sub-Commands
• createAccount (ca) modifyConfig (mcf)
• createCos (cc) modifyAccount (ma)
• createDistributionList (cdl) modifyCos (mc)
• createDomain (cd)
modifyDomain (md)
• getAccount (ga)
• getAllAccount (gaa) modifyServer (ms)
• getAllConfig (gacf) Example :
• getConfig (gcf) $ zmprov getAccount [email protected]
# name [email protected]
• getCos (gc) cn: Last First
displayName: Last First
givenName: First
• getDistributionList (gdl) mail: [email protected]
objectClass: organizationalPerson
• getDomain (gd) objectClass: zimbraAccount
objectClass: amavisAccount
• getServer (gs) sn: Last
uid: Last
userPassword: VALUE-BLOCKED
zimbraAccountStatus: active
February 6, 2014 45
Attribute Types
• Numeric (non alpha)
• zimbraMailPort: Zimbra Web Client port number
• zimbraMailQuota: mail quotas in bytes
• Enum (Keywords)
• zimbraAccountStatus: active, locked, maintenance, …
• zimbraMailMode: http, https, both
• ASCII String
• zimbraServiceEnabled
Enable a new service:
$ zmprov ms `zmhostname` +zimbraServiceEnabled mta
Disable a service:
$ zmprov ms `zmhostname` -zimbraServiceEnabled mta
• zimbraMailHost
February 6, 2014 46
Attribute Description
• Get attribute description and values:
$ zmprov desc –a zimbraAccountStatus
zimbraAccountStatus
account status
type : enum
value : active, maintenance, locked, closed, lockout, pending
callback: AccountStatus
immutable : false
cardinality : single
requiredIn : account
optionalIn :
flags: domainAdminModifiable
defaults :
min :
max :
id : 2
requiresRestart :
since :
deprecatedSince :
February 6, 2014 47
zmprov Syntax Examples
• Create a new account
$ zmprov createAccount [email protected] password
• Lock an account
$ zmprov modifyAccount [email protected] zimbraAccountStatus
locked
February 6, 2014 48
zmprov More Syntax Examples
• List the attributes (including users) of a DL
$ zmprov getDistributionList [email protected]
February 6, 2014 49
Distribution List Restrictions
• Enabling the ZC Milter
The ZC milter allows for the regulation of distribution list senders on a
Global or server level. When the milter server is enabled, only users
who have been granted explicit sending permissions will be allowed.
February 6, 2014 50
Distribution List Restrictions, cont.
• Examples for granting sender permissions using the CLI
• To allow a specific internal user:
$ zmprov grr dl [email protected] usr [email protected] sendToDistList
• To confirm settings:
$ zmprov ckr dl [email protected] [email protected] sendToDistList
February 6, 2014 51
zmmailbox Overview
• zmmailbox tool is used for mailbox management
• Provision new mailboxes along with accounts
• Debug issues with a mailbox
• Help with migrations
• Syntax
zmmailbox [args] [cmd] [cmd-args ...]
February 6, 2014 52
zmmailbox Help
Command Function
zmmailbox help admin Help on admin-related commands
zmmailbox help commands Help on all commands
zmmailbox help contact Help on contact-related commands (address book)
zmmailbox help conversation Help on conversation-related commands
zmmailbox help folder Help on folder-related commands
zmmailbox help item Help on item-related commands
zmmailbox help message Help on message-related commands
zmmailbox help misc Help on miscellaneous commands
zmmailbox help search Help on search-related commands
zmmailbox help tag Help on tag-related commands
February 6, 2014 53
zmmailbox Examples
When you create an account, you can pre-create some tags and folders. Invoke
zmmailbox inside of zmprov by using “selectMailbox(sm)”
$ zmprov
prov> ca [email protected] test123
9a993516-aa49-4fa5-bc0d-f740a474f7a8
prov> sm [email protected]
mailbox: [email protected], size: 0 B, messages: 0, unread: 0
mbox [email protected]> createFolder /Archive
257
mbox [email protected]> createTag TODO
258
mbox [email protected]> createSearchFolder /unread "is:unread"
259
mbox [email protected]> exit
prov> exit
February 6, 2014 54
CLI Exercise
February 6, 2014 55
Security Topics
February 6, 2014 56
Single Sign-On
• PreAuth – Authentication credentials passed from a
trusted external source, such as a single sign-on portal
• SPNEGO – Active Directory + Browser Integration
• Zimbra Authentication based on Active Directory login to the
domain.
a. If you enable SPNEGO SSO on a domain, you must inform/instruct
all users to configure their browsers properly.
b. If the browser is improperly configured, server will redirect the
request to the regular username/password login page.
February 6, 2014 57
Certificates – Server
• Self-Signed vs. Commercial
• Server or Domain based
• (mail.mycompany.com OR mail.companyA.com +
mail.companyB.com)
• Additional IP needed for each domain based certificate
February 6, 2014 58
Commercial Certificates
• Process
1. Generate certificate request (CSR) with filename commercial.csr,
2. Copy and paste to Certificate Authority (e.g., GoDaddy or Verisign)
3. Retrieve the files commercial.crt and commercial_ca.crt
4. Use zmcertmgr (as root) to verify and install
5. For multiple servers:
a. Copy commercial.csr, commercial.crt, commercial_ca.crt to
other servers
b. Use zmcertmgr (as root) to verify and install
February 6, 2014 59
Commercial Certificates, cont.
1. Generate certificate request (CSR) with filename
commercial.csr
• Use Admin Console or zmcertmgr
a. In a Zimbra multi-server certificate deployment, zmcertmgr is the
better tool to use
b. The CSR and private key generated by Zimbra should always return
identical md5-hash values.
February 6, 2014 60
Commercial Certificates, cont.
• Inspect what you retrieved from the CA!
• What you import into Zimbra is the SSL certificate + the root and
intermediate certificates combined
zmcertmgr deploycrt comm /path/actual_cert.crt
/path/root_and_intermediate.crt
• Use cat or notepad to review the certificate chain
• Check that the actual certificate file has the same md5-hash value as
the private key generated by Zimbra
# openssl rsa -in
/opt/zimbra/ssl/zimbra/commercial/commercial.key -modulus -
noout | openssl md5; openssl x509 -in
/path/hostname.domain.ext.crt -modulus -noout | openssl md5
February 6, 2014 61
Commercial Certificates, cont.
4. Use zmcertmgr (as root) to verify and install
zmcertmgr verifycrt comm
/opt/zimbra/ssl/zimbra/commercial/commercial.key
/path/actual_cert.crt /path/root_and_intermediate.crt
zmcertmgr deploycrt comm /path/actual_cert.crt
/path/root_and_intermediate.crt
February 6, 2014 62
Certificates – User-based
• Used by S/MIME (Zimlet) for encrypting email content or
user validation based on public key/private key pair
• Used for automated Browser Authentication
New in
ZC 8!
February 6, 2014 63
S/MIME
• Zimlet that provides secure encoding of MIME content for email
messages
• Allows signing and encryption
• Public Keys, Private Keys
a. If I ENCRYPT my message with your PUBLIC key, ONLY YOU will be
able to read (decrypt) the message with your private key (Don’t
encrypt with your key).
b. If I SIGN the message with my private key, you can CONFIRM I sent
the message using my public key
• “Free Email” certificates added by user, must be in “der” format.
• Enabled by COS or Account
• Requires either Firefox, Safari, or IE and
• A recent, and safe, Java version in browser (go to
www.java.com/verify, Version 7 update 45 for example)
Note: Verify that your browser will work with S/MIME
before implementation.
February 6, 2014 64
ZC System Care
February 6, 2014 65
Overview
• Zimbra Collaboration includes the following to help you
monitor the Zimbra servers, usage, and mail flow:
• Zimbra Logger package to capture and display server statistics
and server status and to create nightly reports
• Mailbox quota monitoring
• MTA mail queue monitoring
• Log files
• zmmsgtrace (tool for tracing messages through logs)
–r –s –F –D –t (recipient, sender, from, destination, time range)
February 6, 2014 66
Server Statistics
• Message traffic statistics
February 6, 2014 67
Admin Console Server Stats
If the Zimbra-logger package is installed on a Zimbra mailbox
server, Server Statistics shows bar graphs of the message
count, message volume, anti-spam, and anti-virus activity.
The information is displayed for the last 48 hours; and 30, 60
and 365 days.
• Message Count
• Message Volume
• Anti-Spam/Virus Activity
• Disk Space
• Session
• Mailbox Quota
February 6, 2014 68
Logger Service & Daily Reports
• When the Logger package is installed, a daily mail report is
automatically scheduled in the crontab. The Zimbra daily mail
report includes the following information:
• Errors generated from the Zimbra MTA Postfix logs
• Total number of messages that moved through the Zimbra MTA
• Message size information (totals and average bytes per message)
• Average delay in seconds for message delivery
• Total number of bounced deliveries
• Most active sender accounts and number of messages
• Most active recipient accounts and number of messages
• The report runs every morning at 11:30 p.m. and is sent to the
administrator’s email address.
February 6, 2014 69
Monitoring Mail Queues
February 6, 2014 70
Enabling Server Statistics
1. On each server, as root, type
/opt/zimbra/libexec/zmsyslogsetup
This enables the server to log data and statistics to the appropriate
log files.
2. Additionally on your logger monitor host, based on your OS, perform
one of the following to enable syslog to listen for/accept log data from
remote machines:
Syslog:
a. Edit the /etc/sysconfig/syslog file, add -r to the SYSLOGD_OPTIONS
setting
SYSLOGD_options=”-r -m 0”
b. Restart the syslog daemon:
/etc/init.d/syslogd restart
February 6, 2014 71
Enabling Server Statistics, cont.
Rsyslog (typically used in recent RHEL/CENTOS versions),
uncomment from /etc/rsyslog.conf:
# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
February 6, 2014 72
Working with Log Files
• The ZC server uses log4j, a Java logging package, as
the log manager
• By default, the ZC server has log4j configured to log to the
local file system.
• You can configure log4j to direct output to another location.
Go to the Log4j website for information about using log4j.
February 6, 2014 73
Working with Log Files, cont.
• Logging Levels
• The logging level is set by default to include logs that are generated
for INFO, WARNING, ERROR, and FATAL. When problems start to
occur, you can turn on the DEBUG log level.
• To change the logging levels, edit the log4j properties,
logger.com.zimbra.
• When enabling DEBUG, you can specify a specific category to
debug. For example, to see debug details for POP activity, you
would type logger.com.zimbra.pop=DEBUG.
• Protocol trace is available in the following logging categories with
TRACE logging level: zimbra.smtp, zimbra.lmtp, zimbra.soap,
zimbra.imap, zimbra.imap-client, zimbra.pop, zimbra.pop-client.
February 6, 2014 74
Increasing per Server Logging
• To make global changes, edit this file:
$ vi /opt/zimbra/conf/log4j.properties
February 6, 2014 75
Log4J Variables (All Logging Categories)
Variable Provides information on the following
zimbra.all All log events (7.0 or later)
zimbra.index Indexing-related events
zimbra.index.lucene Logging of low-level lucene operations (debug-level
only)
zimbra.searchstat Statistics about what kinds of searches are run
zimbra.redolog Redolog-related events
zimbra.lmtp LMTP-related events**
zimbra.smtp SMTP-related events**
zimbra.nio NIO-related events
zimbra.imap IMAP-related events**
zimbra.pop POP-related events**
zimbra.mailbox Mailbox-related events
February 6, 2014 77
Log4J Variables, cont.
Variable Provides information on the following
zimbra.perf Performance statistics
zimbra.cache Tracing object cache activity
zimbra.filter Filter-related logs
zimbra.session Session- and notification-related logs
zimbra.backup Backup- and restore-related logs
zimbra.system Startup/Shutdown and other related logs
zimbra.sync, Sync client interface logs
zimbra.synctrace,
zimbra.syncstate
zimbra.wcbxml Wcbxml client interface logs
zimbra.extensions Extension-loading related info
zimbra.zimlet Zimlet-related info
February 6, 2014 78
Log4J Variables, cont.
Variable Provides information on the following
zimbra.wiki Wiki and document sharing
zimbra.op Server operations
zimbra.dav WebDAV operations
zimbra.io File IO operations
zimbra.datasource External POP/IMAP datasource operations
zimbra.rmgmt Remote management
zimbra.webclient ZimbraWebClient servelet and ISP operations
zimbra.scheduler Scheduled task operations
zimbra.store Filesystem (mailstore) storage operations
zimbra.fb Free/Busy operations
Zimbra.purge Mailbox purge operations
Zimbra.mailop Mailbox operations (e.g. add/delete, move)
Zimbra.misc Events that do not have a specific category
February 6, 2014 79
Summary of Log Files
• syslog
• Captures local mail and application activity
• Gathers data for all components for centralized logging
• /opt/zimbra/log/mailbox.log
• A mailboxd log4j server log containing logs from mailbox server
• /opt/zimbra.log/audit.log
• Contains authentication activity of users and administrators and
login failures
February 6, 2014 80
Summary of Log Files, cont.
• /var/log/zimbra.log
• Details activities of the Zimbra MA, Logger, Authentication, and
Directory
• Logs LDAP activity to Zimbra.log
• sync.log
• Contains information about ZC mobile sync operations
• zmmailboxd.out
• Contains mailbox startup information and thread dumps if
mailboxd is shut down
• Contains information about Denial of Service Filter events
February 6, 2014 81
Reviewing mailbox.log Records
Date Time Log Level Jetty thread-pool number mailbox server processing the SOAP request SOAP request type
Date Time Log Level Thread/Process IP Operation Description Message size number recipients
2013-10-31 14:20:20,386 INFO [LmtpServer-1] [ip=10.137.28.179;] lmtp - Delivering message: size=1734 bytes, nrcpts=1, [email protected],
msgid=<[email protected]>
Originator Message ID
February 6, 2014 82
Reviewing mailbox.log Records, cont.
• Exceptions
• A handler exception will be added to mailbox.log indicating an
abnormal event occurred.
• The handler exception is sometimes followed by stack trace
information.
• Between the handler exception and the content of the stack trace
you can often find a string that provides more insight to the error
(grep –i “13:00:” mailbox.log | grep –i
exception –A15 –B5)
• Search (Google) zimbra “string” to find links to articles that provide
further insight.
February 6, 2014 83
Reviewing mailbox.log Records, cont.
com.example.cs.mailbox.MailServiceException: Invalid address: Jon R at
com.example.cs.mailbox.MailServiceException.internal_SEND_FAILURE
(MailServiceException.java:416)
-
-
-
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:4
42)
caused by: com.example.cs.mailbox.MailSender$SafeSendFailedException:501 Bad
address syntax
; chained exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 501 Bad address syntax at
com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)
at
com.sun.mail.smtp.SMTPTransport.sendMessage (SMTPTransport.java:584)
at javax.mail.Transport.sent0(Transport.java:169)
at javax.mail.Transport.sent(Transport.java:98)
at
com.example.cs.mailbox.MailSender.sendMessage(MailSender.java:409)
at
com.example.cs.mailbox.MailSender.sendMimeMessage(MailSender.java:262)
… 30 more
February 6, 2014 84
Increasing per user Logging
• addAccountLogger
$ zmprov aal [email protected] zimbra.imap debug
• removeAccountLogger
$ zmprov ral [email protected] zimbra.imap
• Watch the log file and login via the AJAX client:
$ tail -f /opt/zimbra/log/mailbox.log
February 6, 2014 85
Port and Process Monitoring ZC
February 6, 2014 86
Port & Process Monitoring
• IMAP/POP
• Web (SOAP)
• SMTP
• LDAP
February 6, 2014 87
Managing Disk Volumes & HSM
• Index volume
• Message volume
• Scheduling HSM
sessions
February 6, 2014 88
Statistics & Capacity Planning
• Server Statistics pane to monitor:
• Message count
• Message volume
• Anti-Spam/Anti-Virus activity
February 6, 2014 89
Postfix Commands
• Postconf: Postfix command to view or modify the postfix
configuration
February 6, 2014 90
ZC Cron Jobs
February 6, 2014 91
ZC Cron Jobs
• Log pruning
• /opt/zimbra/log (2:30 am)
• logrotate:
/etc/anacrontab -> /etc/cron.daily/logrotate -> /etc/logrotate.d/zimbra
• Status logging
• zmstatuslog (2 minutes)
• Backups
• Full and incremental backup (1:00 am)
• Jobs for crontab.store
• Log pruning -> /opt/zimbra/mailboxd/logs
• Clean up the quarantine directory
• Table maintenance
• Report on any database inconsistencies -> zmdbintegrityreport
• Monitor for multiple mysqld processes to prevent corruption
February 6, 2014 92
ZC Cron Jobs, cont.
• Jobs for crontab.logger
• Process logs: zmlogprocess (10 minutes).
• Daily reports: Report runs every evening at 11:30pm and is sent
to the administrator’s email address
February 6, 2014 93
Reading the crontab
The crontab is used to schedule commands to be executed
periodically on the ZC servers
$ crontab –l
Field Description
Minute 0 through 59
Hour 0 through 23
Day of the month 1 through 31
Month 1 through 12
Day of the week 0 through 7 (0 or 7 is Sunday, 1 is
Monday, etc., or use names)
Command This is the complete sequence of
commands to be executed for the job.
February 6, 2014 94
Crontab Example
February 6, 2014 95
Crontab Example, cont.
February 6, 2014 96
Troubleshooting Mailstore
Performance
• Run zmdiaglog while problem is still occurring and before
restarting the ZC processes:
# /opt/zimbra/libexec/zmdiaglog
February 6, 2014 97
Troubleshooting Mailstore
Performance, cont.
• Recommended: Run zmdiaglog with the –a –j -z
arguments to produce a heap dump, core dump, include
the zmjavawatch output and zip everything up:
# /opt/zimbra/libexec/zmdiaglog –a –j -z
February 6, 2014 98
Troubleshooting Exercise
February 6, 2014 99
Support Information
• Important: If a user account is restored and the COS that the account
was assigned to no longer exists, the default COS is assigned to the
account.
• Note: A single account can also be restored from the admin console.
• Example:
$ zmstat-chart -s /opt/zimbra/zmstat/YYYY-MM-DD -d ~/charts
• Disk
• Slow response time, but disk and CPU utilization are low
• Thread dumps will show blocked threads
• ZC servers to deploy
Frontends MTAs
(2) MTAs and IMAP/POP
SMTP Proxies – routes email and
IMAP Proxies IMAP/POP connections to
MTAs
POP legacy or Zimbra system,
LDAP Master LDAP Replicas LDAP Master LDAP Replicas based on LDAP query result.
Active Active
(3) Directory synchronization –
Directory Synchronization (3)
changes to the legacy system
Standby Standby must be propagated to the
ZCS environment.
Mailstores Mailstores
(4) Provisioning/Migration of
Provisioning of User Metadata (4) Active settings and other metadata –
forwards, vacations, contacts/
IMAP migration (5) address books, rules, etc.,
Standby
using scripts and zmprov
Storage Hosted Storage
(5) IMAP migration using
imapsync for mail data.
NOTE: This is optional because some users use their Trash folder
as an archive
• Pre-requisite Recommendation
1. Perform a test upgrade in test environment
Note: This could be a Virtual Environment
2. Mail delivery
4. Poor performance
app_top_toolbar
Tree app_main
Tree
Footer
• Disable a Zimlet
• Undeploy a Zimlet
• zimbraArchiveAccountNameTemplate
• Sets up how the archive mailbox name is created.
• The default value is ${user}-${date}@${domain}.archive.
• The archive account address would be like this example:
[email protected].
ZC ZC ZC ZC ZC
POP
RSS
REST
LMTP
CalDAV
IMAP
Atom
ActiveSync
CardDAV
BES
Zimlet WS Proxy
Zimbra Mobile
Zimlet Proxy or
Connector
for BES Nginx Proxy
Postfix MTA
Zimbra Collaboration Server
Zimlet JSP Tags
Including
Anti-Spam
and Virus
Jetty + JVM + OS
JDBC
Storage Zimbra Lucene MySQL Open External Autonomy IBM
Microsoft
System Journaling Index LDAP LDAP Keyview Domino
Exchange
Active
Directory
• See also:
http://wiki.zimbra.com/wiki/LDAP_Multi_Master_Replication
• Examples:
• System admins can restrict the number of emails sent by a
user to 100/day
• Service providers can restrict “spammers” on compromised
accounts
• Pre-requisite recommendation:
1. Perform a Test Upgrade in Test environment
Note: This could be a Virtual Environment.
2. Apply and test any customization, especially
a. Existing provisioning scripts
b. Zimlets
c. Skins and Themes
• Provisioning
• Global administrator provisions delegated administrators and
delegated administrator groups
• Define Roles: Which rights to assign to the targets the
administrator will manage?
• Admin Group: Create administrator groups and add individual
administrator accounts to the group
• Global Admin: Accounts that are configured as global
administrator accounts cannot be granted ACLs
1. Choose the
Administrator type:
a. Admin Account
b. Admin Group
• Domain
• Internet domain name for which the server will handle mail
• dn: dc=zimbra,dc=com
• Server
• ZC server specific configuration
• Overrides global config
• dn: cn=dogfood.zimbra.com,cn=servers,cn=zimbra
• Configuration elements
• LDAP search base
ou=people,dc=zimbra,dc=com
• LDAP bind DN
Ldap user on the external directory with search access
• Search Filter
Search to run on the external directory
• PreAuth Keys
Note: GAL Polling interval is set up on this tab for the COS.
• At this point you have two datasources within the Galsync account,
however the ADGAL datasource requires a lot more configuration to
work properly.
• LDAP Search Base
• LDAP Bind DN
• LDAP Bind Password
• LDAP URL (where to connect to Active Directory)
• LDAP Filter (what AD objects you want to reveal to Zimbra users)
• Configured at installation
• Not available on Zimbra Collaboration Appliance
• Configuration
• Controlled by zimbraIPMode server setting
• After setting zimbraIPMode, use zmiptool to configure
services
$ zmprov ms `zmhostname` zimbraIPMode ipv4
$ libexec/zmiptool
$ zmcontrol restart
Zimbra
3000 Internet Blvd., Suite 200
Frisco, TX 75034 USA
Main: +1 972-407-0688
Main US toll-free: 877-492-9484
www.zimbra.com