Мониторинг сервера

II. 6 шагов для установки плагинов Nagios и NRPE на удаленной Linux системе.

1. Скачиваем плагины Nagios и NRPE

Скачиваем следующие файлы с Nagios.org и помещаем их в /home/downloads:

  • nagios-plugins-1.4.11.tar.gz
  • nrpe-2.12.tar.gz

4. Устанавливаем NRPE

5. Запускаем NRPE как демон:

Измените /etc/xinetd.d/nrpe и добавьте ip-адрес Nagios сервера в директиву only_from.

       only_from       = 127.0.0.1 192.168.1.2

Измените /etc/services добавив следующую строку в конец файла.

       nrpe 5666/tcp # NRPE

Перезапустите xinetd

       #service xinetd restart

Проверьте слушает ли NRPE свой порт.

       # netstat -at | grep nrpe       tcp 0      0 *:nrpe *:*                         LISTEN

Убедитесь что NRPE функционирует правильно.

       # /usr/local/nagios/libexec/check_nrpe -H localhost
       NRPE v2.12

6. Измените /usr/local/nagios/etc/nrpe.cfg

Файл nrpe.cfg содержит команды, которые проверяют различные сервисы. По умолчанию в nrpe.cfg содержиться несколько стандартных команд, к примеру check_users и check_load:

В команде check опция “-w” означает “Warning” и “-c” означает “Critical”. К примеру, в команде check_disk, описанной ниже, если доступного места на диске менее 20%, nagios пошлет предупреждающее сообщение. Если менее 10%, будет послано критическое сообщение.

Заметка: Вы можете выполнить любую из этих команд в командной строке для проверки.

1: Установка Nagios 4

Существует множество способов установки Nagios, но мы рекомендуем установить Nagios и все компоненты из исходного кода, чтобы получить самые новые функции, обновления для системы безопасности и исправления багов.

Войдите на сервер 1 (на котором запущен Apache). Также этот сервер будет далее условно называться сервером Nagios.

Поскольку мы соберем Nagios и его компоненты из исходного кода, сейчас нужно установить несколько библиотек разработки, включая компиляторы, заголовки разработки и OpenSSL.

Обновите индекс, чтобы загрузить последние версии необходимых пакетов:

Теперь установите эти пакеты:

После этого можно установить сам Nagios. Загрузите исходный код последней стабильной версии Nagios Core. Откройте страницу загрузки Nagios и нажмите ссылку Skip to download под формой. Скопируйте адрес ссылки на последнюю стабильную версию, чтобы скачать ее на сервер Nagios.

Загрузите релиз в домашний каталог:

Распакуйте скачанный архив:

Перейдите в новый каталог:

Прежде чем начать сборку Nagios, запустите сценарий configure, чтобы указать каталог конфигураций Apache.

Примечание: Если вы хотите, чтобы Nagios отправлял электронные уведомления с помощью Postfix, вам нужно установить Postfix и настроить Nagios для его поддержки. Для этого добавьте в команду configure опцию –with-mail=/usr/sbin/sendmail. В этом мануале мы не включаем Postfix, но если вы решите использовать его позже, вам нужно будет перенастроить и переустановить Nagios.

Команда configure вернет такой результат:

Теперь скомпилируйте Nagios:

После этого создайте пользователя nagios и группу nagios:

Запустите следующие команды make, чтобы установить Nagios, сценарии инициализации и образцы конфигурационных файлов:

Apache будет обслуживать веб-интерфейс Nagios. Чтобы скопировать конфигурационный файл Apache и настроить его параметры, введите команду:

Теперь включите модули rewrite и cgi:

Чтобы выполнять внешние команды через веб-интерфейс Nagios, добавьте пользователя веб-сервера www-data в группу nagcmd:

С помощью команды htpasswd создайте администратора по имени nagiosadmin. У него будет доступ е веб-интерфейсу Nagios:

По запросу введите пароль. Запомните или запишите его – без него у вас не получится открыть веб-интерфейс.

Важно! Если вы назвали своего пользователя не nagiosadmin, вам нужно отредактировать /usr/local/nagios/etc/cgi.cfg и заменить все ссылки на nagiosadmin именем вашего пользователя. Чтобы обновить параметры Apache, перезагрузите его:

Чтобы обновить параметры Apache, перезагрузите его:

Система мониторинга Nagios установлена.

Установка Nagios в Ubuntu

