Các chức năng của Nagios rất linh hoạt, nó có thể được cấu hình để theo dõi cơ sở hạ tầng CNTT theo cách ta muốn. Nó cũng có một cơ chế để tự động phản ứng với các vấn đề, và một hệ thống cảnh báo mạnh. Tất cả điều này được dựa trên một hệ thống định nghĩa các đối tượng rõ ràng:
Commands: được định nghĩa về cách Nagios cần thực hiện các loại kiểm tra, chúng là một lớp trừu tượng cho phép ta nhóm các hoạt động tương tự lại với nhau.
Time-periods: là ngày và thời gian kéo dài mà trong đó một hoạt động nên hay không nên được thực hiện, ví dụ: Thứ hai đến thứ sáu 9:00-17:00.
Contacts và Contact groups: là những người cần được cảnh báo, cùng với thông tin về cách thức và thời gian họ cần được cảnh báo. Contacts có thể được nhóm lại thành Contact groups.
Host: là những máy vật lý, cùng với thông tin về việc ai sẽ được liên lạc, làm thế nào kiểm tra phải được thực hiện, và khi nào. Host có thể được nhóm lại thành các Host group, mỗi host có thể là một thành viên của nhiều Host group.
Services: là các chức năng khác nhau hoặc các tài nguyên cần được giám sát, cùng với thông tin về những người cần được liên lạc, làm thế nào kiểm tra phải được thực hiện, và khi nào. Service có thể được nhóm lại thành các service group, mỗi service có thể là một thành viên của nhiều service group.
Host và service escalation: định nghĩa khoảng thời gian được chỉ ra mà sau đó người phụ nên được cảnh báo của các sự kiện nào đó - ví dụ một máy chủ quan trọng là ngưng hoạt hơn 4 giờ nên cảnh báo cho quản trị viên để họ bắt đầu theo dõi các vấn đề.
Một tiện ích quan trọng ta sẽ đạt được bằng cách sử dụng Nagios là một hệ thống phụ thuộc. Đối với các quản trị viên, rõ ràng là nếu router bị hỏng, tất cả các máy truy cập thông qua nó sẽ thất bại. Nagios cho phép ta định nghĩa phụ thuộc giữa các máy để hình thành cấu trúc liên kết mạng lưới thực tế. Ví dụ, nếu một switch, cho kết nối ta với một bộ định tuyến ngưng hoạt động, Nagios sẽ không
thực hiện bất kỳ kiểm tra trên router hoặc trên các máy tính phụ thuộc vào router. Điều này được minh họa trong ví dụ sau đây:
Hình 3-13: Ví dụ mô tả sự cố
Ta cũng có thể định nghĩa rằng một dịch vụ phụ thuộc vào một dịch vụ khác, hoặc trên cùng một máy chủ hoặc trên các máy chủ khác nhau. Nếu một trong các dịch vụ là ngưng hoạt động, một kiểm tra cho một dịch vụ mà phụ thuộc vào nó sẽ không được thực hiện. Ví dụ, đối với mạng nội bộ của ứng dụng công ty hoạt động tốt, cả hai máy chủ web cơ bản và cơ sở dữ liệu một máy chủ đều hoạt động. Vì vậy, nếu một dịch vụ cơ sở dữ liệu không hoạt động, Nagios sẽ không thực hiện kiểm tra các ứng dụng. Máy chủ cơ sở dữ liệu có thể là trên cùng một máy hoạt khác máy.Trong một trường hợp như vậy, nếu máy bị hỏng hoặc không thể truy cập, cảnh báo cho tất cả các dịch vụ phụ thuộc vào các dịch vụ cơ sở dữ liệu sẽ không được gửi.
Nagios cũng cung cấp cơ chế để lên lịch cho kế hoạch ngưng hoạt động vì một vài lý do nào đó như bảo trì hoặc nâng cấp hệ thống. Ta có thể lên lịch cho một
máy chủ cụ thể hoặc dịch vụ dự kiến không có sẵn. Điều này sẽ ngăn chặn Nagios thông báo cho người được cấu hình cần gửi cảnh báo về các vấn đề liên quan đến đối tượng này. Nagios cũng có thể thông báo cho mọi người kế hoạch ngương hoạt động một cách tự động. Điều này chủ yếu được sử dụng khi bảo trì cơ sở hạ tầng IT và hệ thống cũng như dịch vụ ngưng hoạt động trong một thời gian dài.