Показаны сообщения с ярлыком RedHat. Показать все сообщения
Показаны сообщения с ярлыком RedHat. Показать все сообщения

27 мар. 2014 г.

Ошибка после установки Zabbix: Zabbix server is not running: the information displayed may not be current

Если вы установили серверную часть системы мониторинга Zabbix на системах RHEL (Oracle Linux, RedHat, CentOS) и вроде бы всё правильно, но в веб-интерфейсе вылазит ошибка
Zabbix server is not running: the information displayed may not be current

то, здесь обычно 2 варианта:

  • самый простой - не запущен или не корректно сконфигурирован демон zabbix-server. Проверьте, совпадают ли номера портов в конфигах zabbix-server (/etc/zabbix/zabbix_server.conf) и zabbix-web (/etc/zabbix/web/zabbix.conf.php), а так же правильно ли настроено подключение к БД.
  • если всё в конфигурационных файлах правильно и демон запущен, это скорее всего значит, что вам надо или отключить систему защиты SeLinux совсем или - что будет корректнее - изменить политику доступа к портам системы для демона httpd.

1. Проверим, что проблема действительно в настройках SeLinux:

tail -f /var/log/audit/audit.log |grep -i avc

Должны периодически добавляться в лог строки вроде этой:

type=AVC msg=audit(1395664684.460:297): avc:  denied  { name_connect } for  pid=3078 comm="httpd" dest=10051 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket

а команда:

getsebool -a | grep zabbix

должна в таком случае дать результат:

zabbix_can_network --> off

Изменим политику для httpd:

setsebool -P httpd_can_network_connect on

Проверяем:

getsebool httpd_can_network_connect

Результат должен быть следующий:

httpd_can_network_connect --> on

Теперь веб-интерфейс Zabbix должен нормально подключаться к серверу через порт 10051 (по-умолчанию) и ошибка исчезнет.

4 окт. 2013 г.

Использование iperf для тестирования мультикаста

Для того, чтобы проверить, приходит ли на наш сервер/рабочую машину/ПК мультикаст, можно использовать и tcpdump:

tcpdump -i bond0.666 udp -nn port 4444

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

Лучше использовать утилиту iperf. Она служит для анализа быстродействия сети, и для наших целей отлично подходит.

Итак, на Debian устанавливаем просто: 

aptitude install iperf

А для RHEL дистрибутивов (RedHat, Oracle Linux, CentOS etc.) нужно или добавить репозиторий RepoForge или посмотреть пакет для своей версии ОС тут http://pkgs.repoforge.org/iperf/ и установить, например:

yum install http://pkgs.repoforge.org/iperf/iperf-2.0.4-1.el6.rf.x86_64.rpm

или

rpm -Uhv http://pkgs.repoforge.org/iperf/iperf-2.0.4-1.el6.rf.x86_64.rpm

Далее, если адрес мультикаст группы 239.200.1.1, а порт 4444, то делаем команду и смотрим результат:

iperf -s -u -B 239.200.1.1 -i 1 -p 4444

здесь

  • -s -режим сервера, 
  • -u - использовать UDP, 
  • -i 1 - выводить информацию каждую секунду, 
  • -B и -p - адрес нашего мультикаста.

1 апр. 2013 г.

Ошибка в RHEL: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

Ошибка в RHEL6 x64 вида:

/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

возникает, когда вы хотите запустить 32-битное приложение на 64-битной системе без glibc версии х86.Вместе с системой ставится только 64-битная версия этой библиотеки. Решаем:

yum install glibc.i686

На некоторых системах:

yum install glibc.i386

18 мар. 2013 г.

Настройка abrt (automatic bug reporting tool) в RHEL6

abrtd - демон, который следит за крэшами программулин и в случае крэша делает core dump и сохраняет всякий другой полезный в отладке stuff. И - самое полезное - от может уведомлять нас сразу же о проблеме и даже аплоадить дебаг инфу на багзиллу или нужный ftp/scp сервер.

Постановка задачи - настроить в abrt отправку писем при обнаружении крэша кастомного софта на сервере.

Для начала установим необходимые пакеты.

yum install abrt-addon-ccpp abrt-addon-python abrt-cli abrt-plugin-logger abrt-plugin-mailx abrt-tui abrt

Если это для вас важно, то следует заметить, что установка abrt меняет kernel core_pattern:

cat /proc/sys/kernel/core_pattern

/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e

Добавим в автозагрузку демона abrtd:

chkconfig abrtd on
chkconfig abrt-ccpp on
chkconfig abrt-oops on

