Как поменять порт WEB-сервера Apache

Иногда бывают случаи, когда нужно сменить MAC-адрес на сетевой плате компьютера. Например, если, провайдер использует жесткую привязку по маку. О том как изменить мак-адрес в операционных системах семейства Windows уже написано дикое количество постов. А вот как это сделать в Linux — Ubuntu, Fedora, Suse — я сейчас и расскажу. 

Перед перезагрузкой Апача полезно проверять на косячность правок его конфигов командой apachectl stop. Включим после того, как установим NGiNX.

[email protected]:~# apachectl -t Syntax OK

Так должна выглядеть проверка синтаксиса конфигурации Apache.

После этого можно перезагрузить NGiNX и убедиться в правильности работы обоих серверов на портах 80 и 8080 (читать по → этой ссылке).

Заберите ссылку на статью к себе, чтобы потом легко её найти 😉 Выберите, то, чем пользуетесь чаще всего: Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )

Начальные данные

У нас имеется компьютер под управлением linux, выступающий в роли маршрутизатора с одним внешним интерфейсом enp0s3 для доступа в Интернет () и внутренним enp0s8 интерфейсом Локальной сети (10.0.7.1). Требуется пробросить tcp порт (2121) с белого ip-адреса на серый ip-адрес Локальной сети порт (21).

Чаще всего проброс трафика используется, если мы находимся в локальной сети и от внешнего мира отделены шлюзом. Для того, чтобы открыть доступ для локальных служб (ssh, web, ftp и т.д.), нам необходимо пробросить порты. Поскольку в качестве шлюза мы будем использовать сервер на Linux, то осуществлять данные действия будем с помощью утилиты iptables.

Установка и настройка Grafana

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

Сегодня рассмотрим установку и настройку Grafana — веб-инструмента для представления данных, связанных со временем, в виде очень красивых графиков и диаграмм. В качестве источника данных для Grafana можно использовать как множество различных сложных движков баз данных, включая Graphite, ElasticSearch, InfluxDB, Prometeus, так и более простых, например MySQL. В этой статье мы рассмотрим, как установить Grafana в Ubuntu , а также как настроить её для работы с influxdb.

Параметры уведомлений

Чтобы настроить правила для отправки уведомлений:

  1. Нажмите на заголовок графика → Edit.
  2. Нажмите Create alert.
  3. Укажите параметры уведомления:
    1. Name — произвольное имя уведомления.
    2. Evaluate every — частота уведомления. Например, 5m для уведомления каждые пять минут или 1h для уведомления каждый час.
    3. For — время, которое Grafana выжидает после наступления порогового значения параметра. Например, 15m для ожидания 15 минут.
    4. Conditions — условия для уведомления:

      Формат условия

      WHEN function OF query(id, start_time, end_time) condition value Пояснения к формату

      function — функция для расчёта параметра. Возможные значения:

      • avg() — среднее значение;
      • min() — минимальное значение;
      • max() — максимальное значение;
      • sum() — сумма всех значений;
      • count() — количество значений;
      • last() — последнее значение;
      • median() — среднее значение по медиане;
      • diff() — разница между значениями;
      • percent_diff() — разница между значениями в процентах;
      • count_non_null() — количество значений, отличных от null;

      id — идентификатор очереди. Значение по умолчанию для первого графика — A, для второго — B и т.д. Вы можете посмотреть идентификатор в разделе (Queries);

      start_time — время, с которого нужно вести расчёт. Параметр start_time задаётся относительно текущего времени. Например, 15m — за 15 минут до текущего времени;

      end_time — время, до которого нужно вести расчёт. Параметр end_time задаётся относительно текущего времени в формате now-<time>. Например, now-5m — за 5 минут до текущего времени;

      condition — условие. Возможные значения:

      • IS ABOVE — больше;
      • IS BELOW — ниже;
      • IS OUTSIDE RANGE — вне диапазона;
      • IS WITHIN RANGE — в диапазоне;
      • HAS NO VALUE — отсутствуют значения;

      value — значение или диапазон

      Пример условия

      WHEN avg() OF query(A, 15m, now) IS ABOVE 90 Пояснения к примеру

      Условие сработает, если за последние 15 минут среднее значение данных из очереди А превысило 90.

      Чтобы задать дополнительное условие, нажмите . Чтобы добавить условие через логическое «И» укажите в начале условия операнд AND. Чтобы добавить условие через логическое «ИЛИ» укажите в начале условия операнд OR.

      Пример условия

      WHEN avg() OF query(A, 15m, now) IS ABOVE 90 AND max() OF query(A, 15m, now) IS ABOVE 95 Пояснения к примеру

      Условие сработает, если за последние 15 минут среднее значение данных из очереди А превысило 90 и максимальное превысило 95.

      Обратите внимание!

      Дополнительные условия проверяются последовательно в порядке их ввода.

    5. If no data or all values are null — статус уведомления в случае, если данные отсутствуют или имеют значения null. Возможные значения: Alerting, No Data, Keep Last State, OK;
    6. If execution error or timeout — статус уведомления в случае, если во время его выполнения возникла ошибка. Возможные значения: Alerting, Keep Last State.
  4. Выберите каналы уведомления в поле Send to.
  5. Введите текст уведомления в поле Message.
  6. Cохраните настройки: → введите комментарий → Save.

Связанные статьи

  • Grafana. Общая информация
  • Grafana. Настройка собственного дашборда

Установка экспортеров в Jira и Confluence

