Cấu trúc mã nguồn của phần mềm được thể hiện qua hình 2.3.
Hình 2.4 Cấu trúc mã nguồn Observium
− Observium được cài đặt tập trung trên máy chủ, các thư mục của observium được đặt tại /opt/observium.
− /opt/observium: Chứa toàn bộ mã nguồn và tài nguyên xây dựng phần mềm.
− /add_device.php: Chứa thông tin của các thiết bị được thêm vào qua giao diện dòng lệnh hoặc từ giao diện web.
kết nối với cơ sở dữ liệu sql.
− /check-errors.php: chứa các hàm xử lý về thông báo cảnh báo, các chỉnh sửa về cảnh báo đối với thiết bị.
− /config.php: bao gồm các mã cài đặt, cấu hình của phần mềm. − /delete_device.php: chứa các hàm xử lý xóa thiết bị
− /discovery.php: chứa các hàm xử lý tự động tìm kiếm thiết bị mới thêm vào cơ sở dữ liệu các thiết bị phát hiện. Được chạy tự động và định kỳ, nó cũng có thể chạy theo cách thủ công cho mục đích gỡ lỗi mà phát triển. − /housekeeping.php: chứa các hàm xử lý dọn dẹp cơ sở dữ liệu định kỳ khi
hệ thống chứa dữ liệu quá nhiều.
− /opt/observium/html: thư mục chứa phần xử lý web giao diện của observium, sử dụng framework Bootstrap 2 và 3.
− /irc.php: chứa các hàm xử lý về thiết bị, liệt kê cung cấp thông tin cơ bản cho một thiết bị hoặc một cổng.
− /poller.php là tệp lệnh thăm dò chính của Observium. Nó thực hiện tất cả các nhiệm vụ liên quan đến việc thu thập dữ liệu từ các thiết bị được giám sát và lưu trữ trong RRD và cơ sở dữ liệu. Poller.php thường được thực thi tự động bởi poller-wrapper.py, cũng có thể chạy theo cách thủ công vì nhiều lý do khác nhau, bao gồm cả gỡ lỗi.