2011-01-05 46 views
7

Tôi có một số ứng dụng chạy trên ASP.NET mà tôi muốn theo dõi. Những điều chính tôi quan tâm là:Giám sát các ứng dụng .NET ASP.NET

  • Ngoại lệ: Chúng tôi hiện một số mã tùy chỉnh sẽ gửi email cho chúng tôi khi có ngoại lệ xảy ra. Nếu ứng dụng thất bại, nó sẽ làm hỏng triển vọng của chúng tôi ... Tôi biết (và sử dụng) elmah mà phần nào giải quyết được vấn đề tuy nhiên nó vẫn chỉ là một bảng ngoại lệ lớn với giao diện người dùng khá (ish). Tôi muốn một cái gì đó mà làm cho cảm giác của tất cả các trường hợp ngoại lệ (ví dụ nhóm ngoại lệ, cảnh báo khi mới xảy ra, nói với tôi những gì những người phổ biến là rằng tôi nên sửa chữa, vv)

  • Logging: Chúng tôi hiện đang đăng nhập vào các file mà sau đó có thể truy cập thông qua một thư mục chia sẻ mà dev grep & đuôi. Có ai biết cách nào tốt hơn để trình bày thông tin này không. Trong một thế giới lý tưởng, tôi muốn kết hợp nó với các ngoại lệ.

  • Hiệu suất: Yêu cầu lần, việc sử dụng bộ nhớ, cpu vv bất cứ số liệu thống kê tôi có thể nhận

Tôi đoán này có lẽ sẽ được giải quyết bằng một số công cụ, có ai có bất kỳ đề xuất?

+1

Cách tốt nhất để giải quyết các vấn đề ngoại lệ là khắc phục ngay lập tức. Tại sao bạn có ngoại lệ bạn đã không cố định quá lâu? –

+0

Tôi đồng ý nhưng tôi đã thừa kế một ứng dụng kế thừa mà tôi đang cố gắng xoay chuyển. Nhiệm vụ đầu tiên là tìm ra điểm đau lớn nhất là gì để chúng ta biết cách giải quyết vấn đề tốt nhất. –

+0

LOL, tôi phải kiểm tra tên của bạn hai lần để đảm bảo bạn không làm việc ở đây;) –

Trả lời

3

Bạn nên xem Gibraltar không sử dụng bản thân mình nhưng trông rất đẹp! Cũng làm việc với nLog và log4net vì vậy nếu bạn sử dụng những người bạn đang ở trong may mắn !!

+0

Rất nhiều đề xuất hay nhưng đề xuất này có vẻ hứa hẹn nhất. Tôi sẽ tăng đột biến vào điều này. Cảm ơn :) –

+1

Chúng tôi có một số tin tuyệt vời! Gibraltar bây giờ là miễn phí. Chi tiết khác trong câu trả lời riêng bên dưới. –

1

Về mặt ngoại lệ được xử lý hoặc chỉ l4ndash đăng nhập điển hình đáng xem. Tôi luôn đặt log4net của mình để không chỉ ghi ra các tập tin văn bản mà còn để thêm vào cơ sở dữ liệu. Bằng cách đó l4ndash có thể phân tích nó dễ dàng. Nó sẽ nhóm các lỗi của bạn, cho bạn biết nơi những điều xấu đang xảy ra rất nhiều. Bạn nhận được một giấy phép dev miễn phí

Với Elmah, chúng tôi chỉ cần kéo xuống các nhật ký định kỳ. Nó có thể xuất dưới dạng csv, sau đó chúng tôi sử dụng Excel để lọc/nhóm dữ liệu. Nó không lý tưởng, nhưng nó hoạt động. Sẽ tốt hơn nếu viết một kịch bản để tự động hóa điều này thêm một chút nữa. Tôi đã không thấy nhiều người khác ở đó cho Elmah.

1

One suggestion từ Ryans Roberts Tôi thực sự thích là exceptioneer mà dường như giải quyết được những ngoại lệ của mình ít nhất.

+0

bất kỳ ý tưởng gì đã xảy ra với Exceptioneer? – Alex

0

Bạn có thể nhận một số chỉ số về thời gian yêu cầu (và bất kỳ số liệu nào khác được lưu) bằng cách chạy LogParser qua nhật ký IIS.

1

Lần đầu tiên tôi truy cập log4net. SmtpAppender có thể đợi N ngoại lệ để tích lũy trước khi gửi email và tránh gặp sự cố Outlook. Và log4net cũng ghi nhật ký để ghi các tệp có thể được lưu trữ trên ổ đĩa mạng, đọc với mèo và grep, v.v.

Về thống kê, bạn có thể thực hiện ghi nhật ký sức khỏe/hiệu năng bằng cùng công cụ, tức là. sinh ra một chuỗi mà mỗi phút ghi lại việc sử dụng CPU, v.v.

Tôi không có câu trả lời cụ thể cho câu hỏi đầu tiên, vì nó ngụ ý phân tích nhật ký tự động và coalescence. Ở trường đại học, chúng tôi đã tạo ra một công cụ được thiết kế để làm một phần của những thứ này nhưng không áp dụng cho kịch bản của bạn (nhưng nó được tích hợp hai chiều với log4net).

3

Vâng, chúng tôi có chính xác cùng một giải pháp hiện tại. Email khi email gửi đi hộp thư đến của tôi và hầu như bị bỏ qua. Trong những ngày nghỉ, lỗi khiến mọi người trong dev phát đạt giới hạn hộp thư đến của họ;)

