Перед началом настройки сделаем резервную копию файла конфигурации:
Читать далее «Настройка MySQL сервера. Описание конфигурационного файла»Архивы рубрик:Linux
Установка и настройка isc-dhcp-server в Ubuntu
Приведу пример установки isc-dhcp-server в Ubuntu Server.
Читать далее «Установка и настройка isc-dhcp-server в Ubuntu»Установка phpVirtualBox в Ubuntu
phpVirtualBox — веб-интерфейс для VirtualBox с почти такой же функциональностью как и стандартная графическая оболочка.
Читать далее «Установка phpVirtualBox в Ubuntu»Установка и использование сетевого сканера nbtscan
Команда установки в Linux Ubuntu/Debian:
sudo apt-get install nbtscan
Версию для Windows можно скачать с сайта http://www.unixwiz.net/tools/nbtscan.html
Пример сканирования сети:
nbtscan 192.168.1.0/24
Опишу возможные ключи запуска:
-O FILENAME (вывод информации в файл)
-v (более детальный вывод информации)
-p (указание порта)
-H (генерировать HTTP заголовок)
-m (указание MAC-адреса)
-n (не преобразовывать в DNS имена, отображать только IP)
-t NUMBER (время ожидания ответа в секундах, по умолчанию 1)
-v (отображение версии nbtscan)
Мониторинг параметров Apache2 в Zabbix
Установим необходимые компоненты:
sudo apt-get install curl
Активируем модуль информации об apache2 (обычно он активирован изначально):
sudo a2enmod info
Откроем файл конфигурации модуля и укажем IP-адрес zabbix сервера чтобы разрешить ему просмотр информации об apache2 (если apache2 на локальной машине, то доступ обычно разрешен, указанием local или 127.0.0.1):
sudo nano /etc/apache2/mods-enabled/status.conf
В редакторе nano CTRL+X используются для выхода и y/n для сохранения или отмены изменений. Пример указания IP:
<Location /server-status> SetHandler server-status Require local Require ip 192.168.1.5 </Location>
Перезапустим web-сервер чтобы применить изменения:
sudo service apache2 restart
Теперь информация об apache2 доступна через браузер по ссылке http://HOST/server-status
Перейдем к Zabbix. Создадим папку для скриптов если ее нету:
mkdir /etc/zabbix/scripts/ chown root:zabbix -R /etc/zabbix/scripts/ chmod 750 /etc/zabbix/scripts/
В файле конфигурации zabbix сервера укажем путь к этой папке:
sudo nano /etc/zabbix/zabbix_server.conf
ExternalScripts=ПУТЬ
Теперь приведу содержимое самого скрипта:
#!/bin/bash if [[ -z "$1" || -z "$2" || -z "$3" ]]; then exit 1 fi ##### PARAMETERS ##### RESERVED="$1" METRIC="$2" URL="$3" STATSURL="${URL}?auto" # CACHE_TTL="55" CACHE_FILE="/tmp/zabbix.apache2.`echo ${URL} | md5sum | cut -d" " -f1`.cache" EXEC_TIMEOUT="2" NOW_TIME=`date '+%s'` ##### RUN ##### if [ -s "${CACHE_FILE}" ]; then CACHE_TIME=`stat -c"%Y" "${CACHE_FILE}"` else CACHE_TIME=0 fi DELTA_TIME=$((${NOW_TIME} - ${CACHE_TIME})) # if [ ${DELTA_TIME} -lt ${EXEC_TIMEOUT} ]; then sleep $((${EXEC_TIMEOUT} - ${DELTA_TIME})) elif [ ${DELTA_TIME} -gt ${CACHE_TTL} ]; then echo "" >> "${CACHE_FILE}" # !!! DATACACHE=`curl -sS --insecure --max-time ${EXEC_TIMEOUT} "${STATSURL}" 2>&1` echo "${DATACACHE}" > "${CACHE_FILE}" # !!! echo "URL=${URL}" >> "${CACHE_FILE}" # !!! chmod 640 "${CACHE_FILE}" fi # if [ "${METRIC}" = "accesses" ]; then cat "${CACHE_FILE}" | grep -i "accesses" | cut -d':' -f2 | head -n1 fi if [ "${METRIC}" = "kbytes" ]; then cat "${CACHE_FILE}" | grep -i "kbytes" | cut -d':' -f2 | head -n1 fi if [ "${METRIC}" = "cpuload" ]; then cat "${CACHE_FILE}" | grep -i "cpuload" | cut -d':' -f2 | head -n1 fi if [ "${METRIC}" = "uptime" ]; then cat "${CACHE_FILE}" | grep -i "uptime" | cut -d':' -f2 | head -n1 fi if [ "${METRIC}" = "avgreq" ]; then cat "${CACHE_FILE}" | grep -i "ReqPerSec" | cut -d':' -f2 | head -n1 fi if [ "${METRIC}" = "avgreqbytes" ]; then cat "${CACHE_FILE}" | grep -i "BytesPerReq" | cut -d':' -f2 | head -n1 fi if [ "${METRIC}" = "avgbytes" ]; then cat "${CACHE_FILE}" | grep -i "BytesPerSec" | cut -d':' -f2 | head -n1 fi if [ "${METRIC}" = "busyworkers" ]; then cat "${CACHE_FILE}" | grep -i "BusyWorkers" | cut -d':' -f2 | head -n1 fi if [ "${METRIC}" = "idleworkers" ]; then cat "${CACHE_FILE}" | grep -i "idleworkers" | cut -d':' -f2 | head -n1 fi if [ "${METRIC}" = "totalslots" ]; then cat "${CACHE_FILE}" | grep -i "Scoreboard" | cut -d':' -f2 | sed -e 's/ //g' | wc -c | awk '{print $1-1}' fi # exit 0
Сделаем файл скрипта исполняемым:
chown root:zabbix /etc/zabbix/scripts/apache2-status.sh chmod 550 /etc/zabbix/scripts/apache2-status.sh
Пример проверки скрипта:
sudo -u zabbix /etc/zabbix/scripts/apache2-status.sh none accesses http://HOST/server-status
Откроем файл конфигурации zabbix агента в редакторе:
sudo nano /etc/zabbix/zabbix_agentd.conf
И укажем следующие параметры:
UserParameter=apache2[*],/etc/zabbix/scripts/apache2-status.sh "none" "$1" "$2"
Некоторыми командами можно посмотреть количество процессов apache2 и соединений на 80 порт, для этого не нужен скрипт, например можно еще указать:
UserParameter=apache2.count_processes,ps aux | grep apache | wc -l UserParameter=connections_on_80_port,netstat -na | grep :80 | wc -l
Перезапустим zabbix агент чтобы применить изменения:
sudo /etc/init.d/zabbix-agent restart
Проверим:
zabbix_get -s 127.0.0.1 -k "apache2[accesses,http://HOST/server-status]"
Теперь создадим шаблон и добавим элементы данных, пример создаваемых элементов данных:
apache2[КЛЮЧ,http://HOST/server-status]
Экспортировал готовый шаблон — apache2-status
К наблюдаемому хосту также обязательно добавим макрос:
Макрос: {$APACHE_STATS_URL} Значение: http://HOST/server-status
Готово.
Количество процессов apache2 можно получать от Zabbix-агента создав на Zabbix-сервере элемент данных с ключом:
proc.num[apache2]
Резервное копирование конфигурации коммутаторов и прочего сетевого оборудования
Сегодня придумал скрипт резервного копирования конфигурации коммутаторов через telnet.
Идея возникла когда понадобилось делать резервные копии конфигурации главной станции GPON.
Содержимое моего скрипта:
#!/bin/bash # For GPON MA56XX ( sleep 5 echo "root" sleep 5 echo "password" sleep 5 echo "enable" sleep 2 echo "backup configuration tftp 192.168.1.1 gpon.cfg" sleep 2 echo "y" sleep 10 echo "quit" sleep 2 echo "y" ) | telnet 192.168.1.2 mv /srv/tftp/gpon.cfg /home/backups/now/switches/gpon/`date +%Y-%m-%d`_gpon.cfg
Содержимое поместим в файл к примеру backup_cfg.sh, сделаем файл исполняемым и добавим в /etc/crontab строку для авто выполнения скрипта например каждый день в 5 утра:
0 5 * * * root /home/backups/scripts/backup_cfg.sh > /dev/null 2>&1
Как запустить tftp сервер смотрите в моих статьях: Установка и настройка TFTP сервера в Ubuntu или Запуск TFTP сервера на Windows.
Смотрите также: Использование и настройка CRON
Установка и использование Vnstat и Vnstati
Vnstat — простой инструмент для учёта трафика.
Vnstati — утилита для визуализации статистики.
Установка и использование collectl в Linux
Collectl — консольный инструмент для мониторинга производительности системы и записи результатов.
Читать далее «Установка и использование collectl в Linux»Установка и настройка Sphinx в Ubuntu
Sphinx — поисковая машина с интеграцией API и базами данных MySQL, PostgreSQL.
Команда установки:
sudo apt-get install sphinxsearch
После установки используются tcp порты 9312 и 9306.
Установим сервер баз данных MySQL:
sudo apt-get install mysql-server mysql-client
Создадим тестовую базу данных:
mysql -u root -p CREATE DATABASE test; SOURCE /etc/sphinxsearch/example.sql; quit
Сделаем копию примера конфигурационного файла:
sudo cp /etc/sphinxsearch/sphinx.conf.sample /etc/sphinxsearch/sphinx.conf
Заполним необходимые параметры в том числе и данные для подключения к базе данных.
Пример открытия файла конфигурации в редакторе nano (Ctrl+X для выхода и y/n для сохранения или отмены изменений):
sudo nano /etc/sphinxsearch/sphinx.conf
Активируем sphinxsearch в указав START=yes в следующем файле:
sudo nano /etc/default/sphinxsearch
Запустим sphinxsearch:
sudo service sphinxsearch start
Добавление данных в индекс:
sudo indexer --all
Пример добавления в cron:
sudo crontab -e @hourly /usr/bin/indexer --rotate --config /etc/sphinxsearch/sphinx.conf --all
Пример поиска из командной строки:
search TEXT
Установка и настройка Apache Tomcat в Ubuntu
Команда установки:
sudo apt-get install tomcat7
Установим дополнительные компоненты:
sudo apt-get install tomcat7-admin tomcat7-docs tomcat7-examples default-jdk ant git
После установки Apache Tomcat будет доступен по ссылке http://ХОСТ:8080
Менеджер веб-приложений можно открыть по ссылке http://ХОСТ:8080/manager/html
Для доступа к менеджеру веб-приложений добавим пользователя и пароль в файл :
sudo nano /etc/tomcat7/tomcat-users.xml
Для выхода из редактора nano используются клавиши Ctrl+X, и y для сохранения изменения или n для отмены.
Пример добавления:
<tomcat-users> <user username="имя" password="пароль" roles="manager-gui,admin-gui"/> </tomcat-users>
Выполним перезапуск чтобы применить изменения:
sudo service tomcat7 restart
Все.