<commit_before>### 4.6 Монітор з JMX

Шукачі монітор 0.5.0 нові функції. За допомогою цієї функції ви можете перевірити виконання пошукових роботів - скільки сторінок були розвантажені, скільки сторінок, скільки запускає потік і іншу інформацію. Функціональність через реалізації JMX, ви можете використовувати інструмент, щоб побачити JConsole т.д. JMX локальної або віддаленої інформації на гусеничному ходу.

Якщо ви не JMX не має значення, оскільки його використання є відносно простим, ця глава буде використовувати більш докладне пояснення. Якщо ви хочете дізнатися, де цей принцип, можливо, буде потрібно якийсь знання JMX рекомендується прочитати: [JMX Оздоблення] (http://my.oschina.net/xpbug/blog/221547). У мене є багато частини статті було посилання.

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

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

Додати моніторинг дуже просто, отримати `SpiderMonitor` одноелементний `SpiderMonitor.instance ()`, і ви хочете контролювати реєстрацію Павук піти. Ви можете зареєструвати декілька павука, щоб `SpiderMonitor`.

```java
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 забезпечує управління, ви можете використовувати будь-який клієнт JMX з підтримкою для підключення. Ми тут, щоб JDK приходить приклад JConsole. Ми спочатку почати павук WebMagic і додати код монітора. Потім ми JConsole для його перегляду.

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

![Jconsole](http://webmagic.qiniudn.com/oscimages/231513_lP2O_190591.png)

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

Тут ми можемо також вибрати "дію" в операції, де ви можете вибрати, щоб почати -start () і термінації сканерів -STOP (), який буде безпосередньо викликати відповідний старт павука () і зупинки () метод для досягнення мети базова контроль.

![Jconsole-шоу](http://webmagic.qiniudn.com/oscimages/231652_B3Mt_190591.png)

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

На додаток до деяких з існуючої інформації моніторингу, якщо у вас є більше інформації необхідно контролювати, також може бути розширена, щоб вирішити. Ви можете успадковувати `SpiderStatusMXBean` для досягнення розширення, конкретні приклади можна побачити тут:
[Користувальницьких розширень demo](https://github.com/code4craft/webmagic/tree/master/webmagic-extension/src/test/java/us/codecraft/webmagic/monitor).<commit_msg>Update monitor.md<commit_after>### 4.6 Монітор з JMX

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

Якщо ви раніше не користувалися JMX, то це не має значення, оскільки його використання є відносно простим, про це докладніше пояснюється в цій главі. Якщо ви хочете дізнатися про принцип, чи отримати ще більше інформації про JMX рекомендуємо прочитати: [JMX Оздоблення](http://my.oschina.net/xpbug/blog/221547). У цій частині наведено багато інформації з посилання на джерело.

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

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

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

```java
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, інтерфейс командного рядка (CLI) вводиться в DOS jconsole.exe), щоб почати JConsole.

![Jconsole](http://webmagic.qiniudn.com/oscimages/231513_lP2O_190591.png)

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

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

![Jconsole-шоу](http://webmagic.qiniudn.com/oscimages/231652_B3Mt_190591.png)

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

На додаток до існуючих опцій інформаціцного моніторингу, якщо у вас є потреба отримувати більше інформації що необхідно контролювати, тож є рішення - це розширення. Ви можете успадковувати `SpiderStatusMXBean` щоби задіяти розширення, конкретні приклади можна побачити тут:
[Кастомне розширення - demo](https://github.com/code4craft/webmagic/tree/master/webmagic-extension/src/test/java/us/codecraft/webmagic/monitor).
{'fraction_non_alphanumeric': 0.07543520309477757, 'fraction_numerical': 0.015176313048653474, 'mean_word_length': 5.017905102954342, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1551914', 'n_tokens_mistral': 2654, 'n_tokens_neox': 3269, 'n_words': 677}