2011-12-08 54 views
6

Vì vậy, tôi có sau trong monitrc tập tin của tôi:Monit lỗi tên dịch vụ

check process apache with pidfile /usr/local/apache/logs/httpd.pid 
group apache 
start program = "/etc/init.d/httpd start" 
stop program = "/etc/init.d/httpd stop" 
if failed host XXX port 80 protocol http 
and request "/monit/token" then restart 
if cpu is greater than 60% for 2 cycles then alert 
if cpu 80% for 5 cycles then restart 
if totalmem 500 MB for 5 cycles then restart 
if children 250 then restart 
if loadavg(5min) greater than 10 for 8 cycles then stop 
if 3 restarts within 5 cycles then timeout 

nhưng tôi tiếp tục nhận được lỗi:

Error: service name conflict, apache already defined '/usr/local/apache/logs/httpd.pid' 

Trả lời

6

Nếu tên máy chủ của máy chủ là 'apache' thì xung đột là với quy tắc mặc định để theo dõi tải hệ thống.

Monit dường như có quy tắc ngầm về 'tên máy chủ hệ thống kiểm tra', trong đó tên máy chủ là đầu ra của lệnh tên máy chủ lưu trữ.

Bạn có thể ghi đè lên rằng bằng cách thêm một dòng như:

check system newhostname 

Ví dụ:

check system localhost 
2

Bằng bất kỳ cơ hội nào bạn có một mục với một loạt tên apache bên dưới mục này hoặc trong một tập tin cấu hình monit riêng biệt?

0

Kiểm tra xem bạn có bất kỳ mâu thuẫn cho Apache định tại bất kỳ của file dưới /etc/monit.d/ thư mục , Tôi đã vô tình thêm nginx cho số puma.conf của mình và chạy vào cùng một lỗi trước đó.

4

tôi thấy lỗi này khi tôi quên nhận xét ra dòng:

include /etc/monit/conf.d/* 

trong một tùy chỉnh /etc/monit/conf.d/myprogram.conf tập tin, vì vậy nó được đệ quy trong đó có tập tin đó.

0

Đối với trường hợp của tôi, tôi chỉ đơn giản là phải khởi động lại monit để thoát khỏi lỗi tên dịch vụ:

sudo service monit restart

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