Экспортеры для Jira и Confluenceя — это аддоны (плагины), и их можно установить через маркетплейс. После установки аддона, вы увидите панель настроек (для этого вам надо открыть “Manage Apps” в Jira или Confluence и выбрать “Prometheus Exporter Settings”):

Не забудьте использовать токен (token), иначе данные метрик будут доступны всем.

Также следует убедиться, что после установки экспортера ссылка, которая используется для экспорта метрик, используется также и на сервере Prometheus.

Установка экспортеров в Jira и Confluence

Затем нужно добавить источник для Prometheus, и назвать его соответствующим образом ( — configuration file):

Перезапустите Prometheus и проверьте ваш новый файл в протоколах обнаружения сервисов (service discovery):

Установка экспортеров в Jira и Confluence

sudo systemctl restart prometheus

Панель Prometheus service discovery можно найти здесь: https://prometheus,<you-domain-name>.com/service-discovery

Установка экспортеров в Jira и Confluence

Чтобы проверять метрики прямо в Prometheus, можно пользоваться языком PromQL. Количество доступных метрик вас приятно удивит, например, есть такие, которые позволяют следить за сроком лицензий клиентов, или за количеством проектов для потенциального роста инфраструктуры. Например, если срок лицензии вашей Jira истекает через 30 дней, система может автоматически создать тикет в Jira для вашего отдела закупок, чтобы они не забыли ее обновить.

Обеспечение безопасности

Если вы не очень переживаете о безопасности и не хотите вбивать пароль каждый раз, когда нужно выполнить команду от имени суперпользователя, то вот инструкция, как сделать так, чтобы sudo каждый раз не просил пароль. Но мы не рекомендуем вам это делать, потому что тогда теряется вообще весь смысл создания отдельного пользователя без прав root — любой, кто завладел вашим SSH-ключом, автоматически получает все права в системе.

Читайте также:  Как создать и использовать Memoji на iPhone

Поскольку мы уже создали отдельного пользователя, то далее нам нужно отключить доступ по SSH для root. Это нужно для того, чтобы никто даже теоретически не смог подключиться к серверу сразу со всеми возможными правами. Открываем для редактирования файл /etc/ssh/sshd_config и меняем там значение одного параметра:

PermitRootLogin no

Затем перезапускаем SSH, чтобы настройки применились:

sudo service ssh restart

Добавим ещё немного безопасности. Меняем порт для SSH в /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config

Редактируем строку #Port 22 — заменяем на Port 3399 (тут любое четырёхзначное число, которое вы придумаете, не берите из нашего примера).

Не забываем обновить правила в firewall:

ufw allow 3399/tcp

Здесь также замените номер на тот, что выбрали.

Удаляем предыдущее правило для порта по умолчанию:

sudo ufw delete allow OpenSSH

Перезапускаем SSH командой sudo service ssh restart, проверяем.

И устанавливаем защиту от перебора паролей. Обратите внимание, что в инструкции по ссылке используется порт 22 для защиты. Вам нужно указать другой номер — тот, который вы выбрали для доступа по SSH.

Установка и настройка Grafana

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

Сегодня рассмотрим установку и настройку Grafana — веб-инструмента для представления данных, связанных со временем, в виде очень красивых графиков и диаграмм. В качестве источника данных для Grafana можно использовать как множество различных сложных движков баз данных, включая Graphite, ElasticSearch, InfluxDB, Prometeus, так и более простых, например MySQL. В этой статье мы рассмотрим, как установить Grafana в Ubuntu , а также как настроить её для работы с influxdb.

Читайте также:  Автоматический перевод в Опере: подключение и настройка

Установка, обновление и удаление пакетов

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

apt (в Debian, Ubuntu и им подобных)

sudo apt-get install название пакета — устанавливает пакет из подключенных репозиториев. Ищется по названию и версии.

sudo apt remove название пакета — удаляет из системы установленный пакет.

sudo apt purge название пакета — удаляет установленный пакет и вместе с ним уничтожает все зависимые данные. От приложения не остается никаких следов. Такой вариант подходит, когда нужна полная переустановка пакета «с нуля».

sudo apt autoremove — автоматически выполняет уборку среди установленных пакетов, убирая ненужные остатки кода.

sudo apt-add-repository адрес репозитория — подключает к системе дополнительный репозиторий с пакетами, не вошедшими в базу репозиториев по умолчанию. Требуется для установки некоторых редких open-source-приложений.

sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.

sudo apt-upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

dnf (в Red Hat Linux, CentOS, Fedora)

sudo dnf install название пакета — устанавливает программу на выбор.

sudo dnf config-manager –add-repo адрес репозитория — подключает к системе дополнительный репозиторий.

sudo dnf upgrade — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

sudo dnf remove название пакета — стирает с жесткого диска имеющийся в системе пакет.

sudo dnf autoremove — разыскивает мусор среди имеющихся пакетов и в автоматическом режиме вычищает его.

pacman (в Arch Linux и Manjaro)

sudo pacman -S название пакета — устанавливает пакет на выбор.

sudo yaourt -S название пакета — устанавливает пакет на выбор из репозитория AUR.

sudo pacman -Sy — обновляет информацию о пакетах, имеющихся в системе и тех, что хранятся в подключенных репозиториях.

sudo pacman -Syu — обновляет версии установленных пакетов до самых свежих, доступных в подключенных репозиториях.

sudo pacman -R название пакета — стирает с жесткого диска имеющийся в системе пакет.

sudo pacman -Rs название пакета — стирает не только установленное приложение, но и все зависимые от него элементы.