Download presentation
Presentation is loading. Please wait.
Published byJacob Porter Modified over 9 years ago
1
Reliability/ Secure IOC / Outlook M. Clausen / DESY 1 CA-Put Logging BurtSave Warm Reboot Matthias Clausen DESY/ MKS
2
Reliability/ Secure IOC / Outlook M. Clausen / DESY 2 Requirements u Log operator actions –log any type of CA puts to IOC »do not log at application level but on the IOC –do not include IOC / IOC communications –deal with slider movements ( lot of puts) –write operator changes to log file –use logging for warm reboot
3
Reliability/ Secure IOC / Outlook M. Clausen / DESY 3 Implementation - on IOC u Use CA-security implementation as a hook forCA-put loging –Currently enabling/ disablimg CA-Security will also en./dis. CA-put logging –From CA-Security module a message queue is used for communication with additional programs »write changed value to specified (string) record »write logging string by means of the iocLogClient to the UNIX host ( implementation not finished)
4
Reliability/ Secure IOC / Outlook M. Clausen / DESY 4 Logging environment variables CA Put Logging environment variables (IOC side). u EPICS_AS_PUT_LOG_MQ - environment variable defining message queue name to register CA put requests. It must be set to not an empty string. If this variable is not defined or its value is an empty string the registering of CA puts and saving them into message queue will be disabled. u EPICS_AS_PUT_LOG_PV - environment variable defining the PV name where CA put logging will be done (additionally to logging into UNIX file). It is recommended to use for these purposes RSL-record type [2]. If this variable is not defined or its value is empty logging into PV will be disabled. u EPICS_IOC_CA_PUT_LOG_INET - environment variable defining the Internet address of Log server (on UNIX side). If this variable is not defined or ist value is empty the Internet address for standard IOC Log client is used (it must be defined in EPICS_IOC_LOG_INET environment variable, or by default is taken from EPICS configuration file CONFIG_SITE_ENV in directory base/config/) u EPICS_IOC_CA_PUT_LOG_PORT - environment variable defining the port number of Log server (on UNIX side). By default the port number 7010 is used.
5
Reliability/ Secure IOC / Outlook M. Clausen / DESY 5 Initialize CA-Put Logging Initialization and start of CA Put Logging u If Access Security is enabled and all environment variables described above are properly set registering of CA puts in message queue will be enabled automatically during the startup. Two other components of CA Put Logging (MQLogTask and iocCAPutLogClient) should be initialized during IOC startup. Two commands should be added in the startup file after iocInit command: 1.iocCAPutLogInit - command to initialize iocCAPutLogClient; 2.MQLogTaskStart - command to start MQLogTask
6
Reliability/ Secure IOC / Outlook M. Clausen / DESY 6 Disable CA-Put Logging CA Put Logging disabling in run time. u In order to disable CA Put Logging into PV one should execute following sequence of actions: – 1.Terminate MQLogTask with MQLogTaskStop shell command; – 2.Set EPICS_AS_PUT_LOG_PV environment variable to empy string by typing: putenv("EPICS_AS_PUT_LOG_PV="); – 3.Start again MQLogTask with MQLogTaskStart shell command.
7
Reliability/ Secure IOC / Outlook M. Clausen / DESY 7 Message Handling on IOC
8
Reliability/ Secure IOC / Outlook M. Clausen / DESY 8 Implementation - on UNIX u burtSave –monitor one or more (string) records the value of the string is equal to: “TheRecordNameOfTheChangedValue # NewValue” ( since the format is a burt format is the number of values) –create burt snapshot file with the current new recordName / Value fields for each IOC that is monitored –save snap file every seconds –monitor a second (binary) record –write dated snap file if value of binary record is true and reset the value to false. In addition write actual system time to specified string record: Last stored at... time
9
Reliability/ Secure IOC / Outlook M. Clausen / DESY 9 BurtSave Config File ###comment ##comment 1.0version #comment :caPutMsgLog_rslstring record with recordName / Value :setRebootSav_bibinary record to trigger new dated snap file :last_burt_strstring record “last saved at “ ttfKryoPSIOC - name mhe-iaIOC - name testPSC IOC - name
10
Reliability/ Secure IOC / Outlook M. Clausen / DESY 1010 BurtSave Processing
11
Reliability/ Secure IOC / Outlook M. Clausen / DESY 11 Warm Reboot u Snap file contains ‘current’ status of all changes u Data are max. old u Setting binary record before reboot will write all current data to disk u Limitation: u => “recordName # value” - string may not exceed 40 chars. (CA limitation!)
12
Reliability/ Secure IOC / Outlook M. Clausen / DESY 1212 Secure burtSave ( locking of processes)
13
Reliability/ Secure IOC / Outlook M. Clausen / DESY 1313 Implementation of Log File - on UNIX (still under development) u Special iocLogServer u read config file –special log file for each IOC –special methods to deal with ‘file full’ example: epicsVME40.desy.de { basic { logfile=/applic/log/system/ttfkryoCB; limit=100000; mail=krista-l@desy.de }
14
Reliability/ Secure IOC / Outlook M. Clausen / DESY 1414 Status: u CA-Put logging on IOC through message queue –to string record –to dedicated task for filtering and writing to UNIX »writing to UNIX u burtSave on UNIX to log all current values –40 chars limitation u iocLogServer –needs testing u bundled version as soon as iocLogClient done
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.