Конфигурационные файлы abrt находятся в директориях:
  • /etc/libreport/ - хранит конфиги связанные с репортами
  • /etc/libreport/events.d/ - здесь лежат описания ивентов и реакции на них
  • /etc/libreport/events/ - описание т. н. репортеров
  • /etc/libreport/plugins/
  • /etc/abrt/ - конфиги самого демона abrtd
  • /etc/abrt/plugins/ - конфиги плугинов abrt.
Нас все конфиги не интересуют, потому перечислю, что нужно поменять:

12 февр. 2013 г.

Настройка Interface Teaming (bonding) и привязка к VLAN тегам в RHEL6 (Oracle Linux 6)

Для начала создадим конфигурационный файл для modprobe, в котором расскажем какой интерфейс мы будет обрабатываться модулем bonding:

nano /etc/modprobe.d/bond.conf

alias bond0 bonding
alias ipv6 "disable=1"

Заодно отключим IPv6 (если вы его не используете).

Далее переходим в директорию /etc/sysconfig/network-scripts/ где хранятся конфиги всех сетевых интерфейсов в формате ifcfg-<interface>

Создаем здесь конфиг для нашего нового bond интерфейса:

ifcfg-bond0

DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
#IPADDR=192.168.1.2
BONDING_OPTS="mode=4 miimon=1000"
VLAN=yes
TYPE=Ethernet
IPV6INIT=no
USERCTL=no

Здесь можете не указывать адрес, если хотите получать трафик только по VLAN тегам.
По опциям:
  • mode - определяет режим, который выбирается из соображений, чего вы хотите от бонда и вашей сетевой инфраструктуры. Описание режимов здесь.
  • miimon - нужен для failover'а - в мс как часто модуль mii будет мониторить карточки на их доступность. Если феиловер не нужен, то можно ставить побольше, если нужен, то 10, 20
Правим конфиги для физических адаптеров в бонде (например, eth0, eth1 etc.), добавляя к каждому параметры Master и Slave (<> - ваши данные)

19 дек. 2012 г.

Настройка сетевого интерфейса в RHEL6 (RedHat, CentOS, Oracle Linux)

Решил вот сделать заметку о настройке сетевых интерфейсов RHEL (RedHat, CentOS, Oracle Linux, Fedora).

Вначале редактируем файлик настройки интерфейса, например eth1 (<> - означает специфические значения):

nano /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE="eth1"
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.1.2
PREFIX=24
NETMASK=255.255.255.0
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"
UUID=<>
ONBOOT=yes
HWADDR=<>
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8
VLAN=yes
MASTERr=bond0
SLAVE=yes

Строки говорят сами за себя. HWADDR и UUID проще не указывать, чтобы система сама их розчехлила, а если и указывать, то точно для вашего адаптера.

  • BOOTPROTO=none - при задании статического адреса. Для получения динамического адреса, здесь необходимо указать =dhcp
  • VLAN=yes - если мы настраиваем интерфейс для работы с тегами VLAN.
  • MASTERr=bond0 - если мы настраиваем интерфейс как часть бонда
  • SLAVE=yes - если мы настраиваем интерфейс как часть бонда
  • NETMASK=255.255.255.0 - указываем только ОДИН из параеметров - или NETMASK или PREFIX
Далее редактируем:

nano /etc/sysconfig/network

14 дек. 2012 г.

Открытие портов в iptables в RHEL дистрибутивах (RedHat, Oracle Linux, CentOS, etc.)

nano /etc/sysconfig/iptables

Добавляем запись, например:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT


Сохраняем и рестартуем iptables:

/etc/init.d/iptables restart


Возможно Selinux будет ругаться при рестарте. Придется его отключить:

nano /etc/selinux/config 

И изменяем строчку SELINUX:

SELINUX=disabled

Добавление статического роута в RHEL дистрибутивах (RedHat, Oracle, CentOS, etc.)

Роуты нужно класть в папку /etc/sysconfig/network-scripts/ в виде текстового файлика route-X где Х - имя интерфейса. Например:

nano /etc/sysconfig/network-scripts/route-eth0

в формате

192.168.1.0/24 via 192.168.1.1

или

ADDRESS0=192.168.1.0
NETMASK0=255.255.255.0
GATEWAY0=192.168.1.1

Если роутов нужно больше одного, то для первого формата просто записываем с новой строки, а для второго - меняем цифру:

ADDRESS1=192.168.2.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.2.1

Проверяем:

netstat -rn
route -n

Добавить не статический роут можно командой:

