Архив метки: freebsd

Установка кодировки UTF8 для ssh шелл FreeBSD

  1.  Выполняем в консоли chpass. Приводим секцию Class к виду: Class: russian. Должно получиться чтото вроде:
#Changing user information for root.
Login: root
Password: ущш мщаукоац ущк
Uid [#]: 0
Gid [# or name]: 0
Change [month day year]:
Expire [month day year]:
Class: russian
Home directory: /root
Shell: /bin/csh
Full Name: щцшу
Office Location:
Office Phone:
Home Phone:
Other information:

2. В файле /etc/login.conf прописываем:

russian|Russian Users Accounts:\
	:charset=UTF-8:\
	:lang=ru_RU.UTF-8:\
	:tc=default:

3. Выполняем в консоли

cap_mkdb /etc/login.conf

Сий мануал справедлив для FreeBSD 8.4

Установка monit на FreeBSD

monit — утилита, которая позволяет отслеживать запущен ли процесс. Если нет — она может его перезапустить.

1) Устанавливаем из пакетов:

pkg install sysutils/monit

2) Добавляем в автозагрузку:

в файл /etc/rc.conf добавляем строку monit_enable=»YES»

3) Создаем файл настроек на основе /usr/local/etc/monitrc.sample .Можно просто переименовать в /usr/local/etc/monitrc

Из того что нужно было мне:

set daemon 30 #интервал проверки в секундах
 set logfile /var/log/monit.log #куда пишем логи

Веб интерфейс, как лишняя «дыра» не нужен — комментируем

#set httpd port 2812 and
 # use address localhost
 # allow localhost
 # allow admin:monit
include /etc/monit.d/* #откуда берем настройки по мониторингу

4) В /etc/monit.d/ создаем файл, например monit.conf с отслеживаемыми сервисами. Например:

check process shellinaboxd with pidfile /var/run/shellinaboxd.pid
 start program = "/usr/local/etc/rc.d/shellinaboxd start"
 stop program = "/bin/sh -c 'kill `cat /var/run/shellinaboxd.pid`'"

Вот пример конфига который получился в конце концов у меня:

set mailserver
    mail.erfwerfwer.ru
    USERNAME "fser@erfwer.ru"
    PASSWORD "й423523452345"
set alert init@уцвцув.ru
set mail-format {from: цувцу@цувцувцу.ru}

check process mpd5 with pidfile /var/run/mpd5.pid
	start program = "/usr/local/etc/rc.d/mpd5 start"
	stop program = "/bin/sh -c 'kill `cat /var/run/mpd5.pid`'"
	if cpu > 60% for 2 cycles then alert
	if not exist then restart
	if not exist for 2 cycles then alert		
check process radiusd
	matching "radiusd"
	start program = "/usr/local/etc/rc.d/radiusd start"
	stop program = "/usr/bin/killall radiusd"
	if cpu usage > 95% for 10 cycles then restart
	if cpu > 60% for 2 cycles then alert
	if not exist then restart
	if not exist for 2 cycles then alert		
check process mysqld
	matching "mysqld"
	start program = "/usr/local/etc/rc.d/mysql-server start"
	stop program = "/usr/bin/killall mysqld"
	if cpu usage > 95% for 10 cycles then restart
	if cpu > 60% for 2 cycles then alert
	if not exist then restart
	if not exist for 2 cycles then alert		
check process db2dhcp
	matching "db2dhcp"
	start program = "/usr/local/etc/rc.d/db2dhcp.sh start"
	stop program = "/usr/bin/killall db2dhcp"
	if cpu usage > 95% for 10 cycles then restart
	if cpu > 60% for 2 cycles then alert
	if not exist then restart
	if not exist for 2 cycles then alert	
check process squid
	matching "squid"
	start program = "/usr/local/etc/rc.d/squid start"
	stop program = "/usr/bin/killall squid"
	if cpu > 60% for 2 cycles then alert
	if not exist then restart
	if not exist for 2 cycles then alert		
check process named
	matching "named"
	start program = "/usr/sbin/named -t /var/named -u bind"
	stop program = "/usr/bin/killall named"
	if cpu usage > 95% for 10 cycles then restart
	if cpu > 60% for 2 cycles then alert
	if not exist then restart
	if not exist for 2 cycles then alert		
check process httpd
	matching "httpd"
	start program = "/usr/local/etc/rc.d/apache22 start"
	stop program = "/usr/bin/killall apache22"
	if cpu usage > 95% for 10 cycles then restart
	if cpu > 60% for 2 cycles then alert
	if not exist then restart
	if not exist for 2 cycles then alert

Приоритеты процессов в FreeBsd

Зачем они собственно нужны? А затем, чтобы если вдруг серверу «поплохело», он знал на какие процессы важно выделять процессорное время, а на какие можно «подзабить».

Например сервер доступа : день,  сетевая активность низкая, процессор не загружен обработкой сетевых пакетов, вполне можно выполнять все задачи. Вечер: идет дикая нагрузка на сетевую подсистему, процессор в полочке. Ничего страшного, бросаем все силы на обработку сетевых пакетов, на всем остальные задачи, не «системные», выделяем время по остаточному принципу.

Для выставления приоритетов в FreeBSD используется команд:

nice -n [приоритет] [программа]

Это для запуска. Для уже запущеных процессов приоритет можно выставить командой:

renice  -n [приоритет] [PID]