Monitoring SSL expiration date with Nagios

Nagios е доста лесен за употреба и мощен инструмент, с помощта на който можете да проверявате статуса различни services, стига да можете да го конфигурирате правилно.

Ето конфигурация, с която nagios ще ни информира когато наближава изтичането на конкретен SSL сертификат, инсталиран на определен уебсайт (домейн).
В посоченият пример ще получим алерт 30 дни преди да изтече сертификата на нашият сайт (www.mydomain.com).

Service:

define service{
    use                             generic-service
    host_name localhost
    service_description SSL Certificate: www.mydomain.com
    check_command check_domain_cert!443!30!www.mydomain.com
}

Command:

define command{
    command_name check_domain_cert
    command_line /usr/lib/nagios/plugins/check_http -S \
        -I $ARG3$ -w 5 -c 10 -p $ARG1$ -C $ARG2$
}
Categories: How to ... ? Tags: ,

Представяме ви: AWS Auto Instance discovery for nagios

AWS Auto Instance discovery for nagios е малък скрипт, с помощта на който автоматично можете да генерирате nagios конфигруационни файлове за вашите AWS инстанции (сървъри).

Използването му е много лесно, а самият скрипт можете да модифицирате както пожелаете, за да отговаря на вашите изисквания и инфраструктура.

Можете да го намерите в exchange директорията на nagios.org тук: http://exchange.nagios.org/directory/Cool-Stuff/AWS-Auto-Instance-discovery/details

Пълният код и инструкции за употреба можете да намерите в Github, ето тук: https://github.com/Blagomir/nagios-aws-generator

Categories: AWS, Проекти Tags:

How to generate in PHP all combinations of items in multiple arrays

function combinations($arrays, $i = 0) {
    if (!isset($arrays[$i])) {
        return array();
    }
    if ($i == count($arrays) - 1) {
        return $arrays[$i];
    }
 
    // get combinations from subsequent arrays
    $tmp = combinations($arrays, $i + 1);
 
    $result = array();
 
    // concat each array from tmp with each element from $arrays[$i]
    foreach ($arrays[$i] as $v) {
        foreach ($tmp as $t) {
            $result[] = is_array($t) ? 
                array_merge(array($v), $t) :
                array($v, $t);
        }
    }
 
    return $result;
}
 
print_r(
    combinations(
        array(
            array('A1','A2','A3'), 
            array('B1','B2','B3'), 
            array('C1','C2')
        )
    )
);

copy/paste @ stackoverflow

Categories: PHP Tags:

Как да прочетем мейл, който вече е в опашката на postfix

postcat -q MESSAGE_ID

Как да добавим delay в postfix

В /etc/postfix/main.cf добавяме:

 smtp_destination_rate_delay = 1s

След като изпрати 1 мейл, postfix ще направим пауза от 1 секунда и тогава ще изпрати другите.

Categories: Debian, How to ... ?, Linux, Quick Tips Tags:

List all subfolders in path

find . -type d -exec echo mkdir -p {} \;
Categories: How to ... ?, Quick Tips Tags:

MySQL How to select domain name from email address ?

SELECT 
   COUNT(*) as cnt, SUBSTR(SUBSTR(Email, INSTR(Email, '@'), INSTR(Email, '.')), 2) as domain 
FROM 
   Users 
GROUP BY domain 
ORDER BY cnt DESC
Categories: How to ... ?, MySQL, Quick Tips Tags:

lost connection with while performing the HELO handshake

Ако видите този проблем в mailq опашката, най-вероятната грешка е, че нямате set-нат smtp_helo_name.

В /etc/postfix/main.cf добавяме:

smtp_helo_name = full.hostname.tld

Flush/Restart postfix queue

postqueue -f
Categories: How to ... ?, Quick Tips Tags:

Добавяне на timezones в MySQL (Adding time zones to MySQL)

При опит да сменим часовата зона на MySQL сървъра:

SET time_zone = 'Europe/London';

Се получи следната грешка:

SQLSTATE[HY000]: General error: 1298 Unknown or incorrect time zone: "Europe/London"

Как да оправим грешката? Импортираме всички timezones в MySQL сървъра 🙂

От конзолата пишем:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

Където:
-u root е потребителското име за root достъп до MySQL сървъра.

Categories: Linux, MySQL, Quick Tips Tags: