Quản lý các file bản ghi của Exchange Server 2007 – Phần 1

Anderson Patricio

Quản trị mạng - Trong bài này chúng tôi sẽ giới thiệu cho các bạn những khảo sát tỉ mỉ về quá trình gỡ rối trong Exchange Server 2007.

Quản lý các mức gỡ rối trong Exchange Server 2007

Nếu bạn đã từng thực hiện gỡ rối trong Exchange Server 2003 thì chẳc hẳn hạn sẽ nhớ đến tab Diagnostic Loggings trong Exchange Server 2003, như thể hiện trong hình 1 bên dưới. Đây là tab rất hữu dụng vì bạn có thể thấy được các thành phần chính trên phần còn lại, và với mỗi thành phần bạn có thể có thêm một hoặc nhiều hạng mục để thiết lập các mức ghi khác nhau kể cả các hạng mục con của nó.


Hình 01

Mỗi một sự kiện được tạo bởi Exchange Server đều có một giá trị cho việc ghi, dựa trên các giá trị nào các thông tin bản ghi sẽ được hiển thị trong bản ghi ứng dụng trong Event Viewer. Bảng dưới đây sẽ giới thiệu cho các bạn về mức ghi (Logging) và các con số liên quan đến chúng:


Mức ghi

Giá trị registry

Giá trị Exchange 2007

Mô tả

None

0

Thấp nhất

Chỉ có các lỗi và các sự kiện nghiêm trọng mới được ghi, các sự kiện có mức ghi bằng 0

Minimum

1

Thấp

Các sự kiện với mức ghi bằng 1 hoặc thấp hơn sẽ được ghi

Medium

3

Trung bình

Các sự kiện với mức ghi bằng 3 hoặc thấp hơn sẽ được ghi

Maximum

5

Cao

Các sự kiện với mức ghi bằng 5 hoặc thấp hơn

Expert

7

Cao nhất

Các sự kiện với mức ghi bằng 7 hoặc thấp hơn

Bảng 01

Dựa trên những thay đổi của mức ghi trong Exchange System Manager, thiết lập registry sẽ nhận một số giá trị có liên quan đến mức ghi, tất cả các thành phần Exchange đều được đặt trong một đường dẫn registry dưới đây:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Component Name>\Diagnostics

Cũng có một thư mục chung có tên Diagnostics và bên dưới khóa đó là tất cả các hạng mục của dịch vụ được liệt kê, các giá trị được thể hiện trong bảng trên có thể được cấu hình.

Đường dẫn registry và khóa Diagnostics được thể hiện trong hình 02, đường dẫn này có thể được sử dụng trong cả Exchange Server 2003 và Exchange Server 2007.


Hình 02

Như bạn biết, việc gỡ rối cần phải được sử dụng trong quá trình khắc phục sự cố. Nếu không xử lý với các vấn đề của mình thì bạn có thể thiết lập một mức nào đó để tối thiểu hóa giá trị, mục đích nhằm tăng hiệu suất của máy chủ Exchange.

Tuy không có một giao diện đồ họa người dùng để quản lý các mức ghi Diagnostics trong Exchange Server 2007 nhưng chúng ta lại có thể quản lý nó bằng cách sử dụng Exchange Management Shell với hai lệnh sau: Get-EventLogLevelSet-EventLogLevel.

Lệnh Get-EventLogLevel sẽ liệt kê tất cả các thành phần và cấu hình mức ghi các hạng mục tương ứng của chúng. Đầu ra của lệnh này được thể hiện trong hình 03.


Hình 03

Mặc định, lệnh Get-EventLogLevel sẽ chạy trên máy chủ nội bộ, trong phần sau của loạt bài này chúng tôi sẽ sử dụng nó để lấy về các thông tin từ máy chủ từ xa.

Thu thập các thông tin gỡ rối từ Exchange Management Shell

Chúng ta đã thấy được cách xem mức sự kiện (Event Level) hiện hành của tất cả các thành phần trong Exchange Server 2007, lúc này hãy sử dụng một số chức năng của PowerShell để cải thiện những vấn đề trong việc quản trị để có được mức gỡ rối cho các thành phần cụ thể.