Следующие шаги описывают, как установить последнюю версию Nagios Core из исходного кода.

1. Скачивание Nagios

Мы собираемся загрузить исходный код Nagios в каталог который является обычным местом для размещения исходных файлов, перейдите в каталог с помощью:

Когда загрузка завершится, извлеките tar-файл с помощью:

Перед тем, как продолжить следующие шаги, убедитесь , что вы измените в исходный каталог Nagios, набрав:

2. Компиляция Nagios

Чтобы запустить процесс сборки, запустите сценарий который выполнит ряд проверок, чтобы убедиться, что все зависимости в вашей системе присутствуют:

После успешного завершения на вашем экране будет напечатано следующее сообщение:

Теперь вы можете запустить процесс компиляции с помощью команды :

В зависимости от вашей системы компиляция может занять некоторое время. После завершения процесса сборки вам будет представлено следующее сообщение:

Следующая команда создаст нового пользователя и группу системного :

Добавьте пользователя Apache в группу :

4. Установите двоичные файлы Nagios.

Выполните следующую команду, чтобы установить двоичные файлы Nagios, CGI и файлы HTML:

Вы должны увидеть следующий результат:

7. Установите файлы конфигурации Apache.

Следующая команда установит файлы конфигурации веб-сервера Apache:

Убедитесь, что модули Apache rewrite и cgi включены:

9. Создание учетной записи пользователя

Чтобы иметь доступ к веб-интерфейсу Nagios, вам необходимо создать пользователя-администратора с именем

Используйте следующую команду чтобы создать пользователя с именем

Вам будет предложено ввести и подтвердить пароль пользователя.

Перезапустите службу Apache, чтобы изменения вступили в силу:

10. Настройка межсетевого экрана.

Брандмауэр защитит ваш сервер от нежелательного трафика.

Если на вашем сервере не настроен брандмауэр, вы можете ознакомиться с нашим руководством о том, как настроить брандмауэр с ufw на ubuntu.

Откройте порты Apache, набрав:

Step 7 — Monitoring Hosts with Nagios

To monitor your hosts with Nagios, you’ll add configuration files for each host specifying what you want to monitor. You can then view those hosts in the Nagios web interface.

On your Nagios server, create a new configuration file for each of the remote hosts that you want to monitor in . Replace the highlighted word, with the name of your host:

Add the following host definition, replacing the value with your remote hostname, the value with a description of the host, and the value with the private IP address of the remote host:

/usr/local/nagios/etc/servers/your_monitored_server_host_name.cfg

With this configuration, Nagios will only tell you if the host is up or down. Let’s add some services to monitor.

First, add this block to monitor load average:

/usr/local/nagios/etc/servers/your_monitored_server_host_name.cfg

The directive tells Nagios to inherit the values of a service template called generic-service, which is predefined by Nagios.

Next, add this block to monitor disk usage:

/usr/local/nagios/etc/servers/your_monitored_server_host_name.cfg

Now save and quit. Restart the Nagios service to put any changes into effect:

After several minutes, Nagios will check the new hosts and you’ll see them in the Nagios web interface. Click on the Services link in the left navigation bar to see all of your monitored hosts and services.

iftop

Мониторинг сети Linux является довольно легким в освоении. Для этого существует огромное количество вариантов. Вы можете выбрать самый удобный для вас. Iftop измеряет данные, проходящие через отдельные соединения сокетов, и работает таким образом, который отличается от Nload. Iftop использует библиотеку pcap для захвата пакетов, перемещающихся в и из сетевого адаптера, а затем суммирует размер и количество, чтобы найти общую используемую ширину полосы пропускания.

Несмотря на то, что iftop сообщает пропускную способность, используемую отдельными соединениями, он не может сообщить имя / идентификатор процесса, участвующего в конкретном подключении сокета. Но, основываясь на библиотеке pcap, iftop может фильтровать трафик и использовать пропускную способность для передачи по выбранным узловым соединениям, как это определено фильтром.

Опция n не позволяет iptop отыскивать IP-адреса на имя хоста, что вызывает дополнительный сетевой трафик.

Установить в Debian или Ubuntu можно из репозиториев по-умолчанию.

Пользователи CentOS или Fedora могут установить командой:

Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить Epel

А затем ввести команду установки iftop заново.

Configuration Overview

