Июн 232015
 

Решил на днях перевести нагруженный проект с апача на nginx.

# nginx -v
nginx version: nginx/1.8.0
# uname -mro
FreeBSD 10.1-RELEASE-p12 amd64
# pkg version | grep "muni"
munin-common-2.0.25_1              =
munin-master-2.0.25_3              =
munin-node-2.0.25_4                =

Для начало соберем nginx с опцией статус.

root@213:/usr/ports/www/nginx # make showconfig | grep status
HTTP_STATUS=on: Enable http_stub_status module
root@213:/usr/ports/www/nginx #

После создадим виртуал хост под статус.
Я статус повесил на закрытый от посторонних порт. (8080 доступен только локальному хсоту и разрешенным для чтения этого порта ип адресов.
Как видно в виртуалхосте я отключил стандартную вэб авторизации, она мне на этом порту не к чему.
Часть информации было взято из этой статьи, Нашел краткую по основам настройка munin nginx_status.

root@213:~ # cat /usr/local/etc/nginx/sites-enabled/nginx_status
server {
listen 213.239.193.69:8080;
# server_name localhost;

location /status {
stub_status on;
#auth_basic "bagas";
#auth_basic_user_file /usr/local/.htpasswd;
}
}

Перезагружаем nginx

# /usr/local/etc/rc.d/nginx restart

Смотрим.

http://ип_адрес:8080/status

Увидим что-то вроде этого.

Active connections: 1966
server accepts handled requests
549683 549683 3585167
Reading: 1 Writing: 4 Waiting: 1961

Расшифровка выданного:
Active connections — сколько обслуживается клиентов.
Server accepts handled requests
Server — Общее количество соединений принятых.
accepts — Общее количество обработанных соединений (должно быть одинаково с Server значением).
handled — Общее количество обработанных запросов (должно быть больше чем accepts значение).
requests — Поделив handled значение на accepts – можно получить количество запросов в секунду которые nginx обработает.
Reading — Сколько соединений находится в состоянии чтения, (считывание заголовков запросов).
Writing — Сколько соединений находится в состоянии записи (считывание или подготовка клиенту тела запросов).
Waiting — Соединения keep-alive или же в состоянии обработки запрос, расчитать это значение можно так: active – (reading + writing).
Теперь добавим некоторые настройки для мониторинга munin.
Добавим сами скрипты мониторинга, которые поставляются с munin.

root@213:/ # ls -al /usr/local/etc/munin/plugins/ | grep nginx
lrwxr-xr-x 1 root wheel 44 Jun 21 16:45 nginx_request -> /usr/local/share/munin/plugins/nginx_request
lrwxr-xr-x 1 root wheel 43 Jun 21 16:45 nginx_status -> /usr/local/share/munin/plugins/nginx_status
root@213:/ #

Добавим ссылку по которой можно считать данные от nginx.

root@213:/ # cat /usr/local/etc/munin/plugin-conf.d/plugins.conf | grep -A 2 nginx
[nginx*]
env.url http://ип_адрес_сервера:8080/status
root@213:/ #

Также я отредактировал сами скрипты munina по мониторинга nginx.

nginx_status
nginx_request

Указал 8080 порт.

server {
listen 127.0.0.1:8080;
server_name localhost;

Перезагружаем munin, после должны появится графики в munin.

# /usr/local/etc/rc.d/munin-node restart

Вот и все!

 Leave a Reply

(required)

(required)

40 Запросов к базе. 0,336 Генерации страницы, 37MB Использование памяти.
Вы зашли с IP: 100.24.125.162