(Xem phía dưới để cập nhật ...)
Tôi đã viết một tập lệnh phương thức nhập dữ liệu cho Cacti (trong Ruby, để thu thập số liệu thống kê từ beanstalkd) và nó hoạt động từ dòng lệnh (trả về một số nguyên đơn giản, như được ghi lại ở đây ) khi chạy như tài khoản người dùng cacti nhưng công cụ Cacti bản thân nó không thu thập bất kỳ dữ liệu nào và không có gì trong nhật ký.
Dưới đây là thiết lập Phương thức nhập dữ liệu: Phương thức nhập dữ liệu Cacti http://img.skitch.com/20091009-gh7g1kukn9yradj6y2iqrd5qm1.jpg
Và đây là Biểu đồ kết quả (sau khi được thêm vào mẫu biểu đồ của máy chủ lưu trữ và còn lại để chạy đủ lâu để thu thập dữ liệu): Biểu đồ Cacti http://img.skitch.com/20091009-xq1kn3qxkteb5hb11wtx6tbs8m.jpg
Cập nhật # 1 : Có vẻ như Cacti có thể đang tước môi trường:
sudo su - cacti -c 'env -i / script / beanstat --host 10.11.12.13 - cổng 11300 - đang chờ hiện tại' / script / beanstat: 4: in `Yêu cầu ': không có tệp nào để tải - rubygems (LoadError) từ / script / beanstat: 4
Nếu đó là trường hợp, làm thế nào tôi có thể làm việc xung quanh nó?
Cập nhật # 2 : Phản hồi này trên stackoverflow.com dường như đã giải quyết được vấn đề môi trường, nhưng vẫn không có dữ liệu trong biểu đồ.
Cập nhật # 3 : Nhờ đề xuất của @ Heath, tôi đã nâng cấp mức ghi nhật ký của pug và bắt được điều này:
CẢNH BÁO: Kết quả từ CMD không hợp lệ. Kết quả một phần: U
Không có may mắn nào hiểu được "Kết quả một phần: U" nghĩa là gì. Kịch bản chỉ in một giá trị số nguyên duy nhất.
Cập nhật # 4 : Cuối cùng tôi đã làm việc này. Vấn đề cốt lõi là thiếu môi trường khi shell script chạy. Tôi đã phải giải quyết điều đó bằng cách thêm tiền tố vào tập lệnh Ruby của tôi bằng các dòng sau:
#! / thùng / sh PATH = / usr / local / bin: $ PATH exec ruby -x "/ full / path / to / script / thư mục" $ 0 "$ @" #! / usr / bin / env ruby
Và vấn đề thứ yếu là cấu hình phù hợp của Phương thức nhập dữ liệu (một cho mỗi số liệu riêng biệt tôi muốn thu thập, mặc dù tất cả chúng đều sử dụng cùng một tập lệnh) cung cấp Nguồn dữ liệu cung cấp Mẫu dữ liệu (hoặc ngược lại, tôi ' m vẫn chưa rõ về điều đó) cung cấp các Mẫu biểu đồ cần được gán cho Thiết bị sau đó được thêm vào Cây đồ thị. Tóm lại, đó là một sự thất bại lớn với tài liệu tào lao và tôi hy vọng sẽ không bao giờ phải làm lại.
Cập nhật # 5 : Tôi đã chia sẻ tập lệnh của mình trên GitHub http://github.com/trak3r/cacti-beanstalkd-script