Esempio n. 1
0
 private QlikSenseMachineInfo[] GetQlikSenseMachineInfos(SenseApiCollector senseApi, SenseApiSupport senseApiSupport, SenseEnums statusEnums)
 {
     try
     {
         return(senseApi.GetQlikSenseMachineInfos(senseApiSupport, statusEnums).ToArray());
     }
     catch (Exception e)
     {
         _logger.Add("Failed accessing Sense machine Infos", e);
         throw;
     }
 }
Esempio n. 2
0
        private async Task <List <Task> > GetTasksForFullRun(SenseConnectDto dto)
        {
            var senseApi = new SenseApiCollector(_logger);
            var taskList = new List <Task>();

            _logger.Add("Sense api connected");
            SenseEnums statusEnums = null;

            QlikSenseMachineInfo[] qlikSenseMachineInfos = null;

            await Task.Run(() => { statusEnums = new SenseEnums(dto.SenseApiSupport); }).ConfigureAwait(false);

            _logger.Add("Sense Machine infos collected");

            var archivedLogsLocation = string.Empty;

            if (statusEnums == null)
            {
                throw new Exception("Failed accessing sense");
            }
            await Task.Run(() => qlikSenseMachineInfos = GetQlikSenseMachineInfos(senseApi, dto.SenseApiSupport, statusEnums)).ConfigureAwait(false);

            try
            {
                archivedLogsLocation = senseApi.GetQlikSenseArchivedFolderLocation(dto.SenseApiSupport);
                _logger.Add($"Accessing archived logs at {archivedLogsLocation}.");
                if (!_filesystem.DirectoryExists(archivedLogsLocation))
                {
                    archivedLogsLocation = PathToArchivedLogsDlg.Invoke(archivedLogsLocation);
                }
            }
            catch (Exception ex)
            {
                _logger.Add("Failed retreiving Archived folder location from API " + ex);
            }

            taskList.Add(Task.Run(async() =>
            {
                if (ServiceVariables.AllowSenseInfo)
                {
                    try
                    {
                        var nodeCount = qlikSenseMachineInfos?.Length ?? 0;
                        _notify($"Collecting Information from {nodeCount} Qlik Sense {(nodeCount > 1 ? "nodes" : "node")}.", MessageLevels.Animate, "SenseInfo");
                        _logger.Add($"Running CommandLineRemoteTasks.");
                        await RunCommandLineRemoteTasks(qlikSenseMachineInfos).ConfigureAwait(false);
                        _logger.Add($"Running GettingAllSettingsFiles.");
                        await RunGettingAllSettingsFiles(qlikSenseMachineInfos).ConfigureAwait(false);

                        _notify("Collecting Qlik Sense Information.", MessageLevels.Animate, "SenseInfo");
                        _logger.Add($"Running Get all api info.");
                        _collectorHelper.WriteContentToFile(qlikSenseMachineInfos, "qlikSenseMachineInfo");
                        _collectorHelper.RunAction(() => senseApi.GetQlikSenseServiceInfos(dto.SenseApiSupport, statusEnums).ToArray(), "qlikSenseServiceInfo");
                        _collectorHelper.RunAction(() => senseApi.GetQrsAbout(dto.SenseApiSupport, statusEnums), "QrsAbout");
                        _collectorHelper.RunAction(() => senseApi.ExecuteCalAgent(dto.SenseApiSupport, statusEnums), "CalInfo");
                        _collectorHelper.RunAction(() => senseApi.ExecuteLicenseAgent(dto.SenseApiSupport, statusEnums), "LicenseAgent");
                        _collectorHelper.RunAction(() => senseApi.GetAboutSystemInfo(dto.SenseApiSupport, statusEnums), "AboutSystemInfo");
                        _collectorHelper.RunAction(() => senseApi.GetAboutComponents(dto.SenseApiSupport, statusEnums), "AboutComponents");
                        _collectorHelper.RunAction(() => senseApi.GetQrsDataconnections(dto.SenseApiSupport, statusEnums), "DataConnections");
                        _collectorHelper.RunAction(() => senseApi.GetQrsServiceCluster(dto.SenseApiSupport, statusEnums), "ServiceCluster");
                        _collectorHelper.RunAction(() => senseApi.GetQrsProxyService(dto.SenseApiSupport, statusEnums), "ProxyService");
                        _collectorHelper.RunAction(() => senseApi.GetQrsAppList(dto.SenseApiSupport, statusEnums), "AppList");
                        _collectorHelper.RunAction(() => senseApi.GetQrsDataConnections(dto.SenseApiSupport, statusEnums), "dataconnectionList");

                        _logger.Add($"Finished senseInfo");
                        _notify("Collected Qlik Sense Information.", MessageLevels.Ok, "SenseInfo");
                    }
                    catch (Exception e)
                    {
                        _logger.Add("Failed getting sense info", e);
                        _notify("Failed collecting Qlik Sense Information.", MessageLevels.Error, "SenseInfo");
                    }
                }
            }));
            var readerTaskHelper = new SenseLogReaderTasks(_logger, LogDirectorDone, _notify);

            if (ServiceVariables.AllowRemoteLogs)
            {
                taskList.Add(readerTaskHelper.ReadRemoteLogs(qlikSenseMachineInfos, ServiceVariables));
            }

            if (ServiceVariables.AllowArchivedLogs)
            {
                taskList.Add(readerTaskHelper.ReadArchivedLogs(archivedLogsLocation, ServiceVariables));
            }

            return(taskList);
        }