Сбор Статиcтики О Работе Сервера nginx При Помощи rrdtool

Опубликовано:

Скрипт очень прост в установке и настройке. Вы можете использовать следующий набор шагов для получения симпатичных графиков со статистикой работы вашего nginx-сервера:

  • Добавьте в конфигурационный файл nginx следующий раздел location:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    http {
    ...
    server {
    listen SOME.IP.ADD.RESS;
    ...
    location /nginx_status {
    stub_status on;
    access_log   off;
    allow SOME.IP.ADD.RESS;
    deny all;
    }
    ...
    }
    ...
    }
  • Проверьте свою конфигурацию следующей командой:
    1
    2
    3
    4
    # /your/installation/sbin/nginx -t
    2006/04/29 04:24:36 [info] 31676#0: the configuration file /opt/nginx/conf/nginx.conf syntax is ok
    2006/04/29 04:24:36 [info] 31676#0: the configuration file /opt/nginx/conf/nginx.conf was tested successfully
    #
    Если вы получите сообщение о том, что директива stub_status неизвестна, то проверьте включена ли опция ----with-http_stub_status_module при компиляции nginx.
  • Если проверка конфигурации прошла успешно, перезапустите nginx и проверьте статистику:
    1
    2
    3
    4
    5
    6
    croesus:~# GET http://your-domain.com/nginx_status
    Active connections: 1492
    server accepts handled requests
    2124355 2124355 8278635
    Reading: 6 Writing: 405 Waiting: 1081
    croesus:~#
  • Скачайте скрипт генерации графиков: rrd_nginx.pl и сделайте его исполнимым:
    1
    # chmod +x rrd_nginx.pl
  • Измените настройки в файле rrd_nginx.pl, чтобы дать скрипту знать, куда складывать rrd-базу и картинки со статистикой:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/usr/bin/perl
    use RRDs;
    use LWP::UserAgent;# определите путь к базам для rrdtool
    my $rrd = '/opt/rrd';
    # определите путь к картинкам
    my $img = '/opt/rrd/html';
    # определите URL для статистики nginx
    my $URL = «http://your-domain.com/nginx_status»;
    ...
  • Последний шаг в настройке – добавление следующей команды в файл /etc/crontab и перезапуск демона cron:
    * *     * * *   root    /some/path/rrd_nginx.pl
    

Когда все приготовления будут завершены, Вы получите в каталоге $img следующие графики:

https://gist.github.com/mattrude/4362399

Понравилась статья, расскажи о ней друзьям, нажми кнопку!