Monitoring Asterisk with Munin

Các bạn là một quản trị viên hệ thống hay một công ty chuyên cung cấp dịch vụ hỗ trợ, bảo trì? Các bạn đang phải chịu trách nhiệm quản trị và vận hành hệ thống thoại IP trên Asterisk (cài đặt phần mềm tự do nguồn mở Asterisk hoặc các appliance based trên nền Asterisk như Trixbox, Switchvox…)??

Hẳn không dưới một lần, các bạn gặp những vấn đề nhất định trong việc kiểm soát tình trạng hoạt động của hệ thống. Bạn không thể tự ngồi theo dõi hệ thống Asterisk của bạn 24/7, mà cần phải có những công cụ tự động phân tích tình trạng hoạt động, phân tích log của hệ thống, thông báo cho bạn khi có vấn đề xảy ra, thống kê, vẽ biểu đồ hoạt động của hệ thống theo thời gian thực…

Sau một thời gian tìm hiểu và áp dụng Munin vào hoạt động hiệu quả, tôi muốn chia sẻ với các bạn các kinh nghiệm của mình trong bài viết này; đặc biệt là phần cấu hình Munin plugin kết nối tới Asterisk hầu như chưa được nhắc đến nhiều trên các diễn đàn về Munin, Asterisk và các diễn đàn, cộng đồng FOSS khác.

Munin (http://munin-monitoring.org/) là một trong những phần mềm tự do nguồn mở hỗ trợ System Monitoring tốt hất hiện nay bới đặc tính dễ cài đặt, quản trị; với các chức năng theo dõi trạng thái hoạt động của các dịch vụ, hệ thống, chức năng thống kê, báo cáo, vẽ biểu đồ hoạt động của hệ thống…

Bài viết này nhằm trình bày các bước sơ bộ cài đặt và cấu hình Munin để theo dõi hoạt động của các hệ thống thoại IP based trên nền Asterisk.

Giả sử, bạn đã có một hệ thống Asterisk đang hoạt động bình thường. Trước tiên, bạn cần cài đặt, cấu hình Munin phục vụ theo dõi các hoạt động của các dịch vụ cơ bản như vùng đĩa, mạng, tiến trình, tài nguyên chung…

Xem các tài liệu: http://munin-monitoring.org/wiki/LinuxInstallation và http://munin-monitoring.org/wiki/munin.conf

Sau khi Munin đã hoạt động, công việc chính bây giờ là cấu hình Munin theo dõi hoạt động của Asterisk.

Đi kèm trong phiên bản Munin mới nhất, đã có sẵn plugin chuyên theo dõi các hoạt động của Asterisk. Việc của bạn là cấu hình cho plugin này hoạt động, kết nối được vào hệ thống Asterisk để theo dõi, tập hợp và thống kê số liệu về tình trạng hoạt động.

Munin plugin kết nối tới Asterisk thông qua AMI (Asterisk Manager Interface). Vì vậy, trước hết, bạn phải cài đặt AMI trên máy chủ Asterisk của bạn (thường đã được cài sẵn) và tạo tài khoản AMI mới dành riêng cho Asterisk (bạn nên tra cứu tài liệu cấu hình Asterisk để biết thêm chi tiết).

Bước tiếp theo là kích hoạt Munin plugin cho Asterisk (Xem: http://munin-monitoring.org/wiki/plugin-conf.d); Trong file cấu hình /etc/munin/plugin-conf.d/asterisk sửa nội dung tương tự như sau (đây chính là điểm chính quan trọng nhất):

[asterisk*]
user root
env.logfile full
env.logdir /var/log/asterisk
env.host 127.0.0.1
env.port 5038
env.username munin
env.secret <your-real-password>
env.codecs gsm ulaw alaw
env.codecsx 0x2 0x4 0x8
env.channels Zap Dahdi SIP

Munin-node có thể chạy ngay trên máy chủ Asterisk hoặc trên máy chủ khác (máy chủ Munin chính); trong trường hợp đó, chỉ cần điều chỉnh tham số env.host, kiểm tra quyền truy cập tài khoản AMI cũng như cấu hình mạng, tường lửa… để máy chủ Munin-node ngoài có quyền truy cập qua AMI.

Chúc các bạn may mắn và sớm có được một giải pháp hữu hiệu phục vụ hỗ trợ theo dõi hệ thống Asterisk của mình.