Jump to content

Recommended Posts

Установил Nagios и nagios-plugins

Сделав  

nagios3 -v /opt/etc/nagios/nagios.cfg

Все Ок 

nagios3 -d /opt/etc/nagios/nagios.cfg

Deamon запустился, Nagiostat показивает инфо.

Какаой WEB сервер c поддержкой cgi порекомендуете для Nagios ???

 

Zyxel Keenetic II

Linux Keenetic 2.6.22.15 #1 Mon Oct 24 20:28:25 MSK 2016 mips GNU/Linux

Версия NDMS  v2.06(AAFG.8)C1

 

Link to comment
Share on other sites

giga2 2.08 entware-3x

не будем оригинальничать и поставим nginx ))) (php7, perl и два пакета, которых нет в репозитории (приложены к посту))

поиск по "web-сервер" выдаёт неск. ссылок, выбираем и ставим по аналогии

Скрытый текст

файл приведён полностью, редактируем под свои нужды самостоятельно


user  nobody;
worker_processes  1;

#error_log  /opt/var/log/nginx/error.log;
#error_log  /opt/var/log/nginx/error.log  notice;
#error_log  /opt/var/log/nginx/error.log  info;

pid        /opt/var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    index index.php index.html index.htm;

    sendfile        on;
    keepalive_timeout  65;
    gzip on;

    server {
    listen 88;

    root   /opt/share/www;

    location ~ [^/]\.php(/|$) {
            fastcgi_split_path_info   ^(.+?\.php)(/.*)$;
            if (!-f $document_root$fastcgi_script_name) {
         return 404;
      }
    root   /opt/share/www;
           fastcgi_pass   unix:/opt/var/run/php7-fcgi.sock;
           fastcgi_index  index.php;
           include        fastcgi_params;
        }

    location ~ ^/nagios/cgi-bin/.*\.cgi$ {
        gzip           off;
    root           /opt/share/www;
        fastcgi_pass   unix:/opt/var/run/fcgiwrap.sock;
        include      fastcgi_params;

        }
    }
}

подразумевается, что nagios (со всем содержимым) помещён по следующему пути: /opt/share/www/nagios

*.cgi скопированы/перемещены из /opt/sbin в /opt/share/www/nagios/cgi-bin/

 

где-нибудь (в примере это - /opt/etc/nginx/) создать файл fcgiwrap, со следующим содержимым

Скрытый текст

файл приведён полностью (добавлено изменение прав)


#!/opt/bin/perl

use strict;
use warnings FATAL => qw( all );

use IO::Socket::UNIX;

my $bin_path = '/opt/sbin/fcgiwrap';
my $socket_path = $ARGV[0] || '/opt/var/run/fcgiwrap.sock';
my $num_children = $ARGV[1] || 1;

close STDIN;

unlink $socket_path;
my $socket = IO::Socket::UNIX->new(
    Local => $socket_path,
    Listen => 100,
);

chmod 0777, $socket_path;

die "Cannot create socket at $socket_path: $!\n" unless $socket;

for (1 .. $num_children) {
    my $pid = fork;
    die "Cannot fork: $!" unless defined $pid;
    next if $pid;

    exec $bin_path;
    die "Failed to exec $bin_path: $!\n";
}

 

создадим скрипт автозапуска

Скрытый текст

 


#!/opt/bin/sh

ENABLED=yes
PROCS=perl
ARGS="/opt/etc/nginx/fcgiwrap"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func

не забываем сделать его исполняемым chmod +x /opt/etc/init.d/S99fcgiwrap

в связи с переходом на php7 ловим ошибки устаревших функций ))) (для nagios подправить 2-а файла)

1 /opt/share/www/nagios/includes/rss/rss_cache.inc

найти `function RSSCache` и заменить на `function __construct`

2 /opt/share/www/nagios/includes/rss/rss_parse.inc

найти  `function MagpieRSS` и заменить на `function __construct`

настраиваем и запускаем

nagios-004.png

Скрытый текст

nagios-001.png

nagios-002.png

nagios-003.png

 

либа для врапера fcgi_2.4.0-1_mipsel-3x.ipk и врапер fcgiwrap_1.1.0-1_mipsel-3x.ipk

 

added chmod

сокет создаётся с правами 755 и создаёт "проблемы доступа", для "исправления" ситуации, надо добавить в файл fcgiwrap строку

my $socket = IO::Socket::UNIX->new(
    Local => $socket_path,
    Listen => 100,
);

chmod 0777, $socket_path; ### <-- задание прав

die "Cannot create socket at $socket_path: $!\n" unless $socket;

 

Edited by TheBB
added chmod
  • Thanks 1
Link to comment
Share on other sites

TheBB

Большое спасибо  - очень помог ваш ответ 

Я также от себя добавлю инструкцию  Nagios on Lighttpd

opkg install nagios nagios-plugins

потом в  /opt/share/www - переименовуем в /opt/share/www/nagios

opkg install ext-ui-lighttpd

потом правим конфиг  /opt/etc/lighttpd/lighttpd.conf

Spoiler

server.modules = (
    "mod_access",
    "mod_accesslog",
    "mod_alias",
    "mod_auth",
    "mod_cgi",
    "mod_fastcgi",
    "mod_rewrite",
    "mod_redirect"
)