Có thể nhận được các thông tin gỡ rối từ thành phần cụ thể nào đó bằng cách sử dụng cột Identity được thể hiện trong hình 3. Giả sử rằng chúng ta có thể hợp lệ hóa mức gỡ rối cho hạng mục MSExchange Cluster và thành phần Move, khi đó hãy sử dụng lệnh sau:

Get-EventLogLevel “MSExchange Cluster\Move”

Một cách khác có thể thực hiện ở đây là chỉ sử dụng thành phần tên hoặc sử dụng ký hiệu để thu hẹp kết quả. Để sử dụng thành phần tên, cần phải chỉ định chuỗi trước dấu sổ (\) đầu tiên. Giả sử rằng chúng ta muốn kiểm tra mức gỡ rối cho Active Directory Access và các thành phần của nó, hãy sử dụng lệnh sau:

Get-EventLogLevel “MSExchange ADAccess”

Tùy chọn thứ hai cũng cho kết quả như vậy là sử dụng ký hiệu như thể hiện trong hình 4.


Hình 04

Lúc này khi đã biết được ký hiệu sử dụng với lệnh Get-EventLogLevel, chúng ta có thể sử dụng nó để lọc các kết quả theo một mức khác. Có thể tìm kiếm tất cả các hạng mục dựa trên một chuỗi hoặc cũng có thể sử dụng hạng mục và ký hiệu để thu hẹp các kết quả tìm kiếm một cách dễ dàng. Trong hình 5, có một cặp ví dụ sử dụng một ký tự ký hiệu, trong ký hiệu đầu tiên chúng ta sẽ thấy chuỗi “Transport” trong tất cả các hạng mục của máy chủ hiện hành và trong phần thứ hai chúng ta chỉ có các thành phần bắt đầu với chữ cái “C” dưới thành phần MSExchange ADAccess.


Hình 05

Chúng ta đang thực hiện lọc cột đầu tiên, cột Identity, nhưng cũng có thể sử dụng EventLevel. Giả dụ rằng chúng ta muốn hợp lệ hóa tất cả các thành phần có EventLevel ở mức trung bình, trong trường hợp này, bạn có thể sử dụng lệnh dưới đây:

Get-EventLogLevel | where { $_.EventLevel -eq "Medium" }

Vì chúng ta biết rằng mức Trung bình (Medium) tương ứng với mức 3 trong registry và lệnh này sẽ lấy về các thông tin này, chúng ta có thể liệt kê tất cả các hạng mục có các giá trị Medium hoặc cao hơn như lệnh dưới đây:

Get-EventLogLevel | where { $_.EventLevel –ge 3 }

Cấu hình các mức gỡ rối

Đến đây chúng ta đã biết cách liệt kê các hạng mục và các mức Event của chúng, lúc này bạn hoàn toàn có thể bắt đầu việc quản lý chúng bằng cách sử dụng Set-EventLogLevel. Để thay đổi mức ghi Logging level, có thể sử dụng cú pháp sau, trong ví dụ này chúng tôi sẽ thay đổi thành phần con Topology của Microsoft Exchange Active Directory Access (MSExchange ADAccess) như lệnh dưới đây:

Set-EventLogLevel “MSExchange ADAccess\General” –Level Expert

Tham số mức có thể là một trong những tùy chọn được liệt kê trong bảng 1 (cột Exchange 2007), bạn có thể sử dụng cùng nguyên lý như đã được sử dụng trong lệnh trước để định nghĩa một mức trung bình cho nhiều thành phần đang sử dụng ký hiệu, ví dụ:

Get-EventLogLevel “MSExchange ADAccess\* | Set-EventLogLevel –Level:Medium

Xem các thông tin gỡ rối

Như đã nói ở trên, chúng ta có thể xem các thông tin gỡ rối bằng Event Viewer (hình 06) hoặc sử dụng Exchange Management Shell.


Hình 06

Chúng ta có thể sử dụng Exchange Management Shell để lấy về các thông tin từ phần Event Viewer Application, sử dụng lệnh sau:

