そのため、CISのさまざまな都市にある多数(50台以上、複数台)のTrassirサーバー(ビデオ監視サーバー)を管理する必要がありました。 一般的に、機器は不良ではありませんが、システムアーキテクチャの特性により、集中管理には問題があり、各サーバー(NVR)は独自の生活を送っています。 多数のデバイスで一度に操作する機会は「ネイティブ」クラウドによって提供されますが、絶対に構成可能ではなく、そのまま使用できます。
各稼働日の朝は、各サーバーの操作性のテストから始まりますが、これには多くの時間がかかります。
DSSLにはSDK
があります 。
詳細な
説明はこちらから入手できます 。
数晩過ごして、PHPでクラスを作成しました。これにより、WebサーバーはTrassirサーバーのステータスを確認し、ページに表示することができます。
Webを介してTrassirサーバーにアクセスするには、それらを構成する必要があります。 最初に、サーバー設定で「ブラウザーからTrassirへのアクセスを許可する」を有効にし、次に「Trassir SDK」を有効にします(そしてSDKパスワードを設定します)。 さらに、スクリプトを承認する権限が切り捨てられたユーザー(私の場合、監視ユーザー、パスワード123、SDKパスワード12345)を作成することをお勧めします。

一般に、SDKには大きなチャンスがあります。上記のリンクをご覧ください。
クラスコード自体:
<?php class TrassirServer { public $status = array();
使用例は、3つのファイル、index.php、view.css(スタイルシートはオプションですが、それなしではすべてが悲しい)、list_of_servers.txt(検証のためにすべてのサーバーのIPアドレスをそれぞれ新しい行から表示するテキストファイル)が存在することを意味します。
view.css:
.error{ background-color: cc3f5b; #border: 1px dotted red; #width: 99%; padding-left: 5px; } .trassir_server{ #border-bottom: 1px solid black; width: 250px; height: 240px; background-color: #4682B4; color: white; margin-top: 15px; margin-left: 5px; display: inline-block; vertical-align: top; } .OK{ background-color: #4169E0; border-bottom: 1px solid black; padding-left: 5px; } .trassir_server_name{ font-size: 20px; text-align: center; height: 30px; } body{ background-color: #DCDCDC; }
index.php
<?php header('Content-Type: text/html; charset=utf-8'); ini_set('max_execution_time', 60); error_reporting(E_ALL); require ('classes/TrassirServer.php'); ?> <html> <head> <link rel='stylesheet' href='./css/view.css'> </head> <body> <?php $user = 'Monitoring'; $password = '123'; $sdk_password = '12345'; function trassir_server_monitor($ip, $user, $password, $sdk_password){ $serv = new TrassirServer($ip, $user, $password, $sdk_password); echo '<div class = "trassir_server">'; if ($serv->check_connection()) { if ($serv->get_sid()) { $objects = $serv->get_objects(); if($objects){ foreach ($objects as $obj)
私の場合の結果(わずか4台のサーバーのテスト期間):

計画:
- スクリプトを定期的に(1日に2、3回)自動的に実行し、サーバーステータス統計をデータベースに保存します。
- UZユーザーの集中管理が可能です(最初の実装が可能になるまでに関連があれば)。
このシステムの「幸せな」管理者がまだいる場合、機能を共同で改善したい場合は喜んでお手伝いします。 また、誰かが最終結果に興味を持っているが、開発に従事する準備ができていない場合は、denis.glushakov @ bk.ruに書き込み、あなたのことを忘れないようにします。
コードを最適化するためのヒントは、コメントで喜んで受け入れます。
2018年6月22日からUPD。 素材にまだある程度の関心があったので、小さな更新を行います。この恐怖をすべて、packagistで利用可能なまともなlibに書き直し(Trassirという言葉で検索)、完全な機能を備えた別の実装のシンフォニーで作成しました(データベース、ディスプレイの状態を保存します)統計など)。 誰でも構いません-メールに書き込みます。まだ公開する時間がないため、まだ完了していません。