Kaydet (Commit) db66317a authored tarafından Mert ÇELEN's avatar Mert ÇELEN

Service status added.

üst 5e06a519
......@@ -293,7 +293,14 @@ class OneController extends Controller
"free -t | awk 'NR == 2 {printf($3/$2*100)}'",
false
);
$cpu = substr(server()->run("grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage}'",false),0,7);
$cpu = substr(
server()->run(
"grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage}'",
false
),
0,
7
);
// $cpu = server()->run("vmstat 1 1|tail -1|awk '{print $15}'", false);
// $cpu = 100 - intval($cpu);
} elseif (server()->type == "windows_powershell") {
......@@ -570,8 +577,8 @@ class OneController extends Controller
public function serviceList()
{
if(!Permission::can(user()->id,'liman','id','server_services')){
return respond("Bu işlemi yapmak için yetkiniz yok!",201);
if (!Permission::can(user()->id, 'liman', 'id', 'server_services')) {
return respond("Bu işlemi yapmak için yetkiniz yok!", 201);
}
$services = [];
if (
......@@ -624,7 +631,11 @@ class OneController extends Controller
"title" => ["Servis Adı", "Aciklamasi", "Durumu"],
"display" => ["name", "description", "status"],
"menu" => [
"Baslat" => [
"Detaylar" => [
"target" => "statusService",
"icon" => "fa-info-circle",
],
"Başlat" => [
"target" => "startService",
"icon" => "fa-play",
],
......@@ -632,7 +643,7 @@ class OneController extends Controller
"target" => "stopService",
"icon" => "fa-stop",
],
"Yeniden Baslat" => [
"Yeniden Başlat" => [
"target" => "restartService",
"icon" => "fa-sync-alt",
],
......@@ -642,76 +653,98 @@ class OneController extends Controller
public function getLogs()
{
if(!Permission::can(user()->id,'liman','id','view_logs')){
return respond("Sunucu Günlük Kayıtlarını görüntülemek için yetkiniz yok",201);
if (!Permission::can(user()->id, 'liman', 'id', 'view_logs')) {
return respond(
"Sunucu Günlük Kayıtlarını görüntülemek için yetkiniz yok",
201
);
}
$page = request('page') * 10;
$query = request('query') ? request('query') : "";
$server_id = request('server_id');
$count = intval(trim(`grep --text EXTENSION_RENDER_PAGE /liman/logs/liman.log | grep '"display":"true"'| grep '$query' | grep $server_id | wc -l`));
$count = intval(
trim(
`grep --text EXTENSION_RENDER_PAGE /liman/logs/liman.log | grep '"display":"true"'| grep '$query' | grep $server_id | wc -l`
)
);
$head = $page > $count ? $count % 10 : 10;
$data = trim(`grep --text EXTENSION_RENDER_PAGE /liman/logs/liman.log | grep '"display":"true"'| grep '$query' | grep $server_id | tail -$page | head -$head | tac`);
$data = trim(
`grep --text EXTENSION_RENDER_PAGE /liman/logs/liman.log | grep '"display":"true"'| grep '$query' | grep $server_id | tail -$page | head -$head | tac`
);
$clean = [];
$knownUsers = [];
$knownExtensions = [];
if($data == ""){
if ($data == "") {
return respond([
"table" => "Bu aramaya göre bir sonuç bulunamadı."
"table" => "Bu aramaya göre bir sonuç bulunamadı.",
]);
}
foreach(explode("\n",$data) as $row){
foreach (explode("\n", $data) as $row) {
$dateEndPos = strposX($row, " ", 2);
$date = substr($row,1,$dateEndPos -2);
$json = substr($row,strpos($row,"{"));
$parsed = json_decode($json,true);
$date = substr($row, 1, $dateEndPos - 2);
$json = substr($row, strpos($row, "{"));
$parsed = json_decode($json, true);
$parsed["date"] = $date;
if(!array_key_exists($parsed["extension_id"],$knownExtensions)){
if (!array_key_exists($parsed["extension_id"], $knownExtensions)) {
$extension = Extension::find($parsed["extension_id"]);
if($extension){
$knownExtensions[$parsed["extension_id"]] = $extension->display_name;
}else{
$knownExtensions[$parsed["extension_id"]] = $parsed["extension_id"];
if ($extension) {
$knownExtensions[$parsed["extension_id"]] =
$extension->display_name;
} else {
$knownExtensions[$parsed["extension_id"]] =
$parsed["extension_id"];
}
}
$parsed["extension_id"] = $knownExtensions[$parsed["extension_id"]];
if(!array_key_exists("log_id",$parsed)){
if (!array_key_exists("log_id", $parsed)) {
$parsed["log_id"] = null;
}
if(!array_key_exists($parsed["user_id"],$knownUsers)){
if (!array_key_exists($parsed["user_id"], $knownUsers)) {
$user = User::find($parsed["user_id"]);
if($user){
if ($user) {
$knownUsers[$parsed["user_id"]] = $user->name;
}else{
} else {
$knownUsers[$parsed["user_id"]] = $parsed["user_id"];
}
}
$parsed["user_id"] = $knownUsers[$parsed["user_id"]];
array_push($clean,$parsed);
array_push($clean, $parsed);
}
$table = view('table',[
$table = view('table', [
"value" => (array) $clean,
"startingNumber" => (intval(request('page')) - 1) * 10,
"title" => ["Eklenti", "Fonksiyon", "Kullanıcı","İşlem Tarihi", "*hidden*"],
"display" => ["extension_id", "view", "user_id","date","log_id:id"],
"onclick" => "getLogDetails"
"title" => [
"Eklenti",
"Fonksiyon",
"Kullanıcı",
"İşlem Tarihi",
"*hidden*",
],
"display" => [
"extension_id",
"view",
"user_id",
"date",
"log_id:id",
],
"onclick" => "getLogDetails",
])->render();
$pagination = view('pagination',[
$pagination = view('pagination', [
"current" => request('page') ? intval(request('page')) : 1,
"count" => floor($count / 10) + 1,
"onclick" => "getLogs"
"onclick" => "getLogs",
])->render();
return respond([
"table" => $table . "<br>" . $pagination
"table" => $table . "<br>" . $pagination,
]);
}
......@@ -719,18 +752,18 @@ class OneController extends Controller
{
$query = request('log_id');
$data = trim(`grep '$query' /liman/logs/extension.log`);
if($data == ""){
return respond("Bu loga ait detay bulunamadı",201);
if ($data == "") {
return respond("Bu loga ait detay bulunamadı", 201);
}
$logs = [];
foreach(explode("\n",$data) as $row){
foreach (explode("\n", $data) as $row) {
$dateEndPos = strposX($row, " ", 2);
$date = substr($row,1,$dateEndPos -2);
$json = substr($row,strpos($row,"{"));
$parsed = json_decode($json,true);
$date = substr($row, 1, $dateEndPos - 2);
$json = substr($row, strpos($row, "{"));
$parsed = json_decode($json, true);
$parsed["title"] = base64_decode($parsed["title"]);
$parsed["message"] = base64_decode($parsed["message"]);
array_push($logs,$parsed);
array_push($logs, $parsed);
}
return respond($logs);
......@@ -749,8 +782,8 @@ class OneController extends Controller
basename($package) .
".txt\" 2>&1 & disown && echo \$!'"
);
system_log(7,"Paket Güncelleme",[
'package_name' => request("package_name")
system_log(7, "Paket Güncelleme", [
'package_name' => request("package_name"),
]);
} elseif (server()->type == "windows_powershell") {
$raw = "";
......@@ -807,8 +840,8 @@ class OneController extends Controller
($mode == "update" && $output == "0") ||
($mode == "install" && $output != "0")
) {
system_log(7,"Paket Güncelleme Başarılı",[
'package_name' => request("package_name")
system_log(7, "Paket Güncelleme Başarılı", [
'package_name' => request("package_name"),
]);
return respond([
"status" => __(
......@@ -818,8 +851,8 @@ class OneController extends Controller
"output" => trim($command_output),
]);
} else {
system_log(7,"Paket Güncelleme Başarısız",[
'package_name' => request("package_name")
system_log(7, "Paket Güncelleme Başarısız", [
'package_name' => request("package_name"),
]);
return respond([
"status" => __(":package_name paketi kurulamadı.", [
......@@ -1116,6 +1149,23 @@ class OneController extends Controller
return respond("Servis Yeniden Başlatıldı", 200);
}
public function statusService()
{
if (
server()->type == "linux_ssh" ||
server()->type == "linux_certificate"
) {
$command = sudo() . "systemctl status " . request('name');
} else {
return respond(
"Windows Sunucularda yalnızca servis durumu görüntülenmektedir.",
201
);
}
$output = server()->run($command);
return respond($output, 200);
}
public function getOpenPorts()
{
if (
......
......@@ -169,7 +169,6 @@ Route::group(['middleware' => ['server']], function () {
'Server\OneController@getLogs'
)->name('server_get_logs');
Route::post(
'/sunucu/gunluk_kayitlari_detay',
'Server\OneController@getLogDetails'
......@@ -203,6 +202,11 @@ Route::group(['middleware' => ['server']], function () {
'Server\OneController@restartService'
)->name('server_restart_service');
Route::post(
'/sunucu/servis/durum',
'Server\OneController@statusService'
)->name('server_service_status');
Route::post(
'/sunucu/acikPortlar',
'Server\OneController@getOpenPorts'
......
......@@ -191,8 +191,11 @@
$key . ":" . $parameter["type"];
}
}
$arr[$extension->display_name . ":" . $extension->id] =
"extension_id:hidden";
$arr[
$extension->display_name .
":" .
$extension->id
] = "extension_id:hidden";
$input_extensions[] = [
"name" => $extension->display_name,
"id" => $extension->id,
......@@ -392,7 +395,7 @@
@include('modal',[
"id"=>"delete_extensions",
"title" => "Eklentileri Sil",
"text" => "Secili eklentileri silmek istediginize emin misiniz?",
"text" => "Seçili eklentileri silmek istediğinize emin misiniz?",
"type" => "danger",
"onsubmit" => "removeExtensionFunc",
"submit_text" => "Eklentileri Sil"
......@@ -453,21 +456,21 @@
@include('modal',[
"id"=>"startService",
"title" => "Servisi Baslat",
"text" => "Secili servisi baslatmak istediginize emin misiniz?",
"title" => "Servisi Başlat",
"text" => "Seçili servisi başlatmak istediğinize emin misiniz?",
"type" => "danger",
"next" => "reload",
"inputs" => [
"name:-" => "name:hidden",
],
"url" => route('server_start_service'),
"submit_text" => "Servisi Baslat"
"submit_text" => "Servisi Başlat"
])
@include('modal',[
"id"=>"stopService",
"title" => "Servisi Durdur",
"text" => "Secili servisi durdurmak istediginize emin misiniz?",
"text" => "Seçili servisi durdurmak istediğinize emin misiniz?",
"type" => "danger",
"next" => "reload",
"inputs" => [
......@@ -479,15 +482,15 @@
@include('modal',[
"id"=>"restartService",
"title" => "Servisi Yeniden Baslat",
"text" => "Secili servisi yeniden baslatmak istediginize emin misiniz?",
"title" => "Servisi Yeniden Başlat",
"text" => "Seçili servisi yeniden başlatmak istediğinize emin misiniz?",
"type" => "danger",
"next" => "reload",
"inputs" => [
"name:-" => "name:hidden",
],
"url" => route('server_restart_service'),
"submit_text" => "Servisi Yeniden Baslat"
"submit_text" => "Servisi Yeniden Başlat"
])
@include('modal',[
......@@ -570,6 +573,13 @@
</div>
@endcomponent
@component('modal-component',[
"id" => "serviceStatusModal",
"title" => "Servis Durumu"
])
<pre id="serviceStatusWrapper"></pre>
@endcomponent
@component('modal-component',[
"id"=>"logDetailModal",
"title" => "Log Detayı"
......@@ -890,6 +900,24 @@
})
}
function statusService(element) {
let name = element.querySelector('#name').innerHTML;
showSwal('{{__("Okunuyor...")}}','info');
let form = new FormData();
form.append('name',name);
request('{{route('server_service_status')}}', form, function (response) {
let json = JSON.parse(response);
$("#serviceStatusWrapper").html(json.message);
$("#serviceStatusModal").modal('show');
setTimeout(function () {
Swal.close();
}, 1500);
}, function(response){
let error = JSON.parse(response);
showSwal(error.message,'error',2000);
})
}
$("#logQueryFilter").on('keyup', function (e) {
if (e.keyCode === 13) {
getLogs();
......
1.0.12
\ No newline at end of file
1.0.13
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment