Hi,
Can we write message in the messages.log file ?
Thanks
System administration refers to the management of one or more hardware and software systems.
Hi,
Can we write message in the messages.log file ?
Thanks
Temporary globals stored in the IRISTEMP/CACHETEMP databases are used when a process does not need to store data indefinitely, but requires the powerful performance of globals. The IRISTEMP/CACHETEMP databases are not journaled, so using temporary globals does not create journal files.
The system uses the IRISTEMP/CACHETEMP databases for temporary storage and are available to users for the same.
For more information about temporary globals and the IRISTEMP database, see the following document:
Temporary Globals and the IRISTEMP Database
When there's a performance issue, whether for all users on the system or a single process, the shortest path to understanding the root cause is usually to understand what the processes in question are spending their time doing. Are they mostly using CPU to dutifully march through their algorithm (for better or worse); or are they mostly reading database blocks from disk; or mostly waiting for something else, like LOCKs, ECP or database block collisions?
Tools to help answer the questions above have always been available in various forms.
There are two great WRC best practice articles Ensemble Orphaned Messages | InterSystems Developer Community | Best
and the delete helper post DeleteHelper - A Class to Help with Deleting Referenced Persistent Classes (intersystems.com)
that go into orphaned records and how to deal with orphans.
Here, we will introduce a sample code for registering and referencing task schedules.
①Sample of task schedule registration
*Create a task to execute do ^TEST every day at 1:00 am.
set task=##class(%SYS.Task).%New()
set task.Name="MyTask1"
set taskDescription="Execute ^xxx every day at 1:00 AM" // Optional
set task.NameSpace="USER"
set task.TimePeriod=0
set task.DailyFrequency=0
set task.DailyFrequencyTime=""
set task.DailyIncrement=""
set task.DailyStartTime=$ZTimeh("01:00:00")
set task.DailyEndTime=""
set task.TaskClass="%SYS.Task.RunLegacyTask"
set task.
I have created some example Ansible modules that add functionality above and beyond simply using the Ansible builtin Command or Shell modules to manage IRIS. You can use these as an inspiration for creating your own modules. My hope is that this will be the start of creating an IRIS community Ansible collection.
I found myself in the not-so-comfortable situation of working with a Linux system on which someone had accidentally disabled user access to the Linux shell. HealthConnect was running, servicing hundreds of interfaces. To resolve the access issue, though, we needed to bring the host down for the application of a fix.
Without the shell, the iris command is not available to control the instance, so we were faced with the potential of shutting down the server ungracefully. We wanted to avoid that if possible .
I have a few routines in ^rINDEX that are missing in ^ROUTINE. At least some of those routines lack a timestamp, probably Date and Time Modified in ^rINDEX. It causes D %RO crash when such a routine is referenced by a routine range, since "" is an illegal $ZDTH value.
Healthy entry (note the timestamp): ^rINDEX("ABC,"INT") = $lb("2021-06-15 15:08:38.846885",) ;The second argument is sometimes present and sometimes not, likely the routine size.
Unhealthy entry (note an empty timestamp): ^rINDEX("DEF,"INT") = $lb("",21)
Finally, a question, not only for this situation.
We are constantly running into issues where there are billions of Orphaned messages in our system that cause problems, and we have to manually run a cleanup to fix performance issues.
In the following article about orphaned messages... https://community.intersystems.com/post/ensemble-orphaned-messages it mentions either programmatically eliminating the Orphaned messages or using a Utility like Demo.Util.CleanupSet in ENSDEMO.
I have had it explained to me is basically all messages have to go somewhere, if they aren't then it creates orphaned
We recently moved from using the Private Web Server, to using an Apache/Web Gateway setup and moved towards using the built in LDAP functionality within IRIS. Since then, we have 1 user that uses VSCode (/api/atelier) heavily that continues to have issues signing into IRIS through VS Code and the /api/atelier extension.
I am trying to troubleshoot two issues..
We're looking to create a quick and simple test to see if all firewalls are open on 1972 between a linux based web server VM and a VM running InterSystems IRIS. Does anyone have any ideas for a quick command that can be run from UNIX console that will provide confirmation that traffic is able to get to 1972 on an IRIS machine?
BTW - I don't think it makes any difference but the IRIS machine is running Windows
Hi,
We have an HTTP business operation where the messages gets stuck and we had to recycle the operation to resume the processing. We are trying to work around this (for time being until we find the root cause) using below code which should recycle the component.
Set tSC = ##class(Ens.Director).EnableConfigItem(pConfigItemName,0,1)
Set tSC = ##class(Ens.Director).EnableConfigItem(pConfigItemName,1,1)
However, it did not make any difference. When we manually recycle the operation, it prompts for the force update and we have to force it down. So I tried including Set tSC=##class(Ens.Job).
Has anyone noticed weird behavior when upgrading to HealthShare Health Connect 2024.1?
Wednesday I upgraded our TEST environment from IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2022.1.4 (Build 812_0_22913U) [HealthConnect:3.5.0-1.m1] [HealthConnect:3.5.0-1.m1] to IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2024.1 (Build 267_2U) [HealthConnect:3.5.0-1.m1].
Some of our Business Processes have been throwing...
ERROR <Ens>ErrBPTerminated: Terminating BP EnterpriseDirDBWorkDayAppointmentBPL # due to error: ERROR #5002: ObjectScript error: <LIST>%SerializeObject+7
There are often questions surrounding the ideal Apache HTTPD Web Server configuration for HealthShare. The contents of this article will outline the initial recommended web server configuration for any HealthShare product.
As a starting point, Apache HTTPD version 2.4.x (64-bit) is recommended. Earlier versions such as 2.2.x are available, however version 2.2 is not recommended for performance and scalability of HealthShare.
If you want to run an OS executable file, command, or a program created within an InterSystems product when the InterSystems product starts, write the processing in the SYSTEM^%ZSTART routine. (The %ZSTART routine is created in the %SYS namespace).
Before you write any code in SYSTEM^%ZSTART, make sure that it works properly under all conditions.
If the ^%ZSTART routine is written incorrectly, or if it is written correctly but the command does not return a response or an error occurs during processing, InterSystems products may not be able to start.
Hello community,
I guess this one will be easy to answer, but trial and error took me too long meanwhile, so I thought it might better to ask the experts.
I would like to get rid of %all rights for routine use at our productive environment. The things, that we have to do in routine are:
- Open productions and start / stop components
- Read messages and message logs
- Search and resend messages
- Deploy new Applications
- Edit settings and default settings
- Read database tables
All in all, it is quite equal to everything but System Administration.
Let's say I have an InterSystems IRIS instance with 6 Namespaces:
And the number of Foo# namespaces can increase at any time for a number of reasons. I need to ensure that they all have identical configuration globals stored in a DB called CONFIG, so I do the following in my configuration file:
[Map.%ALL]
Global_SYS=%DEFAULTDB
Global_SYS("CommonConfig")=CONFIG
Global_SYS("CommonOtherSettings")=CONFIG
Global_SourceControl=CONFIG
This will ensure that all Namespace see the exact same settings when they reference ^SYS("CommonConfig") or ^SourceControl, etc.
Now.
ISC Developers, I 👑 you.
Hi
I've started seeing the following alerts in the message log of my Primary HealthConnect server
05/23/24-11:20:09:718 (6732) 2 [Utility.Event] Process 7248 generated 3 alerts in 10 seconds. Suspending alert notifications for this process.
Process 6732 corresponds to
| EXECUTION DETAILS | |||
|
| Last Global Reference: | ||ISC.BackupDBArray("USER") |
| Routine: | SYS.VSSWriter.1 |
| Location: | VSS Writer |
| Source Location: | +33^SYS.VSSWriter. |
Hi. In a project I'm involved in I need to connect to a MongoDB database, read some data and store it in some internal table.
I'm wondering what's the best way to connect to MongoDB, as it seams to me there's no native Intersystems adapter.
Did anyone have handled such a scenario?
Thank you. Best regards
Davide Cecchetto
Hi all, I need an advice (or a guide):
In an EC2 environment running RHEL, which memory management model makes sense to use. Standard Huge Pages or Transparent Huge Pages?
If you change the system date, InterSystems Data Platform (IRIS) may not start properly.
IRIS performs a journal file deletion process when it starts, but if the system date is changed, a journal file with an incorrect date is created. During journal file deletion processing, the process proceeds by referring to the information of the previous and subsequent files recorded inside the journal file.
I am trying to setup a OAuth2.0 configuration to connect to a server within our Network using OAuth2.0. My previous attempt worked, however forgot to capture the steps before I had whipped the System so please bear with me.
I have an SSL/TLS Client configuration setup as we use the setup for our LDAP configuration.
When I go through the following steps within the Terminal, I am getting the following error...
%SYS>kill ^ISCLOG
%SYS>set scope="openid fhirUser"
%SYS>set jwt = ##class(%SYS.OAuth2.Authorization).GetAccessTokenJWT("EpicFHIRPOC","1fd8f5cc-18ee-4eff-990d-4606037b932e",scopeWith System Alerting and Monitoring (SAM) being deprecated in the near future..
Just trying to get ideas floating around of what we might need to start looking at to satisfy IT leadership.
Thanks
Scott
InterSystems IRIS family has a nice utility ^SystemPerformance (as known as ^pButtons in Caché and Ensemble) which outputs the database performance information into a readable HTML file. When you run ^SystemPerformance on IRIS for Windows, a HTML file is created where both our own performance log mgstat and Windows performance log are included.
If the journal file is too large to be searched or filtered using the Management Portal, you can refer to it using the following two methods.
① How to use the ^JRNDUMP utility
② How to reference it in a program
================================================== ==========
① Using the ^JRNDUMP utility. For example, if you want to select all records in the journal file that include the global reference ^ABC, do the following:
*Please execute all commands below in the %SYS namespace.
DO SELECT^JRNDUMP("C:\MyCache\mgr\journal\YYYYMMDD.
The Web/CSP Gateway management page is typically configured so that it cannot be accessed from client machines.
To access from any client, do the following:
In the Business Operation, how do we get to know which source is currently sending primary request if there are multiple requests coming at the same time?
Global mappings can be registered using the system class Config.MapGlobals.
The method to globally map ^Sample.PersonD in a database SAMPLES other than the default database from the namespace USER is as follows (example executed in a terminal).
USER>zn "%SYS"
%SYS>set ns="USER"
%SYS>set glo="Sample.PersonD"
%SYS>set vals("Database")="SAMPLES"
%SYS>set st=##class (Config.MapGlobals).Create(ns,glo,.vals)The third argument of the Create() method of the Config.MapGlobals class is passed by reference, so specify it by appending a period (.) to the variable name.
To remove InterSystems products installed on your Windows system, use Add or Remove Programs in Control Panel (in Windows 10, select Apps from Windows Settings).
Since we will be making changes to the system, you will need to log in as a user with administrator privileges.
1) Log in to the system as an administrator.
2) From the system tray, exit the launcher of the InterSystems product instance you want to uninstall (click launcher → exit).