Vậy chúng ta đang đi đâu với giải pháp?

  1. Chúng tôi đã tạo các lớp học cho tất cả các hành vi phạm tội của chúng tôi, chúng hiếm khi được sử dụng từ nhiều nơi. Điều này về bản chất là bước một, nhưng chúng tôi đã bắt đầu cơ sở mã theo cách này.
  2. Chúng tôi đã sửa đổi trình tạo để tạo ra các giá trị HRESULT duy nhất cho tất cả các ngoại lệ.
  3. Một lần nữa chúng tôi đã thêm một trình tạo để tạo tệp tài nguyên thư .MC cho mọi ngoại lệ.
  4. Hiện tại, mọi ngoại lệ đều có thể tự ghi vào Nhật ký sự kiện Windows và do đó chúng tôi đã xóa tất cả email, v.v. và dựa vào nhật ký sự kiện.
  5. Giờ đây với nhật ký sự kiện chứa đầy đủ thông tin, bao gồm mã thông báo duy nhất và thông số cho mỗi ngoại lệ, chúng tôi có thể sử dụng các công cụ không có sẵn để tổng hợp, theo dõi và cảnh báo.

Các máy phát điện ngoại lệ (trước khi sửa đổi trên) nằm ở đây:

Nó tích hợp với visual studio bằng cách thay thế các máy phát điện resx với điều này:

Tôi chưa xuất bản trình tạo MC hoặc thế hệ HRESULT; tuy nhiên, nó sẽ có sẵn ở các vị trí trên khi tôi có thời gian.

- CẬP NHẬT -

Tất cả các công cụ và nguồn bây giờ có sẵn trực tuyến cho việc này. Vậy tôi đi đâu từ đây?

  1. Tải nguồn hoặc nhị phân từ: http://code.google.com/p/csharptest-net/
  2. Hãy nhìn vào sự giúp đỡ cho CmdTool.exe Visual Studio Integration
  3. Sau đó xem lại giúp đỡ về Generators for ResX and MC files, có một số cách để tạo ra file MC hoặc DLL đoạn thoại hoàn chỉnh từ các file resx . Chọn cách tiếp cận phù hợp nhất với bạn.
  4. Run CmdTool.exe REGISTER đăng ký công cụ này với Visual Studio
  5. Tạo một file resx như bình thường, sau đó thay đổi công cụ tùy chỉnh để CmdTool
  6. Bạn sẽ cần phải thêm một số mục vào file resx. Tại tối thiểu tạo như sau:
  7. Bây giờ bạn sẽ có một lớp ngoại lệ được tạo để ghi sự kiện nhật ký.Bạn sẽ cần phải xây dựng các tập tin MC như một hành động trước/sau xây dựng với một cái gì đó như:
    • CSharpTest.Net.Generators.exe RESXTOMESSAGEDLL /output=MyCustomMessages.dll /input=TheProjectWithAResX.csproj
  8. Cuối cùng, bạn cần phải đăng ký nó, chạy của khung InstallUtil.exe MyCustomMessages.dll

Đó nên giúp bạn bắt đầu cho đến khi tôi có đủ thời gian để ghi lại tất cả.

0

Chúng tôi đã xây dựng một ứng dụng giám sát đơn giản nằm trên màn hình và nhấp nháy màu đỏ khi có ngoại lệ được ghi vào nhật ký sự kiện từ một trong các ứng dụng trên máy chủ hoặc ghi lỗi vào bảng nhật ký lỗi kho dữ liệu. Nó cũng giám sát tình trạng cơ sở dữ liệu, kiểm tra phân mảnh và tương tự.

Vấn đề duy nhất chúng tôi có với điều này là nó có thể là một chút xâm nhập trên máy tính để bàn vì nó giữ popping lên với một hộp thư màu đỏ nếu có một vấn đề. Tuy nhiên nó khuyến khích bạn sửa chữa nó càng sớm càng tốt.

Hiện tại, chúng tôi đang chạy tính năng này trên một số máy phát triển. Cải tiến mà chúng tôi đang nghĩ đến là có một ứng dụng giám sát chạy trên máy chủ để xuất bản nguồn cấp dữ liệu rss để ứng dụng chỉ kiểm tra một lần ở một nơi nhưng chúng tôi có thể sử dụng thông tin từ bất kỳ nơi nào sử dụng bất kỳ phương pháp nào chúng tôi chọn vào thời điểm đó (chẳng hạn như thông qua điện thoại của chúng tôi khi chúng tôi không ở trong văn phòng).

0

Bạn có thể chọn nguồn cấp dữ liệu RSS từ bảng Ngoại lệ (và các thứ khác). Sau đó, bạn có thể đăng ký nguồn cấp dữ liệu RSS trong MS Outlook hoặc trên bất kỳ điện thoại thông minh nào. Tôi sử dụng một trình đọc nguồn cấp dữ liệu RSS được gọi là NewsRob vì nó thông báo cho tôi khi có điều gì đó mới mẻ.

Tôi viết blog về làm thế nào để làm điều này HERE.

Là một bước liên quan, tôi tìm thấy một cách để thông báo cho bản thân mình khi một cái gì đó đã không xảy ra. Blog đó là HERE.

Các vấn đề liên quan