1.Общее описание, структурная схема и жизненный цикл тестирования Yandex.Tank 2.Базовая пред подготовка сервера с Yandex.Tank 3.Установка Yandex.Tank 4.Создание профиля тестирования/сценария нагрузки для Yandex.Tank 1.Общее описание, структурная схема и жизненный цикл тестирования Yandex.Tank Яндекс.Танк — инструмент для проведения нагрузочного тестирования, разрабатываемый в компании Яндекс и распространяемый под лицензией LGPL. В основе инструмента лежит высокопроизводительный асинхронный […]
Архивы рубрики ‘Debian/Ubuntu’
Установка и настройка Gitlab на Ubuntu 18.04
Выполним установку и настройку Gitlab Community Edition через установку Omnibus-пакета 1. Установка зависимостей для Gitlab-пакета с предварительным обновлением локального кеша пакетов
1 |
# apt-get update && apt-get install curl openssh-server ca-certificates postfix |
2. Добавление Gitlab репозитария, из которого будет установлен пакет Gitlab Community Edition
1 |
# curl -L -o /tmp/script.deb.sh https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh |
1 |
# bash /tmp/script.deb.sh |
3. Установка Gitlab
1 |
# apt-get install gitlab-ce -y |
1 2 3 4 5 6 7 8 9 |
Thank you for installing GitLab! GitLab was unable to detect a valid hostname for your instance. Please configure a URL for your GitLab instance by setting `external_url` configuration in /etc/gitlab/gitlab.rb file. Then, you can start your GitLab instance by running the following command: sudo gitlab-ctl reconfigure For a comprehensive list of configuration options please see the Omnibus GitLab readme https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md |
4. Настройка домен/урл по которому будет доступен Gitlab снаружи Если не […]
Установка mcrypt PHP-расширения для PHP-версии 7.2 в Ubuntu {16,18}.04
После обновления PHP-версии с 7.0 до 7.2, mcrypt-раcширение отсутствует в пакетах и может быть установлено через pecl PECL (англ. PHP Extension Community Library) — это репозиторий модулей для PHP, написанных на C, доступных через систему пакетов PEAR. PECL был создан, когда возникла проблема удаления некоторых модулей из стандартной поставки PHP. 1. Установка зависимостей для […]
Обновление PHP с 7.0 до 7.2 на Ubuntu 16.04
1.Сохранение списка модулей php, которые установлены для текущей версии 7.0 Чтобы после установки PHP версии 7.2 сравнить модули этой версии с версией 7.0 и доустановить модули, которых не хватает
1 |
# php -m > modules-php-70.txt |
2. Установка переменной локали и добавление репозитария для установки PHP версии 7.2 Устанавиливаем пакет software-properties-common, который содержит в себе команду/бинарник add-apt-repository
1 |
# apt-get update && apt-get install software-properties-common |
Проверяем,что установлена […]
Обновление MongoDB standalone и Replica Set с версии 3.6 до версии 4.0 на Ubuntu 16/18
Обновление MongoDB-standalone с версии 3.6 до 4.0 1. Добавление gpg-ключа для репозитария с Mongodb 4.0
1 |
# wget -qO - https://www.mongodb.org/static/pgp/server-4.0.asc | sudo apt-key add - |
2.Проверка, что выставлена опция совместимости с версией 3.6 Для обновления до версии 4.0 предварительно mongo должна быть версии 3.6(или обновлена до версии 3.6). Кроме того, необходимо выставить совместимость с версией 3.6 Проверка установленной версии совместимости:
1 2 3 |
# mongo > db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } ) { "featureCompatibilityVersion" : { "version" : "3.6" }, "ok" : 1 } |
Если не […]
Установка Apache Tomcat сервера на Ubuntu 16
1.Установка Java
1 |
# apt-get update && apt-get install default-jdk |
1 |
# update-alternatives --config java |
1 |
# nano /etc/environment |
1 |
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" |
1 |
# source /etc/environment |
1 |
# echo ${JAVA_HOME} |
1 |
/usr/lib/jvm/java-8-openjdk-amd64 |
1 |
# update-java-alternatives -l |
1 |
java-1.8.0-openjdk-amd64 1081 /usr/lib/jvm/java-1.8.0-openjdk-amd64 |
2.Установка Tomcat Последняя 8.5.X-версия доступна по адресу http://tomcat.apache.org/download-80.cgi Создаем группу и пользователя tomcat, под которыми будет запускаться Tomcat-сервер
1 |
# groupadd tomcat |
1 |
# useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat |
1 |
# cd /tmp/ && wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz |
1 |
# tar xvzf apache-tomcat-8*.tar.gz -C /opt/tomcat/ --strip-components=1 && rm /tmp/apache-tomcat-8* |
1 |
# chown -R tomcat /opt/tomcat/ |
Создание UNIT-файла и запуск Tomcat
1 |
# nano /etc/systemd/system/tomcat.service |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target |
1 |
# systemctl daemon-reload |
1 |
# systemctl start tomcat |
1 |
# systemctl status tomcat |
3.Настройка Iptables
1 |
# iptables -N tomcat |
1 |
# iptables -A INPUT -p tcp --dport 8080 -j tomcat |
1 |
# iptables -I tomcat -s my_ip_address -j ACCEPT |
1 |
# apt-get update && apt-get install netfilter-persistent && /etc/init.d/netfilter-persistent save |
4.Настройка Tomcat […]
Мониторинг MongoDB в Zabbix
1.Получение Mongo-статистики
1 |
# mongostat --all --noheaders --humanReadable=false -n 1 |
1 |
*0 *0 *0 *0 0 2|0 0.1 49.3 0 3448766464 1941962752 0|0 1|0 158 61275 20 rs0 SEC 2018-08-29T12:01:50+01:00 |
Если используется аутентификация в Mongo, то выполняем команду
1 |
# mongostat -u "mysuperuser" -p "mysuperpassword" --authenticationDatabase "admin" --all --noheaders --humanReadable=false -n 1 |
Где пользователь mysuperuser с паролем mysuperpassword должен иметь право выполнять команду serverStatus Встроенная роль clusterMonitor включает в себя в том числе право на выполнение команды serverStatus https://docs.mongodb.com/manual/reference/privilege-actions/#serverStatus https://docs.mongodb.com/manual/reference/built-in-roles/#clusterMonitor Для просмотра полей вывода команды mongostat и человекоудобном формате выполните команду
1 |
# mongostat --all -n 1 |
2. […]
Мониторинг RabbitMQ в Zabbix
Мониторинг очередей, сообщений в очередях и серверных показателей(файловых дескрипторов, памяти, количества сокетов, дискового пространства) с помощью шаблона и скриптов https://github.com/jasonmcintosh/rabbitmq-zabbix.git Используется API для RabbitMQ, который становится доступным после установки RabbitMQ-плагина Включаем плагин для WEB-интерфейса
1 |
# rabbitmq-plugins enable rabbitmq_management |
После чего WEB-интерфейс RabbitMQ доступен по адресу http://RabbitmQ-server:15672 1.Склонируем репозитарий, зайдем внутрь репозитария, скопируем рекурсивно каталог scripts/rabbitmq в /etc/zabbix/scripts/, скопируем […]
Установка и настройка GlusterFS
Установка и настройка GlusterFS на двух нодах с репликацией тома Ноды, на которых устаналивается GlusterFS-сервер используют Debian9
1 2 |
proxmox6.mydomain.com - 192.168.100.1 proxmox7.mydomain.com - 192.168.100.2 |
В качестве GlusterFS-сервера используем Ubuntu16.04 LTS Установка GlusterFS-сервера на обоих нодах Создание и выполнение скрипта для добавления репозитария GlusterFS на Debian
1 |
# nano add_repo.sh |
1 2 3 4 5 6 |
# /bin/bash wget -O - https://download.gluster.org/pub/gluster/glusterfs/4.1/rsa.pub | apt-key add - DEBID=$(grep 'VERSION_ID=' /etc/os-release | cut -d '=' -f 2 | tr -d '"') DEBVER=$(grep 'VERSION=' /etc/os-release | grep -Eo '[a-z]+') DEBARCH=$(dpkg --print-architecture) echo deb https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/${DEBID}/${DEBARCH}/apt ${DEBVER} main > /etc/apt/sources.list.d/gluster.list |
1 |
# chmod +x add_repo.sh |
1 |
# bash add_repo.sh |
Проверяем добавленный репозитарий
1 |
# cat /etc/apt/sources.list.d/gluster.list |
1 |
deb https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/9/amd64/apt stretch main |
1 |
# apt-get update && apt-get install glusterfs-server |
1 |
# systemctl status glusterd |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
● glusterd.service - GlusterFS, a clustered file-system server Loaded: loaded (/lib/systemd/system/glusterd.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-05-17 22:05:44 BST; 34s ago Process: 12431 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=0/SUCCESS) Main PID: 12438 (glusterd) Tasks: 8 (limit: 4915) Memory: 5.9M CPU: 657ms CGroup: /system.slice/glusterd.service └─12438 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO May 17 22:05:43 proxmox6 systemd[1]: Starting GlusterFS, a clustered file-system server... May 17 22:05:44 proxmox6 systemd[1]: Started GlusterFS, a clustered file-system server. |
1 |
# systemctl status glustereventsd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
● glustereventsd.service - Gluster Events Notifier Loaded: loaded (/lib/systemd/system/glustereventsd.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-05-17 22:05:44 BST; 1min 0s ago Main PID: 12486 (python) Tasks: 2 (limit: 4915) Memory: 10.2M CPU: 69ms CGroup: /system.slice/glustereventsd.service ├─12486 python /usr/sbin/glustereventsd --pid-file /var/run/glustereventsd.pid └─12538 python /usr/sbin/glustereventsd --pid-file /var/run/glustereventsd.pid May 17 22:05:44 proxmox6 systemd[1]: Started Gluster Events Notifier. May 17 22:05:44 proxmox6 glustereventsd[12486]: Unable to get Port details from Config |
[…]
Настройка High Availability MongoDB Replica Set
Replica Set – это набор/группа серверов, которые обслуживают один и тот же набор данных В такой группе содержится один мастер(первичный) и несколько слейв(вторичный) серверов. Также в Replica Set может использоваться арбитр. Это сервер, на котором нет базы данных, а его назначение – участвовать в голосовании при выборе нового мастера, создавать кворум необходимый для голосования. Первичный/мастер […]