Używam aplikacji, która pobiera wyniki wyszukiwania z serwera solr. Ale gdy serwer nie działa, nie otrzymuję odpowiedzi od serwera. Czy jest jakiś sposób, że mogę stwierdzić, że mój serwer nie działa, więc mogę dać odpowiedni komunikat o błędzie w odniesieniu do niegoJak sprawdzić, czy serwer Solr jest uruchomiony czy nie
Odpowiedz
Powinieneś prawdopodobnie użyć czegoś w stylu Nagios do monitorowania stanu twojego sprzętu. Nagios ma również ładny plugin for solr, który może ci pomóc.
Jeśli serwer nie odpowiada w odpowiednim czasie (solr), należy rozważyć reprezentujący go w dół i przedstawić komunikat o błędzie, niezależnie od tego, czy jest on, czy nie (tj. Trwa długo, ponieważ jest przeciążony) . Jeśli trwa to wieczność, aby załadować jego dół do użytkownika :)
Większość klientów Solr ma limit czasu i wywołanie zwrotne błędu. Jeśli wystąpi przekroczenie limitu czasu, wyświetli się błąd.
Jeśli chcesz się bardzo szybko dowiedzieć, że serwer jest wyłączony, możesz umieścić JSP w Solr, który nic nie robi, tylko wydrukuje wiadomość. Następnie wykonaj HTTP GET na stronie JSP, a jeśli nie pojawi się bardzo szybko, serwer nie działa.
Myślę, że od strony klienta, podejście timeout jest mądrzejsze niż okresowe pingowanie serwera. –
Można okresowo pingować serwer (np http://localhost:8983/solr/admin/ping
) oraz w przypadku wystąpienia błędu przekazać tę wiadomość do frontend ...
: w jaki sposób powinienem pingować serwer Solr poprzez bazę kodu, aby uzyskać błąd. – Romi
Twój język programowania prawdopodobnie ma pewne narzędzie do planowania zadań, które mają być uruchamiane regularnie (np. Http://www.quartz-scheduler.org dla Java ...) Następnie wystarczy wysłać żądanie GET do adresu URL ping i przetworzyć Odpowiedź na stan HTTP odpowiednio ... –
Wiem, że jest to starsza odpowiedź, ale nie dotyczy ona najnowszego Solr. – Marc
Jeśli masz SolrServer
obiekt, wystarczy zadzwonić SolrServer.ping()
zgłasza wyjątek, jeśli nie mogę nawiązać połączenie.
- 1. Wykrywanie, czy serwer SQL jest uruchomiony
- 2. Jak sprawdzić, czy komputer został ponownie uruchomiony?
- 3. Jak mogę sprawdzić, czy program jest uruchomiony z Valgrind?
- 4. Jak sprawdzić, czy ssh-agent jest już uruchomiony w bashu?
- 5. Połączenie odrzucone! Czy serwer selenowy został uruchomiony
- 6. Sprawdzanie, czy tunel SSH jest uruchomiony
- 7. Sprawdzenie, czy proces php jest już uruchomiony
- 8. Jak mogę sprawdzić, czy generator został właśnie uruchomiony?
- 9. Jak sprawdzić, czy moja strona jest skrobana?
- 10. Jak sprawdzić, czy 3g jest aktywne czy nie w Androidzie
- 11. Jak sprawdzić, czy model jest nowy, czy nie?
- 12. Jak sprawdzić, czy NSTimer jest aktywny czy nie?
- 13. Jak sprawdzić, czy kontrola jest w czasie projektowania, czy nie?
- 14. Jak sprawdzić, czy aktualnie zalogowany użytkownik jest administratorem czy nie?
- 15. Jak sprawdzić, czy zakładka jest aktywna czy nie w JTabbedPane?
- 16. Jak sprawdzić, czy zestaw słuchawkowy jest podłączony, czy nie?
- 17. Jak sprawdzić, czy obiekt jest autoreleased, czy nie?
- 18. Jak sprawdzić, czy autocommit jest włączony czy nie, postgres 'psql
- 19. jak sprawdzić, czy hudson jest zajęty, czy nie?
- 20. Jak sprawdzić, czy inna aplikacja jest zminimalizowana, czy nie?
- 21. Jak sprawdzić skrypt NAnt, czy właściwość jest ustawiona, czy nie?
- 22. Jak sprawdzić, czy plik node.js jest zainstalowany czy nie
- 23. Jak sprawdzić, czy tablica wielowymiarowa jest pusta, czy nie?
- 24. jak sprawdzić czy allow_url_fopen jest włączona czy nie
- 25. Magento Jak sprawdzić, czy koszyk jest pusty, czy nie?
- 26. Jak sprawdzić, czy jest konsola?
- 27. Jak sprawdzić, czy sesja istnieje, czy nie?
- 28. Jak mogę sprawdzić, czy serwer jest w stanie obsłużyć żądania SOAP?
- 29. Jak sprawdzić programowo, czy serwer WWW ma włączoną kompresję http?
- 30. Jak sprawdzić uruchomiony proces z Ruby?
Nagios nie pomoże tak bardzo, jeśli spróbuje sobie z tym poradzić w swoim interfejsie (komunikat o błędzie). –
cóż, nie określił zbyt wiele, nagios jest najbardziej samodzielnym rozwiązaniem, jakie mogłem wymyślić. –