Hi Paul,
Thanks for providing this information, what worked for me was making the changes recommended for the server.properties file along with the changes to the settings.ini file.
Sincerely,
Dhruv Srinivas
srinivas1 at llnl.gov
From: Paul Sichta <psichta at pppl.gov>
Sent: Saturday, April 6, 2024 5:00 AM
To: Srinivas, Dhruv <srinivas1 at llnl.gov>
Cc: tech-talk at aps.anl.gov
Subject: Re: Alarm Handler Limitations
Hello Dhruv,
Regarding connecting a remote Phoebus to the alarm server, I also had difficulty getting this to work; here is what I did:
My alarm server was running kafka, zookeeper, and elasticsearch. The kafka serves the alarm panel and alarm tree UI on the phoebus, and the elasticsearch is needed for the phoebus alarm logger UI.
On the alarm server machine (epicsalmsrv), the kafka/config/server.properties file had these key lines:
auto.create.topics.enable=false
zookeeper.connect=localhost:2181
listeners=PLAINTEXT://0.0.0.0:9092 (I had a multi-network
machine so 0.0.0.0 listens for requests on all ethernet ports, localhost:9092 should work for a single ethernet system)
advertised.listeners=PLAINTEXT://epicsalmsrv:9092
On the alarm server machine, in /etc/elasticsearch/elasticsearch.yml:
xpack.security.enabled: false
I recall this setting wasn't present initially, but appears only after the elasticsearch service is started for the first time.
On the alarm server machine, in the alarm_logger.properties file used when starting the alarm-logger.sh, you may need these key settings:
alarm_topics=NSTX-U,Accelerator,CAMAC
es_host=localhost
es_port=9200
es_sniff=false
es_create_templates=true
bootstrap.servers=localhost:9092
On the remote phoebus, these were the key lines for alarms in my settings.ini file (I used three topics) :
org.phoebus.applications.alarm/config_name=NSTX-U
org.phoebus.applications.alarm/config_names=NSTX-U,CAMAC,Accelerator
org.phoebus.applications.alarm/server=epicsalmsrv:9092
# for the alarm logger
#obsolete var --- org.phoebus.applications.alarm.logging.ui/es_host=epicsalmsrv
Also, besides tech-talk I found some good information about these topics on the GIT website, searching the "Issues" .
I am currently working on creating an alarm server for our epics IOCs and I’ve been running into a few issues in the process.
To begin with, I’ve noticed that if I add a large number of alarms (~5000 or more), it causes the initial loading process to take a significant amount of time. Often on the order
of 30 minutes. I was wondering if this was expected behavior or if there are ways to reduce the load time.
Secondly, I’ve had issues connecting Phoebus to the alarm server. At the moment, I have Phoebus running on one machine and the alarm server running on another one due to various
limitations. I also have kafka and zookeeper running on the same machine as the alarm server and have verified that the CLI is functioning. I was hoping someone would know how to connect Phoebus to it, as I’ve been unable to find the port it should connect
to.
Sincerely,
Dhruv Srinivas
srinivas1 at llnl.gov
|