Beyond the tools: reporting, integration, and automation

When we say that replicationEZ is a powerful multi-solution for all aspects of replication, that encompasses a lot. Thorough documentation and reporting are essential aspects of your work, and when talking about something as important as replication, reporting is key. And when you work in replicationEZ you work in a feature-rich interface that is a tool in and of itself.

All data is directly available to copy/paste, or easily export to a variety of output formats. And like the rest of our EZ Suite tools, replicationEZ offers tight integration between the other tools in the suite and your native clients, as well as a full automation language that lets you multiply the scope of your task work.

Learn about replicationEZ's essential extras: from quick reporting, to integration with your environment, to Ytria’s adaptive API.

Make data reports easily

Make data reports easily

Export data quickly and directly from any replicationEZ grid. Create reports in HTML, Excel, XML, and CSV, or simply copy/paste your data from the grid.

Integrate your workflow across EZ Suite Tools and your native clients

Integrate your workflow across EZ Suite Tools and your native clients

Leverage built-in bridges between replicationEZ and other EZ Suite products, as well as your native Designer client.

Expand your tasks through powerful automation functions

Expand your tasks through powerful automation functions

Extend replicationEZ's scope through your own scripts that let you repeat functions across an even larger scale. You can even use the command line integration to create push-button, multi-step process launchers.

Easy Reporting

Make data reports easily

No matter how you approach your work in replicationEZ, you'll have the most detailed and context-rich replication information available. And we make sure that you can report on everything you find. Exporting your data into a full report is always as easy as a copy/paste, or in the case of the powerful Replication History and Connection Analyzer charts, only a couple clicks.

Produce detailed reports in multiple formats.

Ranging from straightforward copy/paste actions directly from the grid into a spreadsheet, to exports using one of the many output options mentioned above, reporting is an adaptable experience in replicationEZ.

xlsx

Excel files

csv

CSV

html

HTML

xml

XML

Full Integration: Notes, Domino, and EZ Suite

Integrate your workflow across EZ Suite Tools and your native clients

Keep your workflow advancing and benefit from some great feature bridges between replicationEZ and other EZ Suite products to utilize their specific powers and expand the scope of your operations.

Bridge to other Ytria products directly from replicationEZ to save time and make use of specific EZ Suite functionality.

Launch replicationEZ in one click from the Ytria toolbar.

Process a selection of servers or databases with automation scripts for other EZ Suite tools.

Conduct full server scans in aclEZ, databaseEZ, or agentEZ in only a couple clicks.

Scan entire servers for conflicts, and then drill down to the document level in scanEZ in only a few clicks.

Open the current server in consoleEZ.

Extensive Automation

Expand your tasks through powerful automation functions

replicationEZ brings the analysis of your replication situation to all-new levels by giving you the power to oversee the big picture regarding all databases on a server and ALL their replicas over your entire network, all at once.

But replicationEZ can also be thought of as a sort of "multi-sever automation launch pad." Using the ever-expanding automation capabilities.

What's more, the new Automation Recorder lets you record flexYgrid actions to files that can either be replayed as is, or used as a great starting script to build upon and use across multiple servers.

Create macros, and automate tasks from the routine to the complex through the Ytria API.

Compare agents across multiple databases and all their replicas.

Load and report replication histories for multiple databases—clear them, too.

Export full reports of database contents with the click of a button.

Generate replication history charts for an unlimited amount of databases.

Check out these ready-made scripts!


Script

Scan multiple servers for invalid ACL entries, and export a report of your findings to an Excel sheet, all in only a few clicks.

Save this script just as you would any other. Then launch this script across a selection of loaded servers by selecting 'Execute Automation File on…', option from replicationEZ's Server menu. Select aclEZ from the list, and then select the servers you want to analyze and click 'OK'.


<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ytriaAutomation Application="aclEZ" ApplicationVersion="16.5">
<!--The next line will ensure that the script will continue if an error is encountered.-->
<OnError continue="True"/> 
<ExecuteListAction/>
<!--The following process will be iterated over each selected server.-->
<Select Target="Tree" Server="Click"/>
<Option Type="PresenceInNAB" Value="True"/> 
<Filter columnID="NAB4" Value="Unchecked"/>
<!--Each server's results will then be exported to it's own sheet in an Excel file 
saved to the same location this script file is being run from.-->
<Export>
<SetParam field="FilePath" value="{%CurFilePath%}\ServerInvalidACLAudit.xlsx"/>
<SetParam field="ExportType" value="Excel"/> 
<SetParam field="Mode" value="AppendGrid"/>
<SetParam field="OpenFileOnceGenerated" value="false"/>
<SetParam field="ExcelSheetName" value="{%ListParam=server%}"/>
</Export> 
<Echo value="Process Done"/> 
</ytriaAutomation> 
Script

Find and report all scheduled agents that have and have not run on a given server and create a concise report of agents in both conditions.

Save this script just as you would any other. Then launch this script across a selection of loaded servers by selecting 'Execute Automation File on…', option from replicationEZ's Server menu. Select agentEZ from the list, and then select the servers you want to analyze and click 'OK'.


<ytriaAutomation Application="agentEZ" ApplicationVersion="16.5">
	<!--This will set the script's behavior when encountering an error. 
		In this case, it will continue.-->
	<onerror continue="true" />
	
	<!--At this point, we don't want to automatically load the detailed agent information. 
		This will set it as "false". -->
	<Option Type="AutoLoadDetailedAgentInfo" value="False"/>
	
	<!--This will allow the automatic Check Presence in NAB feature to be carried out on 
		the agent signer for each agent loaded.-->
	<Option Type="PresenceInNAB" value="true"/>
	
	<!--This will set the option to use the Design Collection Note which is a much 
		faster loading option.-->
	<UseDesignCollection value="true"/>
	
	<!--This defines our search as looking only for scheduled agents.-->
	<AgentTriggerType value="Scheduled" />
	<!--This will select all databases on the loaded server.-->
	<TreeSelectionLive Value="False"/>
	<select target="tree" server="true"/>
	<TreeSelectionLive Value="True"/>
	<!--The next part of the script will handle the grid layout so the results are presented 
		in a clear order. A Suspend Grid Redraw function is added so the processing will 
		be held off until all columns are set.-->
	<SuspendRedraw value="true"/>
	
	<!--All columns are removed from the main grid in order to prepare for the columns that 
		will be added.-->
	<RemoveAllcolumns/>
	
	<!--Second, the columns that we want are added back into the first position 
		and in reverse order.-->
	<Add ColumnID="STATUS_LOAD" Position="1"/><!-- Is Agent Fully Loaded? -->
	<Add ColumnID="D33" Position="1"/><!-- Is background agent disabled on database -->
	<Add ColumnID="B6" Position="1"/><!-- Comment -->
	<Add ColumnID="D3" Position="1"/><!-- Database Type -->
	<Add ColumnID="R24" Position="1"/><!-- Run on week-ends -->
	<Add ColumnID="R23" Position="1"/><!-- Stop running agent on this date -->
	<Add ColumnID="R22" Position="1"/><!-- Start running agent on this date -->
	<Add ColumnID="R21" Position="1"/><!-- Running Interval -->
	<Add ColumnID="M13" Position="1"/><!-- Signer -->
	<Add ColumnID="B5" Position="1"/><!-- Last Alias -->
	<Add ColumnID="B4" Position="1"/><!-- Name -->
	<Add ColumnID="D2" Position="1"/><!-- Database Filename -->
	<Add ColumnID="D1" Position="1"/><!-- Database Path -->
	<Add ColumnID="L17" Position="1"/><!-- Last Run Duration -->
	<Add ColumnID="L15" Position="1"/><!-- Last Run Start Date -->
	<Add ColumnID="STATUS" Position="1"/><!-- Status -->
	
	<!--Then, all groupings are removed.-->
	<UngroupAll/>
	
	<!--And we will set a new grouping configuration.-->
	<GroupBy ColumnID="D46"/><!-- Server -->
	<GroupBy ColumnID="R9"/><!-- Run On -->
	<GroupBy ColumnID="R12"/><!-- Agent Schedule -->
	
	<!--Also, a new sorting configuration is set.-->
	<Sort columnID="L17" Ascending="false"/><!-- Last Run Duration -->
	<Sort columnID="D1" Ascending="true"/><!-- Database Path -->
	<Sort columnID="D3" Ascending="true"/><!-- Database Type -->
	<Sort columnID="D2" Ascending="true"/><!-- Database Filename -->
	<!--All existing filters are cleared, and then the grid processing is reactivated 
		by turning off the Suspend Grid Redraw state.-->
	<ClearFilters/>
	<SuspendRedraw value="false"/>
 
	<!--Note that the agent details don't need to be loaded in this situaiton, as this info is 
		provided without a full information load.-->
	<Filter columnID="R8" Value="checked"/><!-- Enable -->
	
	<!--The following If condition declares that if something is found (and thus making
		the grid count greater than 0), 	the nested child actions will be carried out.-->
	<if target="Grid" test="VisibleRowsCount" Mode="GreaterThan" Value="0">
		
		<!--All enabled agents will be selected (rows loaded in the grid).-->
		<Select lines="all"/>
		
		<!--Then, all the detailed agent information is loaded for all selected lines.-->
		<LoadMoreInfo/>
		<!--A filter is added to find all agents that are enabled and did run correctly.-->
		<Filter columnID="L17" Empty="true"/><!-- Last Run Duration not set... -->
		
		<!--These findings can now be exported. Note that this report will be generated 
			in the same location that this file is being run from.-->
		<Export>
			<SetParam field="FilePath" value="report_agentEZ.xlsx"/>
			<SetParam field="SelectedRowsOnly" value="false"/>
			<SetParam field="ExportType" value="Excel"/>
			<SetParam field="Mode" value="AppendRows"/>
			<SetParam field="ExcelSheetName" value="Enabled Scheduled Agents - LAST RUN"/>
			<SetParam field="OpenFileOnceGenerated" value="False"/>
		</Export>
		
		<!--All filters will be cleared from the Last Run Duration column.-->
		<ClearFilters columnID="L17"/><!-- Last Run Duration... -->
		
		<!--A filter is then added to find all agents that are enabled, but did not run 
			correctly. A small trick is used here: hiding anything that contains a 
			":" character (and thus indicating a duration).-->
		<Filter columnID="L17" Mode="NotContains" Text=":"/><!-- Last Run Duration... -->
		
		<!--The following If condition declares that if this script is not being used in a
			loop, the Excel file will be opened as soon as it is generated. This can't be done 
			if a loop is being run since the Excel file still may need to be worked on with the
			results of another server (depending on what you need to do).
			Keep in mind that we can't set an If condition with a SetParam value,
			hence the use of this variable.
			The variable is initialised first, and it will be changed if not in a loop.-->
		<SetVar vOpenExcelFile="False"/>
		<if target="var" test="{%ListSize%}" mode="Equals" Value="">
			<SetVar vOpenExcelFile="true"/>
		</if>
		
		<!--Finally, any findings regarding agents that did not run can be exported. 
			Note that this report will be generated in the same location that this file 
			is being run from.-->
		<Export>
			<SetParam field="FilePath" value="{%CurFilePath%}report_agentEZ.xlsx"/>
			<SetParam field="SelectedRowsOnly" value="false"/>
			<SetParam field="ExportType" value="Excel"/>
			<SetParam field="Mode" value="AppendRows"/>
			<SetParam field="ExcelSheetName" value="DID NOT RUN"/>
			<SetParam field="OpenFileOnceGenerated" value="{%vOpenExcelFile%}"/>
		</Export>
	</if>
	
</ytriaAutomation>
Share |