monit: tidak dapat terhubung ke antarmuka http

8

Saya sedang menyiapkan monit di situs baru, yang saya sebut sebagai mywebsite.com selama pertanyaan ini. Saya telah menyiapkan konfigurasi untuk mengakses halaman antarmuka web monit, tetapi saya tidak dapat terhubung dengannya. Saya mempunyai firewall dasar yang berjalan dengan iptables, dan saya pikir saya telah membuat lubang untuk monit, tetapi saya tidak dapat terhubung ke antarmuka web monit, dan saya tidak tahu mengapa.

Saya belum mengatur apa pun untuk dipantau: konfigurasi monit saya terlihat seperti ini:

## Start monit in the background (run as a daemon):
set daemon  120           # check services at 2-minute intervals

set httpd port 2812 and
  use address mywebsite.com  
  allow localhost      
  allow admin:password

Saya telah memulai kembali monit dengan aturan-aturan ini.

Saya telah membuat aturan untuk monit di konfigurasi iptables saya, yang terlihat seperti ini:

#monit interface
-A OUTPUT -p tcp --dport 2812 -j ACCEPT
-A INPUT -p tcp --dport 2812 -j ACCEPT

Saya kemudian mengimpor aturan-aturan ini ke /sbin/iptables-restore. Saya dapat melihat entri monit ketika saya melakukannya sudo /sbin/iptables -L:

...
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:2812 
...

Tapi, ketika saya pergi ke http://mywebsite.com:2812saya mendapatkan Error code: ERR_EMPTY_RESPONSEdi browser.

Ada ide, siapa saja? Saya bahkan tidak tahu apakah masalahnya ada hubungannya dengan iptables. Terima kasih sebelumnya, Max

EDIT: Saya mencoba mengubah baris 'localhost' di konfigurasi monit sebagai berikut:

set httpd port 2812 and
  use address mywebsite.com  
  allow mywebsite.com      
  allow admin:password

tapi itu tidak ada bedanya.

Max Williams
sumber
Sepertinya Anda hanya mengizinkan hosting lokal. Anda harus mengizinkan subnet Anda.
krisFR
terima kasih - lihat edit, apakah ini yang Anda maksud dengan "izinkan subnet Anda"?
Max Williams

Jawaban:

14

Untuk mengakses Monit dari luar nerwork, cukup atur:

Tanpa penghentian dan akses dari mana-mana:

set httpd port 2812

Untuk akses dari mana saja dengan otentikasi:

set httpd port 2812
   allow <auth_user>:<auth_password>

Dalam kasus Anda, hapus anddi akhir barisset httpd port 2812 and

Catatan : Jika Anda menguji pengaturan dengan kata sandi yang ditetapkan sebagai "kata sandi" Anda akan menerima kesalahan ini:

Error: syntax error 'password'
KRFFR
sumber
1
itu berhasil - terima kasih! Bagian "dan" berasal dari situs ini - tecmint.com/... - apakah itu mungkin tersisa dari versi monit yang lebih lama, yang memiliki sintaks konfigurasi yang berbeda?
Max Williams
1
Tidak, itu karena dalam tutorial ini mereka selalu berurusan dengan localhost. Mereka tidak menjelaskan cara mengakses dari luar localhost (lihat url di layar cetak mereka)
krisFR
Ini membantu saya satu ton dan saya suka monit
Cesar Bielich
Saya menduga Anda harus menentukan setidaknya satu antara allowdan credentialsarahan. Lihat serverfault.com/a/900823/459872
Davide Cavestro
pengaturan port httpd 2812 tanpa izin tidak berfungsi lagi. monit: monit httpd tidak dimulai karena tidak ada koneksi yang diizinkan
roothahn