Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
externe my-Gekko Dashboards
#9
Hallo,

auch wenn das Projekt wohl sehr speziell und nicht für jedermann ist, gibt es trotzdem ein Update.  Smile 
Aufgrund Änderungen innerhalb meiner eigenen Infrastruktur, habe ich den Download nun direkt aus dem myGekko Verzeichnis meiner Netzwerkfreigabe durchgeführt. Außerdem betreibe ich nun selbst den SQL-Server zu Hause. Damit entfällt der Upload und der Download über das Internet und damit auch die Möglichkeit, nur bestimmte Dateien direkt zu übertragen (hat vorher meine NAS gemacht).

Daher musste ich aber dem Download-Package beibringen, dass nun nur noch bestimmte Dateien via FTP übertragen werden sollen. Eine sogenannte Filemask wurde implementiert, mit dem ich nun eingrenzen kann, dass Dateien einer bestimmten Benennung übermittelt werden.

.jpg   filemask.JPG (Größe: 11,07 KB / Downloads: 122)
Hier sieht man, dass nur noch Dateien übertragen werden, die aus dem aktuellen Jahr (2020) übertragen werden. Damit ist ein Jahreswechsel auch recht einfach gelöst, man ändert nur noch das Jahr und es würden alle neuen Daten übertragen werden.

Außerdem gibt es beim regelmäßigen Aufruf des Trendy Translator ein Problem, dass dieser in unregelmäßigen Intervallen hängen bleibt. Ich weis leider nicht, ob das am myGekko Trendy liegt, oder an der Systemumgebung selbst. Gelöst habe ich das innerhalb des SQL-Servers. Es gibt einen zusätzlichen Job, der die Ausführung prüft und sofern der Job länger als x Minuten läuft, wird dieser beendet und kann anschließend in seinem normalen Intervall neustarten. So ist sichergestellt, dass die Daten regelmäßig aktuell für die Grafana Auswertung zur Verfügung steht.

Code:
USE [msdb]
GO

/****** Object:  Job [jobControl]    Script Date: 03.06.2020 12:09:11 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object:  JobCategory [[Uncategorized (Local)]]    Script Date: 03.06.2020 12:09:11 ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END

DECLARE @jobId BINARY(16)
EXEC @ReturnCode =  msdb.dbo.sp_add_job @job_name=N'jobControl',
        @enabled=1,
        @notify_level_eventlog=0,
        @notify_level_email=0,
        @notify_level_netsend=0,
        @notify_level_page=0,
        @delete_level=0,
        @description=N'No description available.',
        @category_name=N'[Uncategorized (Local)]',
        @owner_login_name=N'WIN-JPAMM3FCFEK\Administrator', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object:  Step [Job Check/Cancel]    Script Date: 03.06.2020 12:09:11 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Job Check/Cancel',
        @step_id=1,
        @cmdexec_success_code=0,
        @on_success_action=1,
        @on_success_step_id=0,
        @on_fail_action=2,
        @on_fail_step_id=0,
        @retry_attempts=0,
        @retry_interval=0,
        @os_run_priority=0, @subsystem=N'TSQL',
        @command=N'declare @start_execution_date datetime
declare @DauerMax int = 15 -- 15 min
declare @JobName nvarchar(100) = ''myGekko''
declare @uni uniqueidentifier

SELECT top 1 @start_execution_date = sja.start_execution_date
FROM msdb.dbo.sysjobactivity AS sja
INNER JOIN msdb.dbo.sysjobs AS sj ON sja.job_id = sj.job_id
WHERE sja.start_execution_date IS NOT NULL
  AND sja.stop_execution_date IS NULL
  and sj.name = @JobName
  and sja.start_execution_date > ''20200522 00:00:00''
  order by sja.start_execution_date desc

if (datediff(minute, @start_execution_date, getdate()) > @DauerMax)
begin
    print ''Dauer überschritten, Job Stop''
    exec msdb..sp_stop_job @JobName
end

',
        @database_name=N'master',
        @flags=16
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'daily',
        @enabled=1,
        @freq_type=4,
        @freq_interval=1,
        @freq_subday_type=4,
        @freq_subday_interval=15,
        @freq_relative_interval=0,
        @freq_recurrence_factor=0,
        @active_start_date=20200522,
        @active_end_date=99991231,
        @active_start_time=0,
        @active_end_time=235959,
        @schedule_uid=N'7cf0d044-1855-45f2-8530-6a7b3c2ec94a'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
   IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
GO


Anbei die aktuelle Version 1.0.1 (Datei muss geladen und das "zip" entfernt werden). Danach kann man die einfach durch den Wizard installieren.

Viele Grüße
Frank


Angehängte Dateien
.zip   myGekkoV1.0.1.ispac.zip (Größe: 77,93 KB / Downloads: 2)


Nachrichten in diesem Thema
externe my-Gekko Dashboards - von Frank85 - 13.11.2019, 10:02
RE: externe my-Gekko Dashboards - von santos - 14.11.2019, 18:48
RE: externe my-Gekko Dashboards - von Benny - 16.11.2019, 00:42
RE: externe my-Gekko Dashboards - von Marco - 19.11.2019, 09:28
RE: externe my-Gekko Dashboards - von Frank85 - 22.11.2019, 15:30
RE: externe my-Gekko Dashboards - von rjud - 25.11.2019, 19:06
RE: externe my-Gekko Dashboards - von Frank85 - 26.11.2019, 21:33
RE: externe my-Gekko Dashboards - von Frank85 - 29.11.2019, 23:44
RE: externe my-Gekko Dashboards - von Frank85 - 03.06.2020, 12:11

Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
4 Gast/Gäste