Установка и настройка Zabbix для мониторинга оборудования
Zabbix мне потребовался на работе для мониторинга оборудования по SNMP. Для начала провел эксперименты по простому отслеживанию компьютера с Windows по «пингу».
Установка и настройка Zabbix (https://www.zabbix.com/documentation/2.4/ru/manual/installation/install_from_packages)
Zabbix 2.4 для Ubuntu 14.04 LTS:
Брал версию 2.4 как наиболее стабильную на тот момент:
wget http://repo.zabbix.com/zabbix/2.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.4-1+trusty_all.deb
sudo dpkg -i zabbix-release_2.4-1+trusty_all.deb
sudo apt-get update
sudo apt-get install zabbix-server-mysql zabbix-frontend-php
Пакет zabbix-frontend-php в процессе установки сконфигурирует шрифт, который используется в генерируемых изображениях. Если вы обновили пакет из любого другого репозитория и на графиках или картах сети отсутствует текст, пожалуйста проверьте, установлен ли пакет “ttf-dejavu-core” и попытайтесь выполнить команду “dpkg-reconfigure zabbix-frontend-php”. Но мне это не пригодилось.
Изменение конфигурации PHP для веб-интерфейса Zabbix:
Файл конфигурации Apache для веб-интерфейса Zabbix размещается в /etc/apache2/conf.d/zabbix. Некоторые параметры конфигурации PHP уже заданы. (Для Ubuntu 14.04, файл размещается в /etc/apache2/conf-available/zabbix.conf)
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
# php_value date.timezone Europe/Riga
Необходимо раскомментировать настройку “date.timezone” и установить корректный часовой пояс.
После изменения файла конфигурации перезапустите веб-сервер apache.
У меня получилось так:
php_value date.timezone Asia/Novosibirsk
Перезапуск apache:
sudo service apache2 restart
Веб-интерфейс Zabbix доступен через браузер по адресу http://hostname/zabbix. Имя пользователя/пароль по умолчанию — Admin/zabbix.
База данных: zabbix
Port: 10051
Name: Tsunami
Configuration file
«/usr/share/zabbix/conf/zabbix.conf.php»
created: OK
Настраивал доступность компьютера по «пингу» (http://zloykolobok.blogspot.ru/2012/10/zabbix_22.html)
Установка и настройка домашнего сервера на Ubuntu Server 14.10. Часть 7
Часть 1 — тут. Часть 2 — тут. Часть 3 — тут. Часть 4 — тут. Часть 5 — тут. Часть 6 — тут.
Ставим и настраиваем WebServer (http://interface31.ru/tech_it/2015/06/nastraivaem-veb-server-na-baze-apache-v-debian-ubuntu-server.html)
При установке (можно и позже, используя tasksel) системы ставим LAMP.
Ставим phpmyadmin Для управления базами данных MySQL:
sudo apt-get install phpmyadmin
Создаем ссылку (из-за ошибки в phpmyadmin):
sudo ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini
Запускаем phpmyadmin:
http://192.168.1.100/phpmyadmin
(Закрываем и защищаем страницу доступа к phpMyAdmin — http://softodom.com/363/zakryvaem-i-zashhishhaem-stranicu-dostupa-k-phpmyadmin.html)
Прячем наш phpmyadmin:
Редактируем /etc/phpmyadmin/apache.conf
Alias /phpconf /usr/share/phpmyadmin
Перезапустим apache:
sudo service apache2 reload
Создадим нового пользователя nikolay, дадим ему все привилегии.
Создадим базу данных nas_zagorodnov в кодировке utf8_general_ci.
Создадим каталог для файлов сервера, права на него дадим пользователю и группе www-data:
sudo mkdir /var/www/nas.zagorodnov.com
sudo chown www-data:www-data /var/www/nas.zagorodnov.com
Создадим файл:
sudo touch /etc/apache2/sites-available/nas.zagorodnov.com.conf
В этом созданном файле пишем:
<VirtualHost *:80>
ServerName nas.zagorodnov.com
ServerAdmin nikolay@zagorodnov.com
ServerAlias www.nas.zagorodnov.com
DocumentRoot /var/www/nas.zagorodnov.com
CustomLog ${APACHE_LOG_DIR}/nas.zagorodnov.com.access.log combined
ErrorLog ${APACHE_LOG_DIR}/nas.zagorodnov.com.error.log
<Directory /var/www/nas.zagorodnov.com>
Options -Includes -Indexes -ExecCGI
</Directory>
</VirtualHost>
Включение сайта:
sudo a2ensite nas.zagorodnov.com
Отключение сайта:
sudo a2dissite nas.zagorodnov.com
Перезапустим apache:
sudo service apache2 reload
Создадим для проверки файл:
touch /var/www/zagorodnov.com/index.html
<body><h1>OK!</h1></body>
Пробуем в браузере:
http://192.168.0.100
Установка и настройка домашнего сервера на Ubuntu Server 14.10. Часть 6
Часть 1 — тут. Часть 2 — тут. Часть 3 — тут. Часть 4 — тут. Часть 5 — тут.
Установка SNMP для мониторинга сервера (использовал информацию с сайта http://it-inside.org).
Установка демона мониторинга:
sudo apt-get install snmpd
/etc/snmp/snmpd.conf
Удаляем все записи и вписываем:
rocommunity mypublic 127.0.0.1 (разрешаем мониторинг с этого IP адреса)
rocommunity mypublic еще адрес (разрешаем работу с еще одного адреса)
syslocation «Server»
syscontact «Nikolay»
Устанавливаем MIB:
sudo apt-get install snmp-mibs-downloader
sudo nano /etc/default/snmpd
Закомментируем строку:
#export MIBS=
Перезапуск:
sudo service snmpd restart
Смотрим в запущенных процессах:
netstat -au
ps aux | grep snmp
Устанавливаем Cacti, через нее будем строить и выводить нужные нам графики:
sudo apt-get install cacti
snmpwalk -Os -c mypublic -v 2c 192.168.1.100 iso.3.6.1.2.1.25.1.1.0 (проверяем работу, в данном случае времени)
snmpwalk -Os -c mypublic -v 2c 192.168.1.100 iso.3.6.1.4.1.2021.13.16.2.1.3.1
snmpwalk -Os -c mypublic -v 2c 192.168.1.100 iso.3.6.1.4.1.14988.1.1.3.10
Входим через браузер:
http://192.168.1.100/cacti
Вводим стандартный пароль и логин admin, admin и меняем на свой.
Заходим в Console — Devices
Description — Nas
Downed Device Detection — Ping or SNMP Uptime
Ping Method — ICMP Ping
SNMP Version — Version 2
SNMP Community — mypublic
Associated Graph Templates — Graph Template Name
Удаляем:
1) Unix — Load Average
2) Unix — Logged in Users
Оставляем только:
Unix — Processes
Добавляем:
Host MIB — Logged in Users
Переходим:
Associated Data Queries — Data Query Name
Добавляем:
SNMP — Get Mounted Partitions Uptime Goes Backwards
SNMP — Get Processor Information Uptime Goes Backwards
SNMP — Interface Statistics Uptime Goes Backwards
Далее вверху входим в Create Graphs for this Host
Проставляем галочки на все, что хотим:
Host MIB — Logged in Users
Linux — Memory Usage
Unix — Processes
Physical memory
/
/mnt/2000
/mnt/1000
eth2 (In/Out Bytes with Total Bandwith)
Жмем Create
Еще по этому руководству добавил новый график:
http://it-inside.org/2014/07/linux-wiki-adding-ram-monitoring-in-cacti-by-adding-graph-templates/
Установка и настройка домашнего сервера на Ubuntu Server 14.10. Часть 5
Часть 1 — тут. Часть 2 — тут. Часть 3 — тут. Часть 4 — тут.
В домашней сети у меня несколько компьютеров с ОС Windows, поэтому нужно установить Samba для возможности доступа с этих машин на сервер.
Установка и настройка Samba сервера.
sudo apt-get install samba
Правим файл конфигурации:
/etc/samba/smb.conf
workgroup = HOME
server string = Nas
security = share
[Video]
path = /mnt/2000/video_2000
guest ok = yes
writeable = yes
[Video_p$]
path = /mnt/2000/lol
guest ok = yes
writeable = yes
Больше никакие настройки не трогал.
Затем захотел конфигурацию по имени пользователя и пароля (делал по этому руководству: http://help.ubuntu.ru/wiki/samba):
security = user
;null passwords = true
; Файл для альясов имен юзеров(например у меня на компе пользователю Dom сопоставляем имя nikolay на сервере)
;username map = /etc/samba/smbusers
[Video]
path = /mnt/2000/video_2000
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0755
; Привязка к определенному имени пользователя или группе, имена через пробел
; force user = user1 user2
; force group = group1 group2
[Video_p$]
path = /mnt/2000/lol
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0755
; Привязка к определенному имени пользователя или группе, имена через пробел
force user = nikolay
; force group = group1 group2
Добавляем нашего пользователя базу данных SMB и назначить пароль для доступа к общим ресурсам:
nikolay@nas:~$ sudo smbpasswd -a nikolay
New SMB password:
Retype new SMB password:
Added user nikolay.
И подключаем его:
nikolay@nas:~$ sudo smbpasswd -e nikolay
Enabled user nikolay.
sudo touch /etc/samba/smbusers
sudo nano /etc/samba/smbusers
Впишите в файл пару строк
# Unix_name = SMB_name1 SMB_name2
nikolay = Dom
Перезапуск самбы:
sudo service smbd restart
Установка и настройка домашнего сервера на Ubuntu Server 14.10. Часть 4
Часть 1 — тут. Часть 2 — тут. Часть 3 — тут.
Продолжаем установку и настройку. Поставим FTP-сервер и Webmin (для управления сервером через web-интерфейс)
1) Установка FTP сервера
vsftpd — установка FTP сервера (http://goo.gl/hqNRw)
Ставим пакет:
sudo apt-get install vsftpd
Правим файл конфигурации:
sudo nano /etc/vsftpd.conf
write_enable=YES (разрешено записывать)
local_umask=022 (будут устанавливаться права 644)
chown_uploads=YES
chown_username=nikolay (всеми закачанными файлами будет хозяин nikolay)
idle_session_timeout=600 (таймаут сессии)
#chroot_local_users=YES (чтобы пользователь не мог выйти выше домашней папки) (для пользователя nikolay не прокатило, видимо потому что он root)
Перезапуск демона:
sudo service vsftpd restart
2) Ставим и настраиваем Webmin
Изначально в репозиториях Ubuntu Server 14.10 этого пакета нет, добавляем вручную:
sudo nano /etc/apt/sources.list
deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib
Закрываем sources.list
Скачиваем и устанавливаем ключи:
wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
sudo apt-get update
sudo apt-get install webmin
Заходим через браузер:
https://192.168.1.100:10000
Установка и настройка домашнего сервера на Ubuntu Server 14.10. Часть 3
Для использования своего NAS в качестве DLNA-сервера я использовал два разных пакета, из которых в будущем выберу какой-то один.
1) Устанавливаем Plex:
Зашел на сайт: https://plex.tv/downloads
Скопировал ссылку для Ubuntu:
sudo wget https://downloads.plex.tv/plex-media-server/0.9.12.11.1406-8403350/plexmediaserver_0.9.12.11.1406-8403350_i386.deb
Установил пакет:
sudo dpkg -i plexmediaserver_0.9.12.11.1406-8403350_i386.deb
Перезапуск демона:
sudo service plexmediaserver restart
sudo service plexmediaserver status
Заходим в браузере:
http://192.168.1.100:32400/web/index.html
Удалил два файла из папки /usr/lib/plexmediaserver/Resources: (по совету http://goo.gl/xVv6m7, чтобы не было транскодирования, не забивались ресурсы сервера)
Plex New Transcoder
Plex Transcoder
2) Устанавливаем MiniDLNA:
sudo apt-get install minidlna
Настраиваем:
sudo nano /etc/minidlna.conf
media_dir=/data/video
friendly_name=Ubuntu
Перезапуск демона:
sudo service minidlna restart
Оба пакета работают на сервере без проблем, Plex’ом можно управлять с телефона удаленно, наверное это для кого-то будет плюсом.
Установка и настройка домашнего сервера на Ubuntu Server 14.10. Часть 2
Часть 1 — тут.
Ставим Transmission для скачивания/раздачи торрентов:
sudo apt-get install transmission-daemon
Останавливаем демон:
sudo service transmission-daemon stop
Создаем папку для торрент-файлов и недокачанных файлов:
sudo mkdir /mnt/2000/torrent_files
sudo mkdir /mnt/2000/torrent_files/.incomplete
Для простоты даем полные права:
sudo chmod -R 777 /mnt/2000/torrent_files
sudo chmod -R 777 /mnt/2000/torrent_files/.incomplete
Откроем файл настроек transmission:
sudo nano /etc/transmission-daemon/settings.json
«rpc-authentication-required»: true,
«rpc-enabled»: true,
«rpc-password»: «тут_мой_пароль»,
«rpc-port»: 9091,
«rpc-url»: «/transmission/»,
«rpc-username»: «trans»,
«rpc-whitelist»: «127.0.0.1,192.168.1.*»,
«rpc-whitelist-enabled»: true,
«download-dir»: «/mnt/2000/video_2000»,
«incomplete-dir»: «/mnt/2000/torrent_files/.incomplete»,
«incomplete-dir-enabled»: true,
Разрешим отслеживать папку на предмет появления новых торрент-файлов, для этого в конец файла добавим следующие строки:
«watch-dir»: «/mnt/2000/torrent_files»,
«watch-dir-enabled»: true,
После чего настроим торрент-опции:
«dht-enabled»: true,
«peer-port»: 51413,
«port-forwarding-enabled»: true,
«utp-enabled»: true,
Заново запускаем сервер:
sudo service transmission-daemon start
Входим через браузер:
http://192.168.1.100:9091/ и вводим логин с паролем, указанные выше.
Со временем стал замечать следующее. При активной работе Transmission у моего сервера стала «отваливаться» сеть. То есть удаленно я не мог на него войти. Если же торренты были отключены или выставлялось принудительное ограничение, то проблем не было. Дальше я это опишу подробнее.
Update 22.09.2015:
После вчерашних попыток запустить Transmission, пришлось удалить качалку и установить заново.
Удалял полностью с настройками:
sudo apt-get purge transmission-*
Торрент-файлы хрянятся в /var/lib/transmission-daemon/info
По совету человека установил количество пиров в 10 (затем в 20) (изначально было 50).
Установка и настройка домашнего сервера на Ubuntu Server 14.10. Часть 1.
Решил на старом компьютере с процессором Intel Pentium 4 настроить NAS для качания/раздачи торрентов, DLNA сервера, WEB сервера, SAMBA и так далее, ну, вы все знаете сами.
Тут опишу все свои действия в виде заметок, чисто для памяти, чтоб не потерялась информация.
Исходные данные: Материнская плата — Gigabyte 8IPE1000, процессор — Intel(R) Pentium(R) 4 CPU 2.80GHz, ОЗУ — 896MB DIMM DDR, видео — Radeon 9600 AGP, сетевая карта — RTL-8100/8101L/8139 PCI Fast Ethernet Adapter, жесткие диски — 160 Gb SAMSUNG SP1604N (для системы), 2 Tb WDC WD20EARX-00P, 1 Tb ST31000528AS.
Установил сервер на базе Ubuntu Server 14.10 21.09.2015
Оказалось, что компьютер не может грузится с флешки, пришлось подключать CD-ROM и ставить с диска DVD-RW.
Подключены диски: 160, 1000, 2000. На 160 стоит система в EXT4.
Присвоил компу адрес 192.168.1.100:
/etc/network/interfaces:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 192.168.1.1
Установил tasksel, чтобы в будущем устанавливать серверы:
sudo apt-get install tasksel
Установил htop для просмотра загруженности сервера:
sudo apt-get install htop
Установил ncdu для просмотра занятого места сервера:
sudo apt-get install ncdu
Смотрим какие есть жесткие диски:
sudo blkid
sudo fdisk -l
У меня 2 дополнительных диска: /dev/sdb1 (2Tb), /dev/sdc1 (1Tb)
Удаляем все разделы (ntfs) на них:
sudo fdisk /dev/sdb
sudo fdisk /dev/sdс
Смотрим раздел p, удаляем d, выходим и записываем w.
Создаем разделы на этих дисках:
sudo cfdisk /dev/sdb
sudo cfdisk /dev/sdс
Форматируем разделы:
mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdc1
В итоге получилось так:
nikolay@nas:~$ sudo blkid
/dev/sda1: UUID=»175dc029-9b77-4e24-b891-493f0c711892″ TYPE=»ext2″
/dev/sda5: UUID=»3LU2gz-bi2A-q77B-YKqV-tlzF-R3Pe-k2AkU2″ TYPE=»LVM2_member»
/dev/sdb1: UUID=»e1f053ee-5b41-47b9-96a1-b92cbbabcd23″ TYPE=»ext4″
/dev/sdc1: UUID=»dd16a100-4fff-4536-8458-230d55ebf5d3″ TYPE=»ext4″
/dev/mapper/nas—vg-root: UUID=»8b78cb6c-37da-46b3-bde8-ad8ebb917bff» TYPE=»ext4″
/dev/mapper/nas—vg-swap_1: UUID=»640eebbe-b247-4c21-b862-6399724dc856″ TYPE=»swap»
Создаем точки монтирования:
sudo mkdir /mnt/2000
sudo mkdir /mnt/1000
Монтируем:
sudo mount -t ext4 /dev/sdb1 /mnt/2000
sudo mount -t ext4 /dev/sdc1 /mnt/1000
Проверим df -h свободное место
Добаляем в /etc/fstab:
/dev/sdb1 /mnt/2000 ext4 user,defaults,auto,rw 0 0
/dev/sdc1 /mnt/1000 ext4 user,defaults,auto,rw 0 0
Создаем папки на дисках и даем права для всех на всё:
sudo mkdir /mnt/1000/video_1000
sudo mkdir /mnt/2000/video_2000
sudo chmod -R 777 /mnt/1000/video_1000/
sudo chmod -R 777 /mnt/2000/video_2000/