LINUX.ORG.RU

Сообщения sky_leo

 

Вопрос к гуру мониторинга по zabbix lld

Форум — Admin

В чём нужна помощь, описано в конце поста. Возможно DRVTiny сможет помочь. Постарался описать подробно и учесть рекомендации по описанию в посте разясните низкоуровневое обнаружение в zabbix (комментарий)

Кейс

Написать zabbix lld discovery для результата выполнения sql запроса.

sql запрос выводит следующие данные:

Last_Name Age  Child  tabel_id
Lebedev   35     2       47
Fedorov   40     3       55
Sidorova  30     1       63

Создать заббикс шаблон с discovery rule и item prototype's.

  • Выбирать значения Age и Child для каждого элемента Last_Name.
  • Собирать все данные, но создать item prototype только для Age и Child.

С помощью скрипта json-employer_group.py данные sql запроса преобразуются в следующий json:

( читать дальше... )

Скрипт json-employer_group.py возвращает json, если задан без параметров.

Так же скрипт може принимать 2 параметра,- {#ROOTITEM} и {#PARENTITEMNAME}. Если заданы параметры, то скрипт возвращает значение {#PARENTITEMVALUE}.

Например: json-employer_group.py Sidorova Age возвращает 40.

Далее я создаю пользовательские параметры заббикс для discovery rule и item prototype rule

UserParameter=discovery.employer, /usr/lib/zabbix/externalscripts/json-employer_group.py
UserParameter=employer.item[*], /usr/lib/zabbix/externalscripts/json-employer_group.py $1 $2

Далее я создаю шаблон заббикс:


discovery rule-discovery.employer

item-prototype Age

Name-{#ROOTITEM} parametr "Age"
type=zabbix-agent
Key=employer.item[{#ROOTITEM}, Age]


item-prototype Child

Name-{#ROOTITEM} parametr "Child"
type=zabbix-agent
Key=employer.item[{#ROOTITEM}, Child]

Вопросы|проблемы|В чём нужна помощь

Вопросы:

Если я создаю по указанному алгоритму, то discovery rule отрабатывает, но возвращает ошибку

Cannot create item, item already exist 
Lebedev Age
Lebedev Age
Lebedev Age

Как поправить эту ошибку?

Как работает с возвращаемым json заббикс сервер для item-prototype Age?

Что делает заббикс по шагам? Для каждого кортежа

    {
		"{#PARENTITEMNAME}": "Age",
		"{#PARENTITEMVALUE}": 35,
		"{#ROOTITEM}": "Lebedev"
	}

Создаётся item prototype Age? item prototype Age,- это число сочетаний {#ROOTITEM}, Child для каждого {#ROOTITEM}?

Может другой json нужно формировать? Какой? Может другой item prototype сделать? Какой?

item protoype key должен быть уникальным? Как его сделать уникальным, если item prototype нужно передавать параметры Lebedev Age?

Пробовал сделать его уникальным. Diskovery rule отрабатывает без ошибок, но возникает другая проблема. Не знаю, как создать итем, который выводит отдельный элеметнт, а не все

Для каждого кортежа добавил

    {
		"{#PARENTITEMNAME}": "Age",
		"{#PARENTITEMVALUE}": 35,
		"{#ROOTITEM}": "Lebedev",
		"{#ROOTPARENT}": "Lebedev_Age"
	}
 
item prototype один.

UserParameter=employer.item[*], /usr/lib/zabbix/externalscripts/json-employer_group.py $1

item prototype all

Name-{#ROOTITEM} parametr "Child"
type=zabbix-agent
Key=employer.item[{#ROOTPARENT}]

 , , ,

sky_leo
()

почему возникает connection timeout nginx и 503 ошибка?

Форум — Web-development

ИТ - коллеги, здравствуйте!

Обращаюсь за помощью к вам.

Ситуация. В логах nginx ошибка

*2283376 connect() failed (110: Connection timed out) while connecting to upstream, client: 130.193.37.19, server: server.ru, request: «GET /catalog/polki-dlya-vannoy/00006183 HTTP/1.1», upstream: "http://127.0.0.1:8887/catalog/polki-dlya-vannoy/00006183", host: «server.ru»

Пользователи сайта жалуются, что сайт не работает. Ошибка - Service temporarily unavailable.

Вопрос. Как найти причину Connection timed out? И устранить её.

Что пробовали делать. Менять таймауты nginx

        proxy_connect_timeout           500;
        proxy_send_timeout              500;
        proxy_read_timeout              500;

Это не решение. Ошибка пропала, но сайт не доступен пользователю.

Менять настройки prefork на рекомендуемые битрикс.

<IfModule prefork.c>
StartServers 20
MinSpareServers 10
MaxSpareServers 30
MaxClients 30
MaxRequestsPerChild 1000
</IfModule>

Не помогло.

На сервере настроен мониторинг. Можно смотреть загрузку сеть, диски, соединения, mysql запросы.

Гипотезы.

Загибается апатч. Какие- то параметры апач достигают максимум и от выдаёт timeout nginx. Какие настройки апач проверить?
Апач загибается из за настроек php. Какие настройки php проверить?

Сайт на битрикс, vds.

Аппаратная конфигурация сервера:

  • RAM 40 G, свободно 34 g.
  • HDD (raid 1, 2* SAS 15k) 120G свободно 40 G

Программная конфигурация:

  • Версия ОС - CentOS release 6.2
  • Версия битрикс окружения - 3.01
  • Версия php - 5.3.14
  • Версия nginx - 1.0.6
  • Версия mysql - 5.1.69-log
  • Версия apache - 2.2.15

Конфигурации nginx

user bitrix;
worker_processes 8;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_rlimit_nofile 10240;

events {
        use epoll;
        worker_connections  10240;
}

http {
        include /etc/nginx/mime.types;
        default_type application/octet-stream;
        log_format main '$remote_addr - $remote_user [$time_local] $status                                '
                        '"$request" $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" "$http_x_forwarded_for"';
         log_format main2 '$remote_addr - $remote_user [$time_local] $host $request '
                '$status $body_bytes_sent "$http_referer" "$http_user_agent" '
                '"$http_x_forwarded_for" $request_time-$upstream_response_time';

        log_format common '$remote_addr - - [$time_local] "$request" $status $bytes_sent "$http_referer" "$http_user_agent" $msec';
        #access_log /var/log/nginx/access.log  common;
        access_log                      off;
        sendfile                        on;
        tcp_nopush                      on;
        tcp_nodelay                     on;

        client_max_body_size            1024m;
        client_body_buffer_size         4m;

        proxy_connect_timeout           500;
        proxy_send_timeout              500;
        proxy_read_timeout              500;
        proxy_buffer_size               64k;
        proxy_buffers                   8 256k;
        proxy_busy_buffers_size         256k;
        proxy_temp_file_write_size      10m;

        error_page 500 502 503 504 /500.html;
        error_page 404 = /404.php;

        gzip                    on;
        gzip_proxied            any;
        gzip_static             on;
        gzip_http_version       1.0;
        gzip_types              application/x-javascript text/css;

        include conf.d/*;
        include bx/site_enabled/*.conf;
        include bx/site_ext_enabled/*.conf;

}

Конфигурация apache

ServerTokens OS
ServerRoot "/etc/httpd"
PidFile run/httpd.pid
Timeout 120
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15

<IfModule prefork.c>
StartServers 20
MinSpareServers 10
MaxSpareServers 30
MaxClients 30
MaxRequestsPerChild 1000
</IfModule>

<IfModule worker.c>
StartServers 20
MinSpareServers 10
MaxSpareServers 30
MaxClients 30
MaxRequestsPerChild 1000
</IfModule>


LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule info_module modules/mod_info.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so

Include conf.d/*.conf

User bitrix
Group bitrix

ServerAdmin root@localhost

UseCanonicalName Off

DocumentRoot "/home/bitrix/www"

<Directory />
    Options FollowSymLinks
    AllowOverride None


</Directory>

<IfModule mod_userdir.c>
    UserDir disable
</IfModule>

DirectoryIndex index.html index.html.var

AccessFileName .htaccess

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

TypesConfig /etc/mime.types
DefaultType text/plain
<IfModule mod_mime_magic.c>
    MIMEMagicFile conf/magic
</IfModule>

HostnameLookups On

ErrorLog logs/error_log

LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent


ServerSignature On

<IfModule mod_dav_fs.c>
    # Location of the WebDAV lock database.
    DAVLockDB /var/lib/dav/lockdb
</IfModule>

IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw



AddDefaultCharset UTF-8

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

AddHandler type-map var
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
<IfModule mod_status.c>
ExtendedStatus On
<Location /server-status>
    SetHandler server-status
    Allow from all
</Location>
</IfModule>


Конфигурация virtual host

<VirtualHost *:8887>
        ServerName server.ru
        ServerAlias www.server.ru
        ServerAdmin webmaster@localhost
        DocumentRoot /home/bitrix/ext_www/lmh



        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        <Directory /home/bitrix/ext_www/lmh>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                DirectoryIndex index.php index.html index.htm
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog logs/error_log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn


    <IfModule mod_rewrite.c>
    #Nginx should have "proxy_set_header HTTPS YES;" in location
    RewriteEngine On
    RewriteCond %{HTTP:HTTPS} =YES
    RewriteRule .* - [E=HTTPS:on,L]
    </IfModule>

</VirtualHost>

 , , service temporarily unavailable

sky_leo
()

модераторам

Форум — Linux-org-ru

Когда создаёшь тему.

Добавить тему в форум.

Нету ссылки на FAQ, 404 ошибка.

Прочитайте FAQ! Возможно, ваш вопрос уже содержится в нашем сборнике ответов на часто задаваемые вопросы.

Перемещено JB из general

 

sky_leo
()

логика работы cisco - haproxy-nginx-apache

Форум — Web-development

Коллеги!

Есть следующая связка:

  • cisco
    ip nat include external_ip internal_haproxy_ip  443
    
  • haproxy
    frontend https-in
     mode http
     bind *:443 ssl crt /etc/haproxy/ssl/
     acl is_site_name hdr_end(host) -i site_name.com
    
     use_backend site_name if is_site_name
     use_backend mail if is_mail
    
    backend site_name
    mode http
    server internal_site_name.com 192.168.0.2:443 ssl verify none
    
  • nginx
    server {
                    listen  443 default_server ssl;
                    server_name _;
    
                    # Enable SSL connection
                    include bx/conf/ssl.conf;
                    server_name_in_redirect off;
    
                    proxy_set_header        X-Real-IP       $remote_addr;
                    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header        Host            $host:443;
                    proxy_set_header        HTTPS           YES;
    
                    set $proxyserver        "http://127.0.0.1:8888";
                    set $docroot            "/home/bitrix/www";
    
                    index index.php;
                    root /home/bitrix/www;
    
                    # Include parameters common to all websites
                    include bx/conf/bitrix.conf;
    
                    # Include server monitoring API's
                    include bx/server_monitor.conf;
    
            }
    
  • apache
    <VirtualHost 127.0.0.1:8888>
            ServerAdmin webmaster@localhost
            DocumentRoot /home/bitrix/www
    
            <Directory />
                    Options FollowSymLinks
                    AllowOverride None
            </Directory>
    
            <DirectoryMatch .*\.svn/.*>
                     Deny From All
            </DirectoryMatch>
    
            <DirectoryMatch .*\.git/.*>
                     Deny From All
            </DirectoryMatch>
    
            <DirectoryMatch .*\.hg/.*>
                     Deny From All
            </DirectoryMatch>
    
            <Directory /home/bitrix/www/>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride All
                    DirectoryIndex index.php index.html index.htm
                    Order allow,deny
                    allow from all
                    php_admin_value session.save_path /tmp/php_sessions/www
                    php_admin_value upload_tmp_dir /tmp/php_upload/www
            </Directory>
    
            <Directory /home/bitrix/www/bitrix/cache>
                    AllowOverride none
                    Order allow,deny
                    Deny from all
            </Directory>
    
            <Directory /home/bitrix/www/bitrix/managed_cache>
                    AllowOverride none
                    Order allow,deny
                    Deny from all
            </Directory>
    
            <Directory /home/bitrix/www/bitrix/local_cache>
                    AllowOverride none
                    Order allow,deny
                    Deny from all
            </Directory>
    
            <Directory /home/bitrix/www/bitrix/stack_cache>
                    AllowOverride none
                    Order allow,deny
                    Deny from all
            </Directory>
    
            <Directory /home/bitrix/www/upload>
                    AllowOverride none
                    AddType text/plain php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,dll,exe,ico,shtm,shtml,fcg,fcgi,fpl,asmx,pht
                    php_value engine off
            </Directory>
    
            <Directory /home/bitrix/www/upload/support/not_image>
                    AllowOverride none
                    Order allow,deny
                    Deny from all
            </Directory>
    
            <Directory /home/bitrix/www/bitrix/images>
                    AllowOverride none
                    AddType text/plain php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,dll,exe,ico,shtm,shtml,fcg,fcgi,fpl,asmx,pht
                    php_value engine off
            </Directory>
    
            <Directory /home/bitrix/www/bitrix/tmp>
                    AllowOverride none
                    AddType text/plain php,php3,php4,php5,php6,phtml,pl,asp,aspx,cgi,dll,exe,ico,shtm,shtml,fcg,fcgi,fpl,asmx,pht
                    php_value engine off
            </Directory>
    
            ErrorLog logs/error_log
            # Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
            LogLevel warn
    
            CustomLog logs/access_log combined
    
            <IfModule mod_rewrite.c>
                    #Nginx should have "proxy_set_header HTTPS YES;" in location
                    RewriteEngine On
                    RewriteCond %{HTTP:HTTPS} =YES
                    RewriteRule .* - [E=HTTPS:on,L]
            </IfModule>
    </VirtualHost>
    

Можете разложить по модели OSI каждый уровень на каждом узле. При прохождении туда и обратно.

Что происходит на уровне http, ip, структуры пакета tcp/ip, заголовки, запросы и т.д.

Например. Возможно я не до конца прав. Поправте, дополните. Когда пользователь набирает в строке https://site_name.com, от формирует get запрос. get запрос находиться на прикладом уровне OSI. На уровень ниже находиться tcp. Когда пакет приходит на cisco, сisco не знает про http. Она передает пакет, меняя source ip на internal_haproxy_ip согласно nat правилу. И т.д.

 , ,

sky_leo
()

mdadm накосячил (( можно исправить?

Форум — Admin

Centos 7

Создан raid10 mdadm из 4 дисков

mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sdc /dev/sdd /dev/sde /dev/sdf

добавлен к vg, vgextend vg_FS1_DATA /dev/md10

Что делал. Убрал sdc диск из /dev/md10 физически из сервера, воткнул обратно. Убрал sde диск /dev/md10 физически из сервера, воткнул обратно. mdadm -a /dev/md10 /dev/sdf после обнаружения сбоя.

Теперь знаю, что нужно так:

1 mdadm --manage /dev/md10 --fail /dev/sdc
2 mdadm --manage /dev/md10 --remove /dev/sdc
3 Удаляем физически диск
4 Вставляем
5 Добавляем обратно mdadm -a /dev/md10 /dev/sdc

После подключения диска пропал sde, появился sdg.

Можно восстановить raid массив? Сейчас raid в таком состоянии:

( читать дальше... )

sda sdb это другой raid, 1 с ним всё ок.

 ,

sky_leo
()

RSS подписка на новые темы