server.document-root        = "/opt/share/www"
server.upload-dirs          = ( "/opt/tmp" )
server.errorlog             = "/opt/var/log/lighttpd/error.log"
server.pid-file             = "/opt/var/run/lighttpd.pid"
#server.username             = "root"
#server.groupname            = "root"

index-file.names            = ( "index.php", "index.html",
                                "index.htm", "default.htm",
                                "index.lighttpd.html" )

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

### Options that are useful but not always necessary:
#server.chroot               = "/"
server.port                 = 8765
#server.bind                 = "localhost"
#server.tag                  = "lighttpd"
#server.errorlog-use-syslog  = "enable"
server.network-backend      = "write"

### Use IPv6 if available
#include_shell "/opt/share/lighttpd/use-ipv6.pl"

#dir-listing.encoding        = "utf-8"
#server.dir-listing          = "enable"

include       "/opt/etc/lighttpd/mime.conf"
include_shell "cat /opt/etc/lighttpd/conf.d/*.conf"

$HTTP["url"] =~ "\.pdf$" { 
        server.range-requests = "disable" 
}

$HTTP["url"] =~ "nagios" {
    alias.url += (
    "/nagios/cgi-bin" => "/opt/sbin",
    "/nagios"         => "/opt/share/www/nagios"
    )

    $HTTP["url"] =~ "^/nagios/cgi-bin" {
        cgi.assign = ( "" => "" )
    }
    
    auth.backend = "plain"
    auth.backend.plain.userfile = "/opt/etc/lighttpd/lig_user"
    auth.require = ( "/nagios" => (
        "method" => "basic",
        "realm" => "nagios",
        "require" => "user=root"
        )
    )
}

#debug.log-request-handling = "enable"

конфиг  /opt/etc/lighttpd/lig_user - это пользователь и пароль 

Spoiler

root:zyxel

конфиг  /opt/etc/nagios/cgi.cfg   -   заменяем везде nagiosadmin  на  root

скрип автозапуска Nagios   /opt/etc/init.d/S82nagios

Spoiler

#!/bin/sh

ENABLED=yes
PROCS=nagios
ARGS="-d /opt/etc/nagios/nagios.cfg"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func 

 Проверка конфигов 

nagios -v /opt/etc/nagios/nagios.cfg
lighttpd -f /opt/etc/lighttpd/lighttpd.conf -t

 

Edited by Cosmit
  • Thanks 1
Link to comment
Share on other sites

check_ping 8.8.8.8 -w 5000,100% -c 5000,100%

/bin/ping -w 30 -c 5 8.8.8.8
CRITICAL - Could not interpret output from ping command

Не работает команда check_ping, как подправить ???

или надо перекомпелировать nagios-plugins ???

  • Thanks 1
Link to comment
Share on other sites

да, надо пересобирать пакет, правка конфига (указание правильного пути) ничего не даёт. и...

в свете отказа owrt от использования php5, будем, постепенно, переходить на php7. для ext-ui-* это - ext-ui-nginx-7 || ext-ui-lighttpd-7

 

added

nginx был выбран потому, что: a) уже стоял (для "прогона" wordpress) б) не имел решения "из коробки"

с lighttpd (да и "индейцем" (apache)) всё просто (установку модулей и правку конфигов никто не отменял )))), а для  для nginx, на сайте debian и сайте сервера, предложено использовать fcgiwrap

Edited by TheBB
added
  • Thanks 1
Link to comment
Share on other sites

TheBB 

Про php7 - полностью согласен.

Где взять исходники для компиляции, где почитать про сборку пакетов???

По поводу check_ping - может проще сделать жёсткую ссылку в каталог /bin утилиты ping при сборке прошивки разработчиками ??

Link to comment
Share on other sites

22 минуты назад, Cosmit сказал:

Ещё мона конешно добавить скипт запуска Nagios    в  /opt/etc/init.d/

Еще бы добавить информацию по первичной настройке, показать на примерах, что в итоге мы можем получить и после этого вынести статью в каталог готовых решений.

Графики, насколько я понимаю, также можно строить на самом entware?

Link to comment
Share on other sites

28 минут назад, gvan сказал:

Еще бы добавить информацию по первичной настройке...

сборка пакетов и настройка пакетов - разные темы. вопросы по настройке задавайте здесь.

27 минут назад, gvan сказал:

... Графики, насколько я понимаю, также можно строить на самом entware?

наверное, можно... поинтересуемся у @Cosmit ))) пакет графики рисует?

Скрытый текст

screen-034.png

screen-033.png

 

 

Link to comment
Share on other sites

@TheBB

В пакете отсудствуют файлы

statusmap.cgi - строит карту

trends.cgi - графики 

histogram.cgi - гистораммы

Если знать где лежать исходники и куда их положить для компиляции то могу пересобрать 

Edited by Cosmit
Link to comment
Share on other sites

  • 1 year later...

в связи с переходом на php 7.0

в файле   .../share/www/nagios/includes/rss/rss_parse.inc   заменить строку

153	list($ns, $el) = split( ':', $element, 2); 

на

153	list($ns, $el) = explode( ':', $element, 2); 

 

Edited by Cosmit
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...