4.6 Монітор з JMX

Монітор шукача нова функція починаючи з версії 0.5.0. За допомогою цієї функції ви можете перевірити запущених пошукових роботів - скільки сторінок було завантажено, яка кількість сторінок, скільки запущених потоків thread і іншу інформацію. Побачити функціональність імплементованої JMX(Java Management Extensions ), ви можете використовувати інструмент JConsole чи т.п. JMX працює, як з локальною так і віддаленої інформацією про пошукач.

Якщо ви раніше не користувалися JMX, то це не має значення, оскільки його використання є відносно простим, про це докладніше пояснюється в цій главі. Якщо ви хочете дізнатися про принцип, чи отримати ще більше інформації про JMX рекомендуємо прочитати: JMX (en) чи JMX (chinese). У цій частині наведено багато інформації з посилання на джерело.

Примітка: Якщо ви визначаєте планувальник Scheduler, вам потрібно імплементувати інтерфейс MonitorableScheduler, та перегляньте ці два метода LeftPageCount та TotalPageCount.

4.6.1 Додати у проект моніторинг

Додати моніторинг дуже просто - отримати синглетон SpiderMonitor.instance() від SpiderMonitor, якщо ви бажаете моніторити Spider, потрібно ще його зареєструвати. Також Ви можете зареєструвати декілька пошукових сканерів Spider для моніторингу у SpiderMonitor.

public class MonitorExample {

    public static void main(String[] args) throws Exception {

        Spider oschinaSpider = Spider.create(new OschinaBlogPageProcessor())
                .addUrl("http://my.oschina.net/flashsword/blog");
        Spider githubSpider = Spider.create(new GithubRepoPageProcessor())
                .addUrl("https://github.com/code4craft");

        SpiderMonitor.instance().register(oschinaSpider);
        SpiderMonitor.instance().register(githubSpider);
        oschinaSpider.start();
        githubSpider.start();
    }
}

4.6.2 Знайомство інформаційним моніторингом

Моніторинг WebMagic проходить за допомогою JMX provides control (забезпечує управління), ви можете використовувати будь-який клієнт JMX-enabled, що підтримує підключення. Будемо використовувати JDK для наведеного прикладу JConsole. Спочатку стартуємо Spider WebMagic і додати код монітора. Потім переходимо в JConsole, щоб переглянути його.

Запускаємо програму відповідно до прикладу 4.6.1, а потім введіть команду JConsole (під Windows, у вікні терміналу в DOS (інтерфейс командного рядка (CLI)) вводиться jconsole.exe), щоб запустити JConsole.

Jconsole

У відкритому вікні обираємо - стартувати локальний процес WebMagic, вибрати MBean. Після підключення відкривається "WebMagic" де побачимо всю інформацію, що доступна для моніторингу пошукача Spider!

Звідси можна керувати “дією” пошукових сканерів - для запуску -start(), а для зупинки -stop().

Jconsole-шоу

4.6.3 Розширений інтерфейс моніторингу

На додаток до існуючих опцій інформаційного моніторингу, при потребі отримувати більше інформації, що необхідно контролювати, є рішення - це розширення. Ви можете успадковувати SpiderStatusMXBean щоби задіяти розширення, конкретні приклади можна побачити тут: Кастомне розширення - demo.

results matching ""

    No results matching ""