There are a couple of directories containing Nagios configuration and check files.

  • : contains configuration files for the operation of the nagios daemon, CGI files, hosts, etc.

  • : houses configuration files for the service checks.

  • : on the remote host contains the nagios-nrpe-server configuration files.

  • : where the check binaries are stored. To see the options of a check use the -h option.

    For example:

There are a plethora of checks Nagios can be configured to execute for any given host. For this example Nagios will be configured to check disk space, DNS, and a MySQL hostgroup. The DNS check will be on server02, and the MySQL hostgroup will include both server01 and server02.

Additionally, there are some terms that once explained will hopefully make understanding Nagios configuration easier:

  • Host: a server, workstation, network device, etc that is being monitored.

  • Host Group: a group of similar hosts. For example, you could group all web servers, file server, etc.

  • Service: the service being monitored on the host. Such as HTTP, DNS, NFS, etc.

  • Service Group: allows you to group multiple services together. This is useful for grouping multiple HTTP for example.

By default Nagios is configured to check HTTP, disk space, SSH, current users, processes, and load on the localhost. Nagios will also ping check the gateway.

Large Nagios installations can be quite complex to configure. It is usually best to start small, one or two hosts, get things configured the way you like then expand.

Monitor a Host with NRPE

In this section, we’ll show you how to add a new host to Nagios, so it will be monitored. Repeat this section for each server you wish to monitor.

On a server that you want to monitor, update apt-get:

Now install Nagios Plugins and NRPE:

Configure Allowed Hosts

Now, let’s update the NRPE configuration file. Open it in your favorite editor (we’re using vi):

Find the directive, and add the private IP address of your Nagios server to the comma-delimited list (substitute it in place of the highlighted example):

Save and exit. This configures NRPE to accept requests from your Nagios server, via its private IP address.

Configure Allowed NRPE Commands

Look up the name of your root filesystem (because it is one of the items we want to monitor):

We will be using the filesystem name in the NRPE configuration to monitor your disk usage (it is probably ). Now open nrpe.cfg for editing:

The NRPE configuration file is very long and full of comments. There are a few lines that you will need to find and modify:

  • server_address: Set to the private IP address of this host
  • allowed_hosts: Set to the private IP address of your Nagios server
  • command: Change to whatever your root filesystem is called

The three aforementioned lines should look like this (substitute the appropriate values):

Note that there are several other “commands” defined in this file that will run if the Nagios server is configured to use them. Also note that NRPE will be listening on port 5666 because is set. If you have any firewalls blocking that port, be sure to open it to your Nagios server.

Save and quit.

Restart NRPE

Restart NRPE to put the change into effect:

Once you are done installing and configuring NRPE on the hosts that you want to monitor, you will have to add these hosts to your Nagios server configuration before it will start monitoring them.

Add Host to Nagios Configuration

On your Nagios server, create a new configuration file for each of the remote hosts that you want to monitor in . Replace the highlighted word, “yourhost”, with the name of your host:

Add in the following host definition, replacing the value with your remote hostname (“web-1” in the example), the value with a description of the host, and the value with the private IP address of the remote host:

With the configuration file above, Nagios will only monitor if the host is up or down. If this is sufficient for you, save and exit then restart Nagios. If you want to monitor particular services, read on.

Add any of these service blocks for services you want to monitor. Note that the value of check_command determines what will be monitored, including status threshold values. Here are some examples that you can add to your host’s configuration file:

Ping:

SSH (notifications_enabled set to 0 disables notifications for a service):

If you’re not sure what means, it is simply inheriting the values of a service template called “generic-service” that is defined by default.

Now save and quit. Reload your Nagios configuration to put any changes into effect:

Once you are done configuring Nagios to monitor all of your remote hosts, you should be set. Be sure to access your Nagios web interface, and check out the Services page to see all of your monitored hosts and services:

Access Nagios Web Interface

Now access the Nagios web interface using the following URL.

http://ip-add-re-ss/nagios/

You’ll be prompted for the username (nagiosadmin) and password you specified earlier.

Install Nagios 4.4.3 on Ubuntu 18.04 – Nagios Login

Upon successful login, you would get the Nagios’s home page.

Install Nagios 4.4.3 on Ubuntu 18.04 – Nagios Monitoring Home Page

You can monitor the services by clicking on Services in the left pane.

Install Nagios 4.4.3 on Ubuntu 18.04 – Nagios Services Monitoring

By default, Nagios can monitor only the localhost, i.e., Nagios server. If you want to monitor remote machines, then you need to install and configure NRPE plugin.