Get-EventLog Application

Lệnh trên sẽ hiện các thông tin được lưu trong phần Application, mặc dù vậy chúng ta cũng có thể sử dụng cùng khái niệm như đã sử dụng ở trên để lọc các kết quả thu được. Giả sử chúng ta muốn chỉ liệt kê các thông tin có liên quan đến MSExchangeFDS, hãy sử dụng lệnh dưới đây:

Get-EventLog application | where { $_.Source -eq "MSExchangeFDS" }

Kết quả của lệnh này sẽ chỉ hiển thị các entry coi MSExchangeFDS như nguồn, nếu bạn muốn đọc các thông tin của các sự kiện, hãy xem xét đến việc sử dụng thêm “ | FL” ở phần cuối của lệnh trước, nó sẽ hiển thị cho bạn các thông tin chi tiết về mỗi entry của bản ghi ứng dụng.

Thêm một số ví dụ

Chúng ta đã thấy được cách quản lý các thông tin gỡ rối, nhưng vẫn còn đó rất nhiều thứ chúng ta có thể thực hiện để quản lý cấu hình gỡ rối trong Exchange Server 2007. Có một số câu hỏi chung nhất mà người dùng hay đặt ra đó là:

  1. Có thể xem các thông tin gỡ rối từ máy chủ từ xa như thế nào?
    Mặc định, lệnh Get-EventLogLevel sẽ trả về các thông tin từ máy chủ nội bộ, nhưng bạn có thể sử dụng tiếp lệnh –Server hoặc Identity để chỉ định một máy chủ nào đó, chẳng hạn như:
    Get-EventLogLevel –Server <Remote-Server-Name>
    Get-EventLogLevel “<Remote-Server-Name>\MSExchange ADAccess”
  2. Có thể liệt kê các mức gỡ rối cho tất cả các thành phần từ máy chủ Exchange của tổ chức như thế nào?
    Bạn cần sử dụng một lệnh mở rộng để lấy được các thông tin như vậy. Đây là cú pháp:
    Get-ExchangeServer | ForEach { Get-EventLogLevel -Server $_.Name }
  3. Có thể liệt kê tất cả các thành phần có giá trị lớn hơn 3 trong các máy chủ như thế nào?
    Sử dụng cùng nguyên lý của câu hỏi trước:
    Get-ExchangeServer | ForEach { Get-EventLogLevel -Server $_.Name | where { $_.EventLevel -ge 3} }
  4. Có thể thay đổi mức gỡ rối của các hạng mục có mức được định rõ như thế nào?
    Bạn chỉ cần bảo đảm rằng truy vấn đang cho các kết quả đúng và sau đó bổ sung thêm một dấu “|” và lệnh Set-EventLogLevel vào cuối bằng giá trị mới mà bạn muốn. Trong ví dụ này, tất cả các hạng mục với mức gỡ rối trung bình đều được thay đổi thành thấp.
    Get-EventLogLevel | where-object { $_.EventLevel -eq 3} | Set-EventLogLevel -Level 1
  5. Có thể thực hiện tương tự như các câu hỏi trước cho các máy chủ của mạng trong một bước nào đó không?
    Điều này là hoàn toàn có thể. Trong ví dụ này, chúng tôi sẽ tìm các hạng mục có mức gỡ rối lớn hơn 3 và chúng sẽ được cấu hình thành thấp (giá trị bằng 1), và đây là lệnh thực hiện:
    Get-ExchangeServer | ForEach { Get-EventLogLevel -Server $_.Name | where { $_.EventLevel -ge 3} } | Set-EventLogLevel -Level 1

Kết luận

Trong bài này chúng tôi đã giới thiệu cho các bạn cách quản lý cấu hình mức gỡ rối trong Exchange Server 2007, bên cạnh đó cũng giới thiệu một số ví dụ để bạn có thể quản lý cùng một lúc nhiều máy chủ bằng dòng lệnh.

Thứ Bảy, 17/01/2009 10:26
11 👨 2.867
0 Bình luận
Sắp xếp theo