Установка сервера мониторинга Zabbix 7.2 на CentOS 9

Сервер Zabbix является средством сбора и анализа информации о состоянии оборудования в сети. В данной статье мы рассмотрим процесс его установки и развертывания веб-интерфейса для его управления. В качестве сервера баз данных мы будем использовать MySQL 8.4.

Читать далее «Установка сервера мониторинга Zabbix 7.2 на CentOS 9»

УСТАНОВКА PERLBREW И УПРАВЛЕНИЕ ВЕРСИЯМИ PERL 5 В CENTOS 7

Perl 5 – это зрелый, полнофункциональный язык программирования. Он используется в проектах всех типов, включая критически важные бизнес-системы. Программный пакет Perlbrew позволяет устанавливать, удалять и переключаться между версиями языка программирования Perl 5.

Perlbrew устанавливает Perl в домашнем каталоге. Каждая установленная версия Perl не зависит от других. Это позволяет протестировать код в нескольких версиях Perl. Perlbrew по умолчанию включает пакет Perl для текущей операционной системы (обычно устаревший).

Этот мануал поможет установить Perlbrew и освоить управление версиями Perl 5.

Читать далее «УСТАНОВКА PERLBREW И УПРАВЛЕНИЕ ВЕРСИЯМИ PERL 5 В CENTOS 7»

Простой JSON сервер

Создаем файл hello_http.js со следующим содержимым

var port = 8080;
var http = require("http");
var server = http.createServer();
server.on('request', request);

server.listen(port, (err) => {
    if (err) {
        return console.log('something bad happened', err)
    }
    console.log(`server is listening on ${port}`)
})

function request(request, response) {
    var store = '';
    request.on('data', function(data){
        store += data;
    });
    request.on('end', function(){
        var js_name = JSON.parse(store);
        console.log(js_name['name']);
        //response.setHeader("Content-Type", "text/json");
        //response.setHeader("Access-Control-Allow-Origin", "*");
        //response.end(store)
        //store = JSON.parse(store);.
        response.end('city: '+js_name['address']['city']);
    });
}
Читать далее «Простой JSON сервер»

Проверка значения на присутствие в массиве

$OrderStatusId=60;
if(in_array($OrderStatusId, array(60,61,64))) {
    print "Значение присутствует";
} else {
    print "Значение не найдено";
}

или наоборот

$OrderStatusId=60;
if(!in_array($OrderStatusId, array(60,61,64))) {
    print "Значение не найдено";
} else {
    print "Значение присутствует";
}

Правильная работа с базой MSSQL

$server="SERVER_IP";
$user="USER_NAME";
$pass="USER_PASS";
$database="BASE";

print "--START--<br>";
try{
    $db = mssql_connect($server, $user, $pass);
    if (!$db) throw new Exception ("Невозможно установить соединение с базой данных.");
    if (!mssql_select_db($database,$db)) throw new Exception ("Невозможно выбрать базу данных.");
###
    $query1 = "SET CONCAT_NULL_YIELDS_NULL ON"; # настройка для MSSQL (чтобы 'string'+NULL давало NULL, а не 'string')
    if(!mssql_query($query1)) throw new Exception("Невозможно установить SET CONCAT_NULL_YIELDS_NULL ON");
### 
    $querys = "EXEC [dbo].[REP_OrdersClient] @DateBegin = '20180501', @DateEnd = '20180704', @ContractNumberPrimary = '12', @ContractNumber = '38957'";
    $result=mssql_query($querys);
    
    if (!$result) throw new Exception("Невозможно установить соединение с сервером");
    if (!mssql_num_rows($result)) {
        echo 'Не найдено ни одной записи.';
    } else {
        while ($row = mssql_fetch_array($result, MSSQL_ASSOC)) {
            $results[]= $row;
        }
    }
    mssql_free_result($result);
}
catch(Exception $e){
    echo $e->getMessage();
}
print_r($results);

Исключения TRY CATCH

Перехват ошибок без остановки работы самого скрипта

$server='Server';
$user='Phpweb_po';
$pass='fzHjYt_';
$database='Main_';

try{
    $db = mssql_connect($server, $user, $pass);
    if (!$db) throw new Exception ("Невозможно установить соединение с базой данных.");
    if (!mssql_select_db($database,$db)) throw new Exception ("Невозможно выбрать базу данных.");
    $login_name=$_SESSION['Zend_Auth']['storage']->Usr;
    $role=$_SESSION['Zend_Auth']['storage']->Roles[0]['Role'];
}catch (Exception $e){
    echo $e->getMessage();
}

Функция преобразует все URL адреса в тексте в ссылки

function makeClickableLinks($text) { 
    $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<a target="_blank" href="\\1">\\1</a>', $text); 
    $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '\\1<a href="http://\\2";>\\2</a>', $text); 
    $text = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})', '<a href="mailto:\\1">\\1</a>', $text); 
    return $text; 
}