READ: How To Add Linux Host To Nagios Monitoring Using NRPE Plugin

That’s All.

I. Обзор Nagios

Nagios это программа для мониторинга узлов сети и сервисов. Ниже указаны некоторые из возможностей nagios.

  • Возможность мониторинга оборудования, такого как серверов, свитчей, роутеров, файерволов, ИБП и т.д.
  • Возможность мониторинга сервисов и служб, таких как HTTP, Mail, SSH, дискового пространства, использования памяти, температуры оборудования, и другое.
  • Nagios очень сильно расширяется плагинами, которые позволяют мониторить различные определенные пользователями сервисы. К Nagios существует огромное множество различных плагинов.
  • Nagios может посылать уведомления о возникновении проблем в зависимости от выбранного способа уведомления.
  • Nagios имеет веб интерфейс для просмотра текущего состояния объектов, извещений, истории проблем, лог файлов.

Использование скриптов

# cat /etc/nagios-dhcp-stat.sh
#!/bin/sh

#CMD='rsh router show ip dhcp binding | grep 192.168 | wc -l'
#MAX=99
#CUR=`eval $CMD`

#CMD='/usr/bin/dhcpd-pools -l /var/lib/dhcp/dhcpd.leases -c /etc/dhcp/dhcpd.conf -f c | grep 192.168.X.'
#CMD='/usr/local/bin/dhcpd-pools -l /var/db/dhcpd/dhcpd.leases -c /usr/local/etc/dhcpd.conf -f c | grep 192.168.X.'
#MAX=`eval $CMD | cut -d'"' -f8`
#CUR=`eval $CMD | cut -d'"' -f10`

echo CUR:$CUR MAX:$MAX

test $CUR -eq $MAX && exit 2

exit 0
# cat corpX.cfg
...
define command {
        command_name check_dhcp_stat
        command_line /etc/nagios-dhcp-stat.sh
}

define service{
        use generic-service
        host_name localhost
        service_description check dhcp stat
        check_command check_dhcp_stat
}

#8. MRTG

Ключевые особенности:

  • MRTG расшифровывается как Multi Router Traffic Grapher.
  • MRTG – это инструмент мониторинга сети.
  • MRTG использует SNMP (Simple Network Management Protocol для мониторинга сетевого трафика.
  • У MRTG есть агент, который знает управленческую информацию на местном уровне.
  • NMS (Network Management System) система в MRTG, которая запускает приложения, которые контролирует управляемые устройства.
  • В управляемом устройстве MTRG содержит агент SNMP и находится в управляемой сети.

Преимущества:

  • MRTG предоставляет ресурсы, необходимые для управления сетью.
  • Агент делает информацию доступной по протоколу SNMP.
  • С помощью MRTG анализируется сетевой трафик.
  • Живой сетевой трафик такой анализируется в MRTG.
  • Сетевой трафик также отслеживается на наших сетевых портах и ссылках.
  • MRTG – это инструмент мониторинга с открытым исходным кодом.
  • Есть оптимизация сети.
  • Есть устранение неполадок сети.

см. также:

#5. Zabbix

Ключевые особенности:

  • Zabbix – это бесплатный инструмент для мониторинга серверов с открытым исходным кодом.
  • Мы можем легко контролировать серверы, приложения и сетевые устройства, что дает точную статистику и данные о производительности.
  • Данные, собранные Zabbix, позволяют легко проанализировать нашу инфраструктуру.

Типы мониторинга, выполняемые Zabbix:

  1. Мониторинг сети
  2. Мониторинг сервера
  3. Облачный мониторинг
  4. Мониторинг приложений
  5. Мониторинг служб

Zabbix имеет сквозное шифрование и хорошую аутентификацию, и благодаря этому Zabbix имеет надежную защиту.

В Zabbix есть несколько веток, поэтому распределенный мониторинг возможен одновременно.

Преимущества:

  • Zabbix разработан для масштабирования от небольших сред до больших сред.
  • Zabbix доверяют такие мировые бренды, как Dell, HP, Salesforce, T Systems и т. Д.
  • Zabbix имеет высокую доступность, потому что у него несколько серверов, таких как прокси-серверы, поэтому нагрузка распределяется.

см. также:

Использование скриптов

# cat /etc/nagios-dhcp-stat.sh
#!/bin/sh

#CMD='rsh router show ip dhcp binding | grep 192.168 | wc -l'
#MAX=99
#CUR=`eval $CMD`

#CMD='/usr/bin/dhcpd-pools -l /var/lib/dhcp/dhcpd.leases -c /etc/dhcp/dhcpd.conf -f c | grep 192.168.X.'
#CMD='/usr/local/bin/dhcpd-pools -l /var/db/dhcpd/dhcpd.leases -c /usr/local/etc/dhcpd.conf -f c | grep 192.168.X.'
#MAX=`eval $CMD | cut -d'"' -f8`
#CUR=`eval $CMD | cut -d'"' -f10`

echo CUR:$CUR MAX:$MAX

test $CUR -eq $MAX && exit 2

exit 0
# cat corpX.cfg
...
define command {
        command_name check_dhcp_stat
        command_line /etc/nagios-dhcp-stat.sh
}

define service{
        use generic-service
        host_name localhost
        service_description check dhcp stat
        check_command check_dhcp_stat
}

Vnstat

Vnstat немного отличается от большинства других инструментов где Мониторинг сети Linux является основой. На самом деле он запускает фоновый сервис / daemon и постоянно фиксирует размер передачи данных. Кроме того, его можно использовать для создания отчета об истории использования сети.

:~$ sudo service vnstat status
 * vnStat daemon is running

Запуск vnstat без каких-либо параметров просто покажет общий объем передачи данных, который произошел с момента запуска демона.

:~$ sudo vnstat
Database updated: Mon Mar 17 15:26:59 2014

   eth0 since 06/12/13

          rx:  135.14 GiB      tx:  35.76 GiB      total:  170.90 GiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Feb '14      8.19 GiB |    2.08 GiB |   10.27 GiB |   35.60 kbit/s
       Mar '14      4.98 GiB |    1.52 GiB |    6.50 GiB |   37.93 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated      9.28 GiB |    2.83 GiB |   12.11 GiB |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday    236.11 MiB |   98.61 MiB |  334.72 MiB |   31.74 kbit/s
         today    128.55 MiB |   41.00 MiB |  169.56 MiB |   24.97 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated       199 MiB |      63 MiB |     262 MiB |

Чтобы отслеживать использование полосы пропускания в реальном времени, используйте параметр «-l» (режим «вживую»). Затем она покажет общую пропускную способность, используемую входящими и исходящими данными, но очень точным образом, без каких-либо внутренних сведений о хостах или процессах.

:~$ vnstat -l -i eth0
Monitoring eth0...    (press CTRL-C to stop)

   rx:       12 kbit/s    10 p/s          tx:       12 kbit/s    11 p/s

Vnstat больше походит на инструмент для получения исторических отчетов о том, как много трафика используется каждый день или в течение последнего месяца. Это не строго инструмент для мониторинга сети в реальном времени.

Vnstat поддерживает множество опций, подробности о которых можно найти на странице руководства.

Установить в Debian или Ubuntu

Установить в Fedora или CentOS

Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить

А затем ввести команду установки заново.

Step 4 — Configuring Nagios

Now let’s perform the initial Nagios configuration, which involves editing some configuration files. You only need to perform this section once on your Nagios server.

Open the main Nagios configuration file in your preferred text editor. Here, you’ll use :

Find this line in the file:

/usr/local/nagios/etc/nagios.cfg

Uncomment this line by deleting the character from the front of the line:

/usr/local/nagios/etc/nagios.cfg

Save and close by pressing , followed by , and then (if you’re using ).

Now create the directory that will store the configuration file for each server that you will monitor:

Open the Nagios contacts configuration in your text editor:

/usr/local/nagios/etc/objects/contacts.cfg

Save and exit the editor.

Next, add a new command to your Nagios configuration that lets you use the command in Nagios service definitions. Open the file in your editor:

Add the following to the end of the file to define a new command called :

/usr/local/nagios/etc/objects/commands.cfg

This defines the name and specifies the command-line options to execute the plugin.

Save and exit the editor.

Then start Nagios and enable it to start when the server boots:

Nagios is now running, so let’s log in to its web interface.

Prerequisites

To follow this tutorial, you will need:

  • Two Ubuntu 18.04 servers set up by following our Initial Server Setup Guide for Ubuntu 18.04, including a non-root user with sudo privileges and a firewall configured with . On one server, you will install Nagios; this tutorial will refer to this as the Nagios server. It will monitor your second server; this second server will be referred to as the second Ubuntu server.
  • The server that will run the Nagios server needs Apache and PHP installed. Follow this guide to configure those on one of your servers. You can skip the MySQL steps in that tutorial.

Typically, Nagios runs behind a hardware firewall or VPN. If your Nagios server is exposed to the public internet, you should secure the Nagios web interface by installing a TLS/SSL certificate. This is optional but strongly encouraged. You can follow the Let’s Encrypt on Ubuntu 18.04 guide to obtain the free TLS/SSL certificate.

This tutorial assumes that your servers have private networking enabled so that monitoring happens on the private network rather than the public network. If you don’t have private networking enabled, you can still follow this tutorial by replacing all the references to private IP addresses with public IP addresses.

1. Zabbix

Это одна из самых популярных промышленных систем мониторинга для Linux. Zabbix поддерживает сбор информации с нескольких серверов, мониторинг таких часто используемых служб, как Apache, Nginx, PHP-FPM, MySQL, PostgreSQL, Tomcat и многих других, а также обнаруживает и сообщает об различных типичных ошибках. Есть возможность отправки уведомления на электронную почту при возникновении определённого события. Это позволяет реагировать очень быстро на любые ошибки. Все настройки выполняются с помощью удобного веб-интерфейса и хранятся в базе данных MySQL. Вы также можете посмотреть текущие значения различных метрик сервера в разделе Monitoring -> Last data. Доступны графики для основных отслеживаемых параметров.

8.8 Мониторинг удаленных машин Linux под nagios

Тот же принципЛокальный мониторинг под nagios, разница в том, что вам нужно установить nrpe, nagios и связанные плагины на отслеживаемую машину для мониторинга хоста, а затем получить данные и отобразить их через сервер мониторинга.

Прежде всего, поскольку яДля тестирования под VMware, для удобства прямого создания клона хоста мониторинга с именем Testclient, исходным хостом мониторинга является Test (IP-адрес по умолчанию — 192.168.254.123, имеется полный набор программного обеспечения для мониторинга cacti + nagios + ntop), а Testclient включен.

8.8.1 На контролируемом компьютере

Vi /etc/conf.d/net изменить IP-адрес

modules=(«ifconfig»)

config_eth0=(«192.168.254.124 netmask 255.255.255.0 brd 192.168.254.255»)

routes_eth0=(«default via 192.168.254.2»)

Изменить имя хоста(Несущественно)

Hostname Testclient

добавить вИмя пользователя и пароль администратора nagios. Это клонированный компьютер, и его можно не указывать.

Useradd nagios

Passwd nagios

установкаПлагин Nagios (это клонированный компьютер, можно не указывать)

cd nagios-plugins-1.4.9

./configure –prefix=/var/www/localhost/htdocs/nagios/

Make && make install

установкапрограммное обеспечение для мониторинга nrpe

Cd nrpe-2.1.3

./configure –prefix=/var/www/localhost/htdocs/nagios/

Make all

установкаcheck_nrpe этот плагин

make install-plugin 

Я сказал ранее, что нужно установить машину мониторингаПлагин check_nrpe не нужен контролируемой машине, мы устанавливаем его здесь для тестирования

установкаdeamon

make install-daemon 

Установите файл конфигурации

make install-daemon-config 

установкаxinetd скрипт

make install-xinetd

Редактировать скрипт

Vi /etc/xinetd/nrpe

service nrpe

{

flags= REUSE

socket_type= stream

port= 5666

wait= no

user= nagios

group= nagios

server= /var/www/localhost/htdocs/nagios/bin/nrpe

server_args= -c /var/www/localhost/htdocs/nagios/etc/nrpe.cfg —inetd

log_on_failure+= USERID

disable= no

only_from= 127.0.0.1 192.168.254.123

}

Включитьслужба nrpe

Cd /var/www/localhost/htdocs/nagios/

Ln –s etc/nrpe nrpe

Vi nrpe

модифицироватьAllow hosts

allowed_hosts=127.0.0.1,192.168.254.123

bin/nrpe –d etc/nrpe.cfg

Проверить состояние

Netstat –at | grep nrpe

tcp00 *:nrpe*:*LISTEN

Netstat –an | grep :5666

tcp00 0.0.0.0:56660.0.0.0:*LISTEN

OK!

Добавить команды мониторинга

command=/var/www/localhost/htdocs/nagios/libexec/check_users -w 5 -c 10

command=/var/www/localhost/htdocs/nagios/libexec/check_load -w 15,10,5 -c 30,25,20

command=/var/www/localhost/htdocs/nagios/libexec/check_disk -w 20% -c 10% -p /

command=/var/www/localhost/htdocs/nagios/libexec/check_procs -w 5 -c 10 -s Z

command=/var/www/localhost/htdocs/nagios/libexec/check_procs -w 150 -c 200

command=/var/www/localhost/htdocs/nagios/libexec/check_swap -w 20% -c 10%

Может использоваться специальная запись команд/ nagios / libexec / check_nrpe —h view, обратите внимание на использование зеленого цвета на узле мониторинга. перезагружатьслужба nrpe

перезагружатьслужба nrpe

8.8.2 Мониторинг на хосте

На самом деле это очень просто, как и локальный мониторинг

определениеhosts

define host{

host_nameLinuxClient

aliasZhengzhouPC

address192.168.254.124

check_commandcheck-host-alive

max_check_attempts5

check_period24x7

contact_groupsnagios

notification_interval10

notification_period24x7

notification_optionsd,u,r

}

Определите услуги, перечислите одну из них

define service{

host_nameLinuxClient

service_descriptioncheckfreeswap

check_commandcheck_nrpe!check_free_swap

max_check_attempts5

normal_check_interval3

retry_check_interval2

check_period24x7

contact_groupsnagios

notification_interval10

notification_period24x7

notification_optionsw,u,c,r

}

Разместите фотографию завершения

Prerequisites

To follow this tutorial, you must have superuser privileges on the Ubuntu 14.04 server that will run Nagios. Ideally, you will be using a non-root user with superuser privileges. If you need help setting that up, follow the steps 1 through 3 in this tutorial: Initial Server Setup with Ubuntu 14.04.

A LAMP stack is also required. Follow this tutorial if you need to set that up: How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 14.04.

This tutorial assumes that your server has private networking enabled. If it doesn’t, just replace all the references to private IP addresses with public IP addresses.

Now that we have the prerequisites sorted out, let’s move on to getting Nagios 4 installed.

5: Установка NRPE на хост

Давайте добавим новый хост, чтобы Nagios мог его отслеживать. Установите NRPE на удаленный хост, установите дополнительные плагины, а затем настройте сервер Nagios для мониторинга этого хоста (в разделе Требования этот сервер назывался сервером 2).

Войдите на сервер 2 (также он будет называться «сервер мониторинга»).

Создайте пользователя nagios для запуска агента NRPE.

NRPE нужно установить из исходного кода, а для этого вам понадобятся те же библиотеки разработки, которые вы устанавливали на сервере Nagios в разделе 1. Обновите индекс пакетов и установите необходимые библиотеки:

NRPE требует, чтобы на удаленном хосте был установлен пакет Nagios Plugins. Установите этот пакет из исходного кода.

Найдите последнюю версию Nagios Plugins на странице загрузки Nagios. Скопируйте адрес ссылки на последнюю версию.

Загрузите Nagios Plugins в домашний каталог:

Распакуйте архив Nagios Plugins:

Перейдите в полученный каталог:

Прежде чем приступить к сборке Nagios Plugins, настройте программу для использования группы и пользователя nagios, а также включите поддержку OpenSSL:

Скомпилируйте пакет:

Затем установите его:

Затем установите NRPE. Найдите URL-адрес для загрузки последней стабильной версии NRPE на сайте Nagios Exchange. Загрузите последнюю стабильную версию NRPE в домашний каталог сервера мониторинга с помощью curl:

Распакуйте архив:

Перейдите в этот каталог:

Чтобы настроить NRPE, укажите пользователя и группу Nagios, а также включите поддержку SSL.

Затем соберите и установите NRPE и запустите сценарий:

Обновите конфигурационный файл NRPE:

Найдите директиву allowed_hosts и добавьте внутренний IP-адрес сервера Nagios в список через запятую:

Теперь NRPE может принимать подключения от сервера Nagios через его внутренний IP-адрес.

Сохраните и закройте файл. Запустите NRPE:

Запросите состояние сервиса, чтобы убедиться, что он работает:

Команда вернет:

Затем откройте в брандмауэре порт 5666. Если вы используете UFW, настройте его для поддержки TCP-подключений по порту 5666:

Теперь вы можете проверить связь с удаленным сервером NRPE. Выполните следующую команду на сервере Nagios:

Теперь настройте базовые метрики, которые будет проверять Nagios.

Во-первых, нужно настроить мониторинг использования диска на этом сервере. Введите команду df –h, чтобы найти имя корневой файловой системы. Вы будете использовать это имя файловой системы в конфигурации NRPE:

Узнайте, какая файловая система связана с /. На сервере это, вероятно, /dev/vda1.

Откройте файл /usr/local/nagios/etc/nrpe.cfg в редакторе:

Конфигурационный файл NRPE очень длинный, в нем много комментариев. Вот строки, которые вам нужно будет найти и изменить:

  • server_address: укажите внутренний IP-адрес сервера мониторинга.
  • command: вместо /dev/hda1 укажите имя корневой файловой системы.

Найдите эти параметры и измените их соответствующим образом:

Сохраните и закройте файл.

Перезапустите NRPE:

Повторите действия этого раздела на каждом новом сервере мониторинга.

После того, как вы закончите установку и настройку NRPE на хостах, которые хотите отслеживать, вам нужно добавить эти хосты в конфигурацию сервера Nagios.

Базовая конфигурация

Установка

Debian 10

  • Рекомендуется настроить Сервис MTA и установить UA mail (не обязательно), иначе поставит exim4 как зависимость
# a2enmod auth_digest

# a2enmod authz_groupfile

# systemctl restart apache2

# apt install nagios4

Настройка объектов мониторинга

server# /usr/lib/nagios/plugins/check_http -H yandex.ru -S

server# less /etc/nagios-plugins/config/http.cfg
server# cat /etc/nagios4/conf.d/corpX.cfg
define host{
        use                     generic-host
        name                    my-templ-host
        register                0

        max_check_attempts      1
        notification_interval   1440
        check_command           check-host-alive_4

        # mail send to user nagios
        contacts                nagiosadmin
}

define service{
        use                     generic-service
        register                0
        name                    my-templ-service-https
        service_description     www
        check_command           check_https_4
        check_interval          5
        retry_interval          1
        notification_interval   1440
}

define service{
        use                     generic-service
        register                0
        name                    my-templ-service-ping
        service_description     ping
        check_command           check_ping_4!100.0,20%!500.0,60%
        check_interval          5
        retry_interval          1
        notification_interval   1440
}

#---------------------------------

define host{
        use                     my-templ-host
        host_name               yandex
        address                 yandex.ru
}

define service{
        use                     my-templ-service-https
        host_name               yandex
}

define host{
        use                     my-templ-host
        host_name               val-bmstu
        address                 val.bmstu.ru
}

define service{
        use                     my-templ-service-https
        check_command           check_http_4
        host_name               val-bmstu
}


#---------------------------------

define host{
        use                     my-templ-host
        host_name               switch1
        address                 switch1
}

define service{
        use                     my-templ-service-ping
        host_name               switch1
}

define host{
        use                     my-templ-host
        host_name               switch2
        address                 switch2
}

define service{
        use                     my-templ-service-ping
        host_name               switch2
}

define host{
        use                     my-templ-host
        host_name               switch3
        address                 switch3
}

define service{
        use                     my-templ-service-ping
        host_name               switch3
}
root@server:~# nagios4 -v /etc/nagios4/nagios.cfg

root@server:~# service nagios4 restart

#11. Pandora FMS

Ключевые особенности:

  • Pandora FMS расшифровывается как Pandora Flexible Monitoring Solution.
  • Pandora FMS – это инструмент мониторинга ИТ-инфраструктуры в единой консоли.
  • Элементы Pandora FMS состоят из консоли, базы данных, серверов, агентов.

Используя Pandora FMS, мы можем отслеживать:

  • Сеть
  • Логи
  • Базы данных
  • Облака
  • Приложения
  • Серверы
  • IPAM
  • SAP
  • Интернет вещей

Он может выполнять как удаленный мониторинг, так и мониторинг на основе агентов, установленных на серверах.

Преимущества:

  • Pandora FMS имеет версию с открытым исходным кодом.
  • У него также есть также версия Enterprise, которая используется многими ИТ-компаниями.
  • Версия Pandora FMS с открытым исходным кодом и корпоративная версия регулярно обновляются каждый месяц.
  • Имеет прямой доступ с консоли.

Мы рассмотрели инструменты мониторинга с открытым исходным кодом для Linux-Prometheus, Grafana, Elastic search, Nagios Core, Zabbix, Cacti, Icinga, MRTG, Netdata, Sensu, Pandora FMS.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: