EDEX Basic Commands
These steps should be run as user awips with sudo. Switch to the user by running su - awips
.
NSF Unidata's EDEX install also comes with a simple edex
program that can help execute basic EDEX utilities. The most basic of the commands are the following:
To start all EDEX services:
edex start
To stop all EDEX services:
edex stop
Service and Boot Settings
The main EDEX services are now stopped/started using systemd (systemctl
). The services that used to be /etc/init.d/, have been removed starting in v23.4.1 (Redhat/Rocky8). Additionally, the each edex_camel service needs to be started manually. The services below are set to start up on boot.
To manually start, stop, and restart:
systemctl start postgres@awips
systemctl start httpd-pypies
systemctl start qpidd
systemctl start edex_camel@ingest
systemctl start edex_camel@ingestGrib
systemctl start edex_camel@request
The last service, edex_ldm
, does not run at boot to prevent filling up disk space if EDEX is not running:
service edex_ldm start
All of these services are started and stopped by the single program: edex
as mentioned above.
LDM Troubleshooting
If the EDEX machine is shut down abruptly, when restarted, it should start up the processes mentioned above. If sudo service edex_ldm start
does not start up LDM smoothly, please try these steps:
All of the following commands should be run as user awips and the service
commands may need to be run with sudo
.
-
Run
sudo service edex_ldm start
orldmadmin start
and recieve this message:ldmadmin start start_ldm(): PID-file "/awips2/ldm/ldmd.pid" exists. Verify that all is well and then execute "ldmadmin clean" to remove the PID-file.
-
Run
ldmadmin clean
andsudo service edex_ldm start
and receive this error:ldmadmin clean sudo service edex_ldm start Checking the product-queue... The writer-counter of the product-queue isn't zero. Either a process has the product-queue open for writing or the queue might be corrupt. Terminate the process and recheck or use pqcat -l- -s -q /awips2/ldm/var/queues/ldm.pq && pqcheck -F -q /awips2/ldm/var/queues/ldm.pq to validate the queue and set the writer-counter to zero. LDM not started
-
To resolve the above, run:
pqcat -l- -s -q /awips2/ldm/var/queues/ldm.pq && pqcheck -F -q /awips2/ldm/var/queues/ldm.pq ldmadmin delqueue ldmadmin mkqueue sudo service edex_ldm start
EDEX Commands
NSF Unidata's version of EDEX installs with a helpful edex
script that can be used for basic EDEX tasks.
edex start
edex start
Starting EDEX PostgreSQL: [ OK ]
Starting httpd: [ OK ]
Starting QPID [ OK ]
Starting EDEX Camel (request):
Starting EDEX Camel (ingest):
Starting EDEX Camel (ingestGrib):
Starting AWIPS LDM:The product-queue is OK.
...
edex start base
To start all EDEX services except the LDM:
edex start base
edex stop
edex stop
Stopping EDEX Camel (request):
Stopping EDEX Camel (ingest):
Stopping EDEX Camel (ingestGrib):
Stopping QPID [ OK ]
Stopping httpd: [ OK ]
Stopping EDEX PostgreSQL: [ OK ]
Stopping AWIPS LDM:Stopping the LDM server...
...
edex setup
edex setup
[edex] EDEX IP and Hostname Setup
Checking /awips2/database/data/pg_hba.conf [OK]
Checking /awips2/edex/bin/setup.env [OK]
[edit] Hostname edex.unidata.ucar.edu added to /awips2/ldm/etc/ldmd.conf
[done]
This command configures and/or confirms that the EDEX hostname and IP address definitions exist (edex setup
is run by edex start
).
Note: If your EDEX server is running but you see the message "Connectivity Error: Unable to validate localization preferences" in CAVE, it may mean that the domain name defined in /awips2/edex/bin/setup.env can not be resolved from outside the server. Some machines have different internally-resolved and externally-resolved domain names (cloud-based especially). The name defined in setup.env must be externally-resolvable.
edex log
edex log
[edex] EDEX Log Viewer
:: No log specified - Defaulting to ingest log
:: Viewing /awips2/edex/logs/edex-ingest-20151209.log. Press CTRL+C to exit
INFO [Ingest.binlightning-1] /awips2/data_store/SFPA42_KWBC_091833_38031177.2015120918 processed in: 0.0050 (sec) Latency: 0.0550 (sec)
INFO [Ingest.obs-1] /awips2/data_store/metar/SAIN31_VABB_091830_131392869.2015120918 processed in: 0.0810 (sec) Latency: 0.1800 (sec)
More edex logs...
edex log grib
edex log request
edex log ldm
edex log radar
edex log satellite
edex log text
edex qpid
Shows a list of the the Qpid message queue to monitor data ingest (messages in vs messages out, i.e. decoded):
[centos@js-156-89 ~]$ edex qpid
Queues
queue dur excl msg msgIn msgOut bytes bytesIn bytesOut cons bind
================================================================================================
external.dropbox Y Y 11 1.26m 1.26m 621 79.6m 79.6m 5 1
Ingest.Radar Y Y 4 589k 589k 184 27.1m 27.1m 5 1
Ingest.GribDecode Y Y 0 370k 370k 0 103m 103m 11 1
Ingest.GribSplit Y Y 2 361k 361k 201 31.9m 31.9m 5 1
Ingest.modelsounding Y Y 0 100k 100k 0 6.54m 6.54m 1 1
Ingest.Text Y Y 0 97.8k 97.8k 0 5.25m 5.25m 2 1
Ingest.GOESR Y Y 0 83.4k 83.4k 0 6.92m 6.92m 2 1
Ingest.obs Y Y 0 46.2k 46.2k 0 2.40m 2.40m 1 1
Grid.PostProcess Y Y 0 20.2k 20.2k 0 6.68m 6.68m 1 1
Ingest.sfcobs Y Y 0 10.5k 10.5k 0 577k 577k 1 1
Ingest.goessounding Y Y 0 6.68k 6.68k 0 427k 427k 1 1
Ingest.Glm Y Y 0 5.61k 5.61k 0 581k 581k 1 1
Ingest.aww Y Y 0 3.32k 3.32k 0 182k 182k 1 1
edex users
To see a list of clients connecting to your EDEX server, use the edex users [YYYYMMDD]
command, where [YYYYMMDD]
is the optional date string.
edex users
-- EDEX Users 20241022 --
angel@192.168.1.158
awips@192.168.1.1
WeatherCenter@10.196.1.34
----------
3 users today!
edex purge
To view any stuck purge jobs in PortgreSQL (a rare but serious problem if your disk fills up). The solution to this is to run edex purge reset
.