route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.1

12 окт. 2012 г.

Установка Skype 4 в Oracle Linux 6 (Redhat 6 / CentOS 6)

Скайпу нужны х86 библиотеки. Установим его зависимости вначале:

yum install alsa-lib.i686 fontconfig.i686 freetype.i686 glib2.i686 libSM.i686 libXScrnSaver.i686 libXi.i686 libXrandr.i686 libXrender.i686 libXv.i686 libstdc++.i686 pulseaudio-libs.i686 qt.i686 qt-x11.i686 zlib.i686

Теперь качаем скайп static билд и распаковываем:

wget --trust-server-names http://www.skype.com/go/getskype-linux-beta-static
mkdir /opt/skype 

tar xvf skype_static* -C /opt/skype --strip-components=1

Сделаем ссылку на библиотеку, которую скайп "не понимает", но она есть - под другим именем.

cd /usr/lib 
ln -s libtiff.so.3 /usr/lib/libtiff.so.4

Сделаем ссылки в менюшки, чтобы всё было "по фен-шую"

ln -s /opt/skype/skype.desktop /usr/share/applications/skype.desktop 
ln -s /opt/skype/icons/SkypeBlue_48x48.png /usr/share/icons/skype.png 
ln -s /opt/skype/icons/SkypeBlue_48x48.png /usr/share/pixmaps/skype.png 

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

touch /usr/bin/skype 
chmod 755 /usr/bin/skype

В нем пропишем:

#!/bin/sh 
export SKYPE_HOME="/opt/skype" 
 $SKYPE_HOME/skype --resources=$SKYPE_HOME $*

Всё. Запускаем скайп просто из командной строки: skype или из менюшек.
Если будут проблемы со звуком - читаем ниже про настройку alsamixer.

4 сент. 2012 г.

Установка kDevelop 4 в Oracle Linux 6

Всё нижеизложенное  проделал в Oracle Linux 6.3, но скорее всего действия валидны и для RedHat/CentOS 6, т. к. они все "из одной пробирки".

Итак. Последнюю версию kDevelop - 4.3 - установить мне не удалось, т. к. необходимые ей kdelibs-devel были слишком старой версии в системе, а чтобы их обновить, пришлось бы переколбашивать всю систему с высоким шансом ее угробить, потому пришлось поставить старенькую версию kDevelop - 4.0.2.

1. Ставим зависимости:

yum install qtwebkit.x86_64 kdelibs-devel kdebase-workspace-devel

2. Качаем отсюда http://download.kde.org/stable/kdevelop/4.0.2/src/ и распаковываем сорцы:

cd /home/user/Downloads
wget http://download.kde.org/stable/kdevelop/4.0.2/src/kdevelop-4.0.2.tar.bz2
wget http://download.kde.org/stable/kdevelop/4.0.2/src/kdevplatform-1.0.2.tar.bz2
tar -xjvf kdevelop-4.0.2.tar.bz2
tar -xjvf kdevplatform-1.0.2.tar.bz2

3. Компилится оно немножко по-задроченному, потому создаем папки и копируем сорцы куда надо:

mkdir -p /home/user/src/kdevplatfom/build
mkdir -p /home/user/src/kdevelop/build
cp -R /home/user/Downloads/ kdevplatfom -1.0.2/* /home/user/src/kdevplatfom/
cp -R /home/user/Downloads/kdevelop-4.0.2/* /home/user/src/kdevelop/

2 апр. 2012 г.

Использования screen для восстановления терминального подключения при не корректном его завершении

Screen - довольно-таки мощная и полезная утилита для системного администратора. У нее достаточно много ключей и параметров, которые человека нового, непосвященного могут вначале отпугнуть. В этой статье я напишу, как я использую эту утилиту.

Основное назначение screen, как для меня, - подключение к прерванному консольному сеансу. Т. е. вот вы, например, подключились к удаленному веб-серверу и запустили там какой-либо очень важный процесс, которым возможно нужно управлять. И вдруг у вас пропадает ssh-соединение - то ли проблемы с подключением через Интернет то ли еще по какой-то причине... И вы уже не сможете управлять процессом. Чтобы так не произошло - нужно запускать важные такие вещи в скрине.

Для начала установим его (как правило, в стандартную установку он не входит):

yum install screen (для RedHat/CentOS)
aptitude install screen (для Debian/Ubuntu)


Для других дистрибутивов нечто похожее.

Теперь войдите в скрин:

screen

Или выполните команду "в скрине":

screen sudo nano /etc/sudoers