diff --git a/404.html b/404.html index a78a9b8..e0dd1e9 100755 --- a/404.html +++ b/404.html @@ -42,6 +42,8 @@ + + diff --git a/Getting Started/appcontrol_worker/dynamicmapinformations/index.html b/Getting Started/appcontrol_worker/dynamicmapinformations/index.html index bed1bf8..a841cb5 100755 --- a/Getting Started/appcontrol_worker/dynamicmapinformations/index.html +++ b/Getting Started/appcontrol_worker/dynamicmapinformations/index.html @@ -1,947 +1,391 @@ - - - - - - - - - - - - - - - - - - - - Dynamic informations - AppControl - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - + + + + + + + + +Dynamic informations - AppControl + + + + + + + + + + + + +
+ Skip to content - -
-
- -
- - - - - - +
+
+
-
- -
- - - - - - -
-
- - - -
-
-
- - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    - - - - +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +

    Dynamic informations

    An application, is a set of components defined statically with an xml format (cf: Create an application). Nevertheless, the application can be enriched with dynamic informations. @@ -952,50 +396,50 @@

    Dynamic informations

    Dynamic informations can enrich the content of the component owning the 'check'. In dynamic informations start/stop commands are not allowed.

    The JSON format is the following:

    {
    -    "link": "Hyperlink to wathever you want", //Optional
    -    "name": "Name of the component",          //Required
    -    "displayName": "Display name",            //Optional
    -    "state": "  Initializing | 
    +    "link": "Hyperlink to wathever you want", //Optional
    +    "name": "Name of the component",          //Required
    +    "displayName": "Display name",            //Optional
    +    "state": "  Initializing | 
                     InError |
                     Start |
                     Starting |
                     Started |
                     Stop |
                     Stopping |
    -                Stopped ",     //Optional
    -    "parents":                 //Optional but highly recommanded
    +                Stopped ",     //Optional
    +    "parents":                 //Optional but highly recommanded
         [
    -        "Parent1",
    -        "Parent2",
    +        "Parent1",
    +        "Parent2",
         ],
    -    "exitCode": 256, //Optional
    -    "color": "Color of the code RGB format or hexa code ('255,255,255' or #FFFFFF", //Optional
    -    "Type": " Used to display an icon on the map. An url to an image (png, jpeg or svg) can be set. Anyway you can use one of the following value: browser, cd, chip, data-information, devises, dollar, euro, file, green-thermometer, hdd, memflash, memory, middleware, network, orange-thermometer, pounds, process, service, tools, user, yen",  //Optional
    -    "groupName": "Name of the group",  //Optional
    -    "customActions": //Optional
    +    "exitCode": 256, //Optional
    +    "color": "Color of the code RGB format or hexa code ('255,255,255' or #FFFFFF", //Optional
    +    "Type": " Used to display an icon on the map. An url to an image (png, jpeg or svg) can be set. Anyway you can use one of the following value: browser, cd, chip, data-information, devises, dollar, euro, file, green-thermometer, hdd, memflash, memory, middleware, network, orange-thermometer, pounds, process, service, tools, user, yen",  //Optional
    +    "groupName": "Name of the group",  //Optional
    +    "customActions": //Optional
             [
                 {
    -            "visibility": "Private",
    -            "customActionName": "echo Action",
    -            "customActionDescription":  null,
    -            "customActionCommandLine": "echo $(message)",
    -            "parallelCustomAction": false,
    -            "parameters":
    +            "visibility": "Private",
    +            "customActionName": "echo Action",
    +            "customActionDescription":  null,
    +            "customActionCommandLine": "echo $(message)",
    +            "parallelCustomAction": false,
    +            "parameters":
                 [
                     {
    -                    "parameterName":"message",
    -                    "description": "",
    -                    "defaultValue": "Welcome message",
    -                    "validationRule": "*",
    -                    "isEditable": true
    +                    "parameterName":"message",
    +                    "description": "",
    +                    "defaultValue": "Welcome message",
    +                    "validationRule": "*",
    +                    "isEditable": true
                     }
                 ]
                 }
             ],
    -    "filters": {"filter name 1": ["filter values"] ,
    -                "filter name 2": ["filter values"]
    +    "filters": {"filter name 1": ["filter values"] ,
    +                "filter name 2": ["filter values"]
                     }  //Optional,
    -    "dynamicTree" : [
    +    "dynamicTree" : [
                 {
                     //A json object with the properties defined above
                 }
    @@ -1009,99 +453,52 @@ 

    Dynamic informations

    1. First copy this the link to the application: Application
    2. Go to the New Application menu and import the previous application - Import
    3. + Import
    4. Once the application is loaded go to the Architecture menu, you should obtain the following rendering: - Map
    5. + Map

    On the above screenshot, you can observe that dynamic components are displayed with an 'octagon form' whereas the 'static component' is displayed with a 'square form'.

    - - - - - - - - - - - - - -
    -
    - - +
    + + +
    + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/Getting Started/appcontrol_worker/index.html b/Getting Started/appcontrol_worker/index.html index 79b2a8f..3f3e883 100755 --- a/Getting Started/appcontrol_worker/index.html +++ b/Getting Started/appcontrol_worker/index.html @@ -1,964 +1,407 @@ - - - - - - - - - - - - - - - - - - - - Contents - AppControl - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - + + + + + + + + +Contents - AppControl + + + + + + + + + + + + +
    + Skip to content - -
    -
    - -
    - - - - - - +
    +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    +
    +
    +
    + -
    -
    -
    - - - -
    -
    - - - - +
    +
    +
    +
    +

    Contents

    This document describes how to use AppControl to execute a script or program as a task in XC Scenario. It shows how to define the script invocation in an @@ -1032,23 +475,23 @@

    Example

    component named "comp" (you can find the map file here). This component has a check action (mandatory) and two custom actions named calc and prod_div.

    -
    <component name="comp" description="Script execution component" hostref="LOCAL" authref="LOCAL" redirectoutput="false" type="file">
    -    <action value="echo 1" name="check" />
    +
    <component name="comp" description="Script execution component" hostref="LOCAL" authref="LOCAL" redirectoutput="false" type="file">
    +    <action value="echo 1" name="check" />
     
    -    <action value="C:\a\bin\calc_script.cmd $(arg)" commandname="calc" name="custom" visibility="public">
    +    <action value="C:\a\bin\calc_script.cmd $(arg)" commandname="calc" name="custom" visibility="public">
             <parameters>
    -            <parameter name="arg" value="" canedit="true" validation="*" />
    +            <parameter name="arg" value="" canedit="true" validation="*" />
             </parameters>
         </action>
     
    -    <action value="py c:\a\bin\pycalc.py $(operand1) $(operand2)" commandname="prod_div" name="custom" visibility="public">
    +    <action value="py c:\a\bin\pycalc.py $(operand1) $(operand2)" commandname="prod_div" name="custom" visibility="public">
             <parameters>
    -            <parameter name="operand1" canedit="true" validation="\d+" />
    -            <parameter name="operand2" canedit="true" validation="\d+" />
    +            <parameter name="operand1" canedit="true" validation="\d+" />
    +            <parameter name="operand2" canedit="true" validation="\d+" />
             </parameters>
             <outputParameters>
    -            <parameter name="product" />
    -            <parameter name="division" />
    +            <parameter name="product" />
    +            <parameter name="division" />
             </outputParameters>
         </action>
     
    @@ -1077,7 +520,7 @@ 

    Running custom actions in AppContr

    When the Architecture tab is chosen to display the map's graph, the components from the map are shown, and any custom actions defined on them will be found on a dropdown menu accessible through a right-click:

    -

    customs

    +

    customs

    A simple script

    If we pick the calc action, a dialog box (on the left) shows the command line that will be executed, as well as the arguments that are expected (in this @@ -1086,7 +529,7 @@

    A simple script

    displays the status of the execution, which can be InProgess, while it's running, and then Execution Succeeded as shown here when it's finished, with the exit code from the script on the right-hand side.

    -

    calc

    +

    calc

    As scripts usually produce output from their execution by printing to their standard output stream, the AppControl custom action captures that output stream and displays it on the screen, below the green status line. In this @@ -1105,7 +548,7 @@

    A script with output parameters

    prod_div action in AppControl, the dialog box will shows us the command line and input arguments (operand1, operand2), and after executing the action, we'll also see the standard output, as before.

    -

    prod_div

    +

    prod_div

    However, in this case, we see that the standard output has a very specific format:

    <appcontrol>
    @@ -1155,99 +598,52 @@ 

    Using the script as a Scenario task

    The structure of these names reflects the AppControl artifacts: <map>@<user>__<component>_<action>. These actions are now available, like any other task, to be used in your scenario.

    -

    catalog

    +

    catalog

    Select the prod_div task, enter values for operands 1 and 2, and then run the scenario. In the cockpit, you can see the output values and the message, just as we saw in the AppControl UI above:

    -

    execution

    - - - - - - - - - - - - - -

    -
    - - +

    execution

    + + + - - - - -
    - - - -
    - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/Getting Started/index.html b/Getting Started/index.html index 219be27..7ad415d 100755 --- a/Getting Started/index.html +++ b/Getting Started/index.html @@ -1,947 +1,385 @@ - - - - - - - - - - - - - - - - - - - - Get Started - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - + + + + + + + + + + +Get Started - AppControl + + + + + + + + + + + + + -
    - -
    - - - - - - +
    +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    - - - - +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +

    Get Started

    • Go to the XComponent AppControl website.
    • @@ -951,102 +389,55 @@

      Get Started

      In the example section, copy the following link to the demo application: demo application.

      On the AppControl website, go to the Import Application and paste the link of the demo application.

      Follow the wizard (clicking on 'Next' button). In the 'Gateway' tab select 'X4B SaaS'. On the last tab click on 'Import'.

      -

      Sceenshot Menu

      +

      Sceenshot Menu

      Go the 'Overview', and select the helloworld application by clicking on the checkbox. Then click on the load button. -Dashboard1

      +Dashboard1

      Next, click on the 'Architecture' button:

      -

      Map1

      +

      Map1

      Using, the command bar, you can now start/stop the Hello World application with ease. -Command Bar

      - - - - - - - - - - - - - -
    -
    - - +Command Bar

    + + + - - - - -
    - - - -
    - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/agentazure/index.html b/agentazure/index.html index 24e2f9d..ce90245 100755 --- a/agentazure/index.html +++ b/agentazure/index.html @@ -1,1187 +1,557 @@ - - - - - - - - - - - - - - - - - - - - - - - - Gateways and Agents Installation in Azure - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - + + + + + + + + + + + + +Gateways and Agents Installation in Azure - AppControl + + + + + + + + + + + + + -
    - -
    - - - - - - +
    +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - - - -
  • - - - - - -
  • + + + +
  • + + - - - - - + + + + Gateways and Agents Installation in Azure - - - - - - -
  • - - - - - - - - - -
  • - - - - +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    + - - - -
    -
    - - - - -

    Gateways and Agents Installation in Azure

    - +
    +
    +
    +
    +
    +

    Gateways and Agents Installation in Azure

    Docker Image for Gateway, Agent, and Azure CLI Deployment in Azure

    To simplify the deployment of AppControl’s gateway and agent in Azure, a pre-configured Docker image is available. This image includes:

      @@ -1214,7 +584,7 @@

      1. Create a Resource Group

      First, create a new resource group in Azure. This resource group will house the container and the associated resources.

      az group create --name AppControlResourceGroup --location <your-region>
       
      -

      Replace with the desired Azure region (e.g., eastus, westus, westeurope).

      +

      Replace with the desired Azure region (e.g., eastus, westus, westeurope).

      2. Create a Managed Identity

      Next, create a managed identity that will be used by the container to authenticate and execute Azure commands without requiring credentials.

      az identity create --name AppControlIdentity --resource-group AppControlResourceGroup --location <your-region>
      @@ -1222,12 +592,12 @@ 

      2. Create a Managed Identity

      Once the managed identity is created, note down the client ID and principal ID (also referred to as the object ID) from the output.

      3. Assign the Managed Identity to a Role

      Assign the managed identity appropriate roles so that it has permissions to interact with Azure resources. For example, to allow it to manage virtual machines, assign the Virtual Machine Contributor role.

      -
      az role assignment create --assignee <principal-id> --role "Virtual Machine Contributor" --scope /subscriptions/<subscription-id>/resourceGroups/AppControlResourceGroup
      +
      az role assignment create --assignee <principal-id> --role "Virtual Machine Contributor" --scope /subscriptions/<subscription-id>/resourceGroups/AppControlResourceGroup
       

      Replace:

        -
      • with the principal ID of the managed identity.
      • -
      • with your Azure subscription ID. +
      • with the principal ID of the managed identity.
      • +
      • with your Azure subscription ID. You can also assign different roles depending on what permissions are needed for the agent running in the container.

      4. Create and Configure an Azure Container Instance

      @@ -1248,8 +618,8 @@

      4. Create and Config

      Replace:

        -
      • with the client ID of the managed identity.
      • -
      • with your preferred Azure region.
      • +
      • with the client ID of the managed identity.
      • +
      • with your preferred Azure region.

      This command will:

      Create a new container instance running the Docker image xcomponent/x4b-azuregateway:latest. @@ -1257,7 +627,7 @@

      4. Create and Config Allocate 1 CPU and 1.5GB memory for the container.

      5. Verify the Container and Managed Identity

      After running the above command, you can verify that the container is running:

      -
      az container show --resource-group AppControlResourceGroup --name appcontrol-container --query "instanceView.state"
      +
      az container show --resource-group AppControlResourceGroup --name appcontrol-container --query "instanceView.state"
       

      If everything is configured correctly, the container will be in a "Running" state.

      6. Running Azure CLI Commands from Inside the Container

      @@ -1276,161 +646,104 @@

      Conclusion

      For more advanced configurations or additional details, refer to the official Azure and AppControl documentation.

      After the container is created and starts automatically, check its operation in Azure by examining the logs.

      Now check on AppControl to ensure the gateway is accessible.

      -

      Image

      +

      Image

      You are now ready to create your map in AppControl, utilizing this gateway and agent to monitor your Azure infrastructure.

      Below is an example that supervises an Azure Function:

      -
      <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
      +
      <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
       <apps>
        <hosts>
      -  <host hostid="agent-azure" host="localhost" port="12567" sslprotocol="Tls12" />
      +  <host hostid="agent-azure" host="localhost" port="12567" sslprotocol="Tls12" />
        </hosts>
        <auths>
      -  <auth authid="LOCAL" domain="" password="" user="" />
      +  <auth authid="LOCAL" domain="" password="" user="" />
        </auths>
      - <app name="AZURE MAP" version="v1">
      -  <component name="Azure CLI" description="Azure access" hostref="agent-azure" authref="LOCAL" redirectoutput="false" type="file">
      -   <action value="az version" name="check" />
      -   <action value="az $(command)" commandname="Test az cli" name="custom">
      + <app name="AZURE MAP" version="v1">
      +  <component name="Azure CLI" description="Azure access" hostref="agent-azure" authref="LOCAL" redirectoutput="false" type="file">
      +   <action value="az version" name="check" />
      +   <action value="az $(command)" commandname="Test az cli" name="custom">
           <parameters>
      -     <parameter name="command" value="account list" canedit="true" validation="\*" />
      +     <parameter name="command" value="account list" canedit="true" validation="\*" />
           </parameters>
          </action>
         </component>
      -  <component name="AzureFunction" description="Azure Function" hostref="agent-azure" authref="LOCAL" redirectoutput="true" type="browser">
      +  <component name="AzureFunction" description="Azure Function" hostref="agent-azure" authref="LOCAL" redirectoutput="true" type="browser">
          <father>Azure</father>
      -   <action value="az functionapp show --ids /subscriptions/[SUBSCRIPTION-ID]/resourceGroups/[RESOURCE-GROUP-NAME]/providers/Microsoft.Web/sites/[FUNCTION-APP-NAME] --query 'state' | grep -q '&#34;Running&#34;'" name="check" />
      -   <action value="az functionapp start --ids /subscriptions/[SUBSCRIPTION-ID]/resourceGroups/[RESOURCE-GROUP-NAME]/providers/Microsoft.Web/sites/[FUNCTION-APP-NAME]" name="enable" />
      -   <action value="az functionapp stop --ids /subscriptions/[SUBSCRIPTION-ID]/resourceGroups/[RESOURCE-GROUP-NAME]/providers/Microsoft.Web/sites/[FUNCTION-APP-NAME]" name="disable" />
      +   <action value="az functionapp show --ids /subscriptions/[SUBSCRIPTION-ID]/resourceGroups/[RESOURCE-GROUP-NAME]/providers/Microsoft.Web/sites/[FUNCTION-APP-NAME] --query 'state' | grep -q '&#34;Running&#34;'" name="check" />
      +   <action value="az functionapp start --ids /subscriptions/[SUBSCRIPTION-ID]/resourceGroups/[RESOURCE-GROUP-NAME]/providers/Microsoft.Web/sites/[FUNCTION-APP-NAME]" name="enable" />
      +   <action value="az functionapp stop --ids /subscriptions/[SUBSCRIPTION-ID]/resourceGroups/[RESOURCE-GROUP-NAME]/providers/Microsoft.Web/sites/[FUNCTION-APP-NAME]" name="disable" />
         </component>
        </app>
       </apps>
       
      - - - - - - - - - - - - - -
    -
    - - + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/agents/index.html b/agents/index.html index c8d10ae..79274db 100755 --- a/agents/index.html +++ b/agents/index.html @@ -1,1205 +1,571 @@ - - - - - - - - - - - - - - - - - - - - - - - - Agent installation - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - - - -
  • - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    + - - - -
    -
    - - - - -

    Agent installation

    - +
    +
    +
    +
    +
    +

    Agent installation

    An AppControl Agent is a key component that enables communication between your infrastructure and the AppControl gateway. It is responsible for executing commands, checking the status of components, and relaying important information to ensure smooth operation and monitoring of your applications.

    The agent is designed to be cross-platform, meaning it can be deployed on both Linux and Windows systems, offering flexibility across diverse environments. Furthermore, it is optimized to be lightweight, consuming minimal CPU and memory resources. This ensures that the agent runs efficiently in the background without impacting the performance of the host system.

    With a simple installation process and low resource footprint, AppControl Agents are an essential part of managing your applications, regardless of the platform or scale.

    @@ -1332,7 +698,7 @@

    Opt
    • We can either specify the display service name during registration:
    -
    C:\appcontrol>xcAgent.exe --install --servicename appcontrolagent --servicedisplayname "Agent AppControl"
    +
    C:\appcontrol>xcAgent.exe --install --servicename appcontrolagent --servicedisplayname "Agent AppControl"
     XComponent App Control Agent, version 9.9
     Copyright © Invivoo Software 2022
     XComponent App Control service name: appcontrolagent
    @@ -1350,7 +716,7 @@ 

    Opt
    • Start the service XComponent AppControl Agent
    -

    Agent Service

    +

    Agent Service

    Option 2. Run the agent in interactive mode from a prompt (cmd.exe)

    Run cmd.exe and then go to the agent folder.

    C:\appcontrol>xcAgent.exe --console
    @@ -1362,11 +728,11 @@ 

    Adding a Mi

    If you need to communicate with the agent from another computer, you should need to create a firewall rule to open the agent's port.

    In this case the agent's port is 12567, the command above creates the correct rule on the firewall.

    Run cmd.exe (with Administrative permissions) and then execute the following command.

    -
    C:\>netsh advfirewall firewall add rule name="AppControl-AgentRule" dir=in action=allow protocol=TCP localport=12567
    +
    C:\>netsh advfirewall firewall add rule name="AppControl-AgentRule" dir=in action=allow protocol=TCP localport=12567
     
     

    You can check that the rule is correctly created with this command:

    -
    C:\>netsh advfirewall firewall show rule name="AppControl-AgentRule"
    +
    C:\>netsh advfirewall firewall show rule name="AppControl-AgentRule"
     

    Please refer to the following link to check if the agent port is reachable.

    Note:

    @@ -1443,19 +809,19 @@

    Docker Installation

    Agent Configuration

    The default configuration file is name config.dat. It's located near the XComponent AppControl Agent configuration file.

    <config>
    -  <item key="networkAddress"     value="127.0.0.1" />
    -  <item key="port"               value="12567" />
    -  <item key="checktimeout"       value="20" />
    -  <item key="logdirectory"       value="log" />
    -  <item key="tempdirectory"      value="tmp" />
    -  <item key="maxlogsizeinmo"     value="5" />
    -  <item key="nbdaystodeletelogs" value="10" />
    -  <item key="executionthreshold" value="30" />
    +  <item key="networkAddress"     value="127.0.0.1" />
    +  <item key="port"               value="12567" />
    +  <item key="checktimeout"       value="20" />
    +  <item key="logdirectory"       value="log" />
    +  <item key="tempdirectory"      value="tmp" />
    +  <item key="maxlogsizeinmo"     value="5" />
    +  <item key="nbdaystodeletelogs" value="10" />
    +  <item key="executionthreshold" value="30" />
       <!--Log level : NONE, INFO, TRACE, ERROR -->
    -  <item key="loglevel"           value="INFO" />
    -  <item key="trustedservers"     value="127.0.0.1" />
    -  <item key="sshhost"            value="127.0.0.1" />
    -  <item key="sshkeydirectory"    value="sshkeys" />
    +  <item key="loglevel"           value="INFO" />
    +  <item key="trustedservers"     value="127.0.0.1" />
    +  <item key="sshhost"            value="127.0.0.1" />
    +  <item key="sshkeydirectory"    value="sshkeys" />
     </config>
     
    @@ -1526,7 +892,7 @@

    Environment variables configuration

    In config.dat you can use environment variables with the following pattern: %VARIABLE%.

    <config>
     ...
    -  <item key="tempdirectory" value="%TEMP%" />
    +  <item key="tempdirectory" value="%TEMP%" />
     ...
     </config>
     
    @@ -1534,7 +900,7 @@

    Environment variables configuration

    In config.dat you can use environment variables with the following pattern: $VARIABLE.

    <config>
     ...
    -   <item key="tempdirectory" value=”$TEMP" />
    +   <item key="tempdirectory" value=”$TEMP" />
     ...
     </config>
     
    @@ -1576,132 +942,75 @@

    Checking that agent's port is opene
    You can use the AppControl Gateway to both check agent connectivity and also to execute commands on the agent host.
     

    Please refer to the following link

    - - - - - - - - - - - - - - - - - + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/agentsdeployment/index.html b/agentsdeployment/index.html index 66a1c66..2ce64f6 100755 --- a/agentsdeployment/index.html +++ b/agentsdeployment/index.html @@ -1,1211 +1,573 @@ - - - - - - - - - - - - - - - - - - - - - - - - Automatic Deployment of Agents - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - - - -
  • - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    + - - - -
    -
    - - - - -

    Automatic Deployment of Agents

    - +
    +
    +
    +
    +
    +

    Automatic Deployment of Agents

    Deploy Agents Automatically via the Gateway

    AppControl simplifies the process of deploying agents in your infrastructure by leveraging the gateway. To automate the deployment of agents, AppControl requires SSH access to the target infrastructure using the private SSH key. Below are the steps to configure SSH, generate SSH keys on both Linux and Windows, and provide the necessary key to enable automatic deployment.

    1. Configure SSH Access

    @@ -1306,133 +668,76 @@

    5. Troubleshooting SSH Connection

  • Verify that the SSH port and user permissions are correctly set up on the target machine.
  • Check firewall rules or network configurations that might block SSH access.
  • -
    - - - - - - - - - - - - - -
    -
    - - +
    + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/assets/_mkdocstrings.css b/assets/_mkdocstrings.css new file mode 100755 index 0000000..e69de29 diff --git a/bestpractices/index.html b/bestpractices/index.html index 71b3d78..98fe6dd 100755 --- a/bestpractices/index.html +++ b/bestpractices/index.html @@ -1,986 +1,416 @@ - - - - - - - - - - - - - - - - - - - - Agents/Gateways configuration best practices - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    +
    +
    +
    + -
    -
    -
    - - - -
    -
    - - - - +
    +
    +
    +
    +

    Agents/Gateways configuration best practices

    According to your configuration, differents badges will be displayed in the UI. The badges are indicators which are used to secure your I.S (Information System).

    The badges are displayed in the Agents view.

    -

    agents

    +

    agents

    Protocol badges

    • The first badge encourages the use of a recent version of the Tls protocol:
    • @@ -995,15 +425,15 @@

      Protocol badges

    - + - + - +
    Tls13ScreenshotScreenshot
    Tls12ScreenshotScreenshot
    Tls - SslScreenshotScreenshot
    @@ -1021,11 +451,11 @@

    Gateway badges

    At least one -Screenshot +Screenshot None -Screenshot +Screenshot @@ -1043,106 +473,59 @@

    Resilience badges

    At least two -Screenshot +Screenshot One -Screenshot +Screenshot None -Screenshot +Screenshot - - - - - - - - - - - - - -

    -
    - - + + + - - - - -
    - - - -
    - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/centreon/index.html b/centreon/index.html index 0c88e2e..aa7531b 100755 --- a/centreon/index.html +++ b/centreon/index.html @@ -1,1035 +1,436 @@ - - - - - - - - - - - - - - - - - - - - - - - - How to import your Centreon setup into AppControl - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - - - -
  • - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    +
    +
    +
    + -
    -
    -
    - - - -
    -
    - - - - +
    +
    +
    +
    +

    Centreon Import

    The X4B platform includes a mechanism for importing your current Centreon (or Nagios) setup. This allows you to start off with a draft AppControl map file which includes all the hosts and services that you have defined in your Centreon configuration.

    AppControl map

    @@ -1057,132 +458,75 @@

    Importing your setup

    The --root-host option lets you specify one server as being the root, in the AppControl architecture map, of the servers graph. This indicates that all the other server depend on this one; you would typically choose a server playing some essential role, such as a DNS server.

    The --bastion-host option lets specify one server as being the bastion, as described above.

    The -n and -v options are required, as they define the map name and version. If no path is given for the map file, the file gets created in the current directory with the name <map_name>,<version>.xml; alternatively, you may specify a different path and name using the -o option.

    - - - - - - - - - - - - - -
    -
    - - + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/cli/index.html b/cli/index.html index 2be5fe4..e32b53a 100755 --- a/cli/index.html +++ b/cli/index.html @@ -1,991 +1,419 @@ - - - - - - - - - - - - - - - - - - - - AppControl Cli - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    +
    +
    + -
    -
    - - - -
    -
    - - - - +
    +
    +
    +
    +

    AppControl Cli

    Latest Available versions

    @@ -1015,94 +443,47 @@

    Installation

    ...

    Configuration

    ...

    - - - - - - - - - - - - - - - - - + + + - - - - -
    - - - -
    - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/cmdb/index.html b/cmdb/index.html index a0dadff..736392b 100755 --- a/cmdb/index.html +++ b/cmdb/index.html @@ -1,1231 +1,585 @@ - - - - - - - - - - - - - - - - - - - - - - How to integrate AppControl with a ServiceNow Cmdb - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - - - -
  • - - - - - - -
  • +
  • + + - -
  • - - - - + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    + - - - -
    -
    - - - - +
    +
    +
    +
    +

    AppControl CMDB Integration

    AppControl can be integrated with a Configuration Management Database (cmdb).

    AppControl currently supports ServiceNow as a @@ -1258,7 +612,7 @@

    Cmdb access and credentials

    The first step is to define one or more cmdb objects in AppControl. In the Referential section at the bottom of the left-hand side panel, press the CMDB button to display the page where you can manage access to various CMDBs:

    -

    CMDB Referential

    +

    CMDB Referential

    To register a new ServiceNow CMDB, press the register button and fill in the fields:

      @@ -1271,19 +625,19 @@

      Cmdb access and credentials

      Map Import Wizard

      When importing a new map file, the fifth step is the CMDB validation, where you are presented with the list of available cmdbs.

      -

      CMDB List

      +

      CMDB List

      Make sure the cmdb server you want to use is up and running at this point. Click on its name and press Next. A progress bar indicates that validation is taking place (this can take a few moments). If every element in the map is matched to a corresponding element in the cmdb, a message will indicate that the validation has succeeded:

      -

      CMDB Validation Success

      +

      CMDB Validation Success

      If the verification process detected configuration information in the cmdb that was not in the map (such as Component actions) this will also be indicated:

      -

      CMDB Enrichment

      +

      CMDB Enrichment

      If any discrepancies were found when comparing the map to the cmdb, a report is shown listing the elements that were found to be missing:

      -

      CMDB Validation Failed

      +

      CMDB Validation Failed

      Understanding the ServiceNow integration

      The following sections detail the mapping choices that were made to represent AppControl data in ServiceNow. Keep in mind that ServiceNow is very much @@ -1363,23 +717,23 @@

      Representing Components a

    Example

    AppControl XML map file:

    -
    <app name="inv_test_missing_from_map" version="1.0">
    -  <component name="inv_pricing_001" description="An Invivoo component" group="A group"
    -           hostref="inv_host_001" authref="LOCAL"redirectoutput="false" type="file">
    -    <action value="sandbox.sh check inv_pricing_001" name="check" />
    -    <action value="sandbox.sh enable inv_pricing_001" name="enable" />
    -    <action value="sandbox.sh disable inv_pricing_001" name="disable" />
    +
    <app name="inv_test_missing_from_map" version="1.0">
    +  <component name="inv_pricing_001" description="An Invivoo component" group="A group"
    +           hostref="inv_host_001" authref="LOCAL"redirectoutput="false" type="file">
    +    <action value="sandbox.sh check inv_pricing_001" name="check" />
    +    <action value="sandbox.sh enable inv_pricing_001" name="enable" />
    +    <action value="sandbox.sh disable inv_pricing_001" name="disable" />
       </component>
     

    ServiceNow cmdb_running_process table record (extracts):

    {
    -    "command": "sandbox.sh check inv_pricing_001",
    -    "computer": {
    -        "link": "https://dev78474.service-now.com/api/now/v1/table/cmdb_ci_computer/8ba1aa202f7320102cd8d49df699b687",
    -        "value": "8ba1aa202f7320102cd8d49df699b687"
    +    "command": "sandbox.sh check inv_pricing_001",
    +    "computer": {
    +        "link": "https://dev78474.service-now.com/api/now/v1/table/cmdb_ci_computer/8ba1aa202f7320102cd8d49df699b687",
    +        "value": "8ba1aa202f7320102cd8d49df699b687"
         },
    -    "name": "check::inv_pricing_001",
    -    "parameters": "inv_test_missing_from_map",
    +    "name": "check::inv_pricing_001",
    +    "parameters": "inv_test_missing_from_map",
     }
     

    Populating your Cmdb

    @@ -1387,116 +741,62 @@

    Populating your Cmdb

    provider's interface. But as the volume of data grows, populating your cmd can become a daunting task. Invivoo is developing tools to automate the creation of cmdb objects from AppControl maps [TO BE CONTINUED].

    - - - - - - - - - - - - - -
    -
    - - + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/contact/index.html b/contact/index.html index d2fa0b2..5d7ebf3 100755 --- a/contact/index.html +++ b/contact/index.html @@ -1,1013 +1,423 @@ - - - - - - - - - - - - - - - - - - - - - - - - Contact Us - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - - - -
  • - - - - - -
  • +
  • + + - - - - - + + + + Contact Us - - - - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    +
    +
    +
    + -
    -
    -
    - - - -
    -
    - - - - -

    Contact Us

    - +
    +
    +
    +
    + -
    - - + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/coreconcepts/index.html b/coreconcepts/index.html index 1abcf9d..97caa35 100755 --- a/coreconcepts/index.html +++ b/coreconcepts/index.html @@ -1,1269 +1,618 @@ - - - - - - - - - - - - - - - - - - - - - - - - Core Concepts - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    + - - - -
    -
    - - - - +
    +
    +
    +
    +

    Core Concepts of AppControl

    AppControl is built on a set of core concepts that enable effective monitoring, control, and automation of your applications across both local and cloud-based environments. Understanding these concepts will help you make full use of the platform.

    -
    +

    1. Agents

    AppControl uses agents to interact with your local infrastructure. These agents act as the bridge between your on-premises applications and the AppControl SaaS platform. Agents can be installed on both Windows and Linux systems, allowing for flexible integration with diverse IT environments.

    -
    +

    2. Gateway

    The gateway is the critical link between agents deployed on your local infrastructure and the AppControl SaaS platform. It facilitates secure and reliable communication, ensuring that actions taken on your applications are synchronized with the cloud.

    -
    +

    3. Applications

    In AppControl, an application represents a collection of components that need to be monitored and managed. Each application is defined through a YAML configuration file, which describes its components and the actions that can be performed on them.

    -
    +

    4. Components

    A component is a critical part of an application and defines the actions that AppControl can perform. Each component is described by three primary actions: start, stop, and check. In addition, some components may have optional custom commands.

    Command Types:

    @@ -1279,7 +628,7 @@

    Dependency Behavior:

  • Startup Sequence: When starting an application, AppControl first starts the parent components and then proceeds to start their child components.
  • Shutdown Sequence: When stopping an application, AppControl stops child components first before stopping their parent components.
  • -
    +

    5. Diagnostics Actions (On-Demand Actions)

    AppControl provides on-demand actions, also referred to as diagnostics actions, which allow you to perform manual checks or gather diagnostic information at any time.

      @@ -1287,7 +636,7 @@

      5. Diagnostics Actions (On-Dema
    • Customizable: You can define these actions in the YAML file and provide flexible input parameters that can be edited by users as needed.
    • Example: A diagnostics action might involve checking log files, gathering system metrics, or testing connectivity between components.
    -
    +

    6. Diagnostics and Issue Resolution

    AppControl includes built-in diagnostics to detect and resolve common issues related to component states, particularly focusing on dependency relationships between components.

    Diagnostic Situation:

    @@ -1302,147 +651,90 @@

    Diagnostic Situation:

    Resolution Process:

    • Stop Orphaned Components: When an orphaned component is detected (i.e., a component that is running without its necessary parent components), AppControl will stop the orphaned components to maintain consistency. - Resolution1
    • + Resolution1
    • Healthy State: Once the issues are resolved, the system reaches a healthy state, ensuring all components are properly aligned with their parent-child dependencies. - Resolution2
    • + Resolution2
    • Restart by Branch: AppControl can restart components by "branch," ensuring that all parent and child components are properly started in sequence, maintaining the application's integrity. - Restart
    • + Restart
    -
    +

    7. Automated Recovery Actions

    In AppControl, automated recovery actions are designed with caution to prevent escalating issues. By default, AppControl does not automatically restart components to avoid the risk of increasing a problem. Instead, AppControl offers a flexible approach where users can define scheduled auto-restart actions using built-in cron expressions.

    -
    +

    8. Application Monitoring Focus

    AppControl is different from traditional monitoring solutions because it is application-centric. While other tools often focus on infrastructure (e.g., servers and networks), AppControl monitors and manages the actual applications, which are the heart of your business.

    -
    +

    Summary

    Understanding these core concepts will enable you to effectively use AppControl to monitor, manage, and automate your applications. Whether you are working with legacy on-premises systems or cloud-native applications, AppControl’s agents, gateway, and application-centric approach offer the flexibility and control you need to maintain uptime and operational efficiency.

    - - - - - - - - - - - - - -
    -
    - - + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/dynamicMapInformations/index.html b/dynamicMapInformations/index.html index 4ed282c..4c0b6dd 100755 --- a/dynamicMapInformations/index.html +++ b/dynamicMapInformations/index.html @@ -1,1011 +1,438 @@ - - - - - - - - - - - - - - - - - - - - - - - - Enrich your application with dynamic informations - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    -
    - - - -
    -
    - - - - +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +

    Dynamic informations

    An application is a set of components defined statically using a YAML/XML format (see: Create an application). However, the application can be enriched with dynamic information. Dynamic information is returned by the check command.

    To return dynamic information, the check command should log some data to the standard output, which must follow this format:

    <appcontrol> APPCONTROL JSON OBJECT </appcontrol>
     
    {
    -    "link": "Hyperlink to wathever you want", //Optional
    -    "name": "Name of the component",          //Required
    -    "displayName": "Display name",            //Optional
    -    "state": "  Initializing |
    +    "link": "Hyperlink to wathever you want", //Optional
    +    "name": "Name of the component",          //Required
    +    "displayName": "Display name",            //Optional
    +    "state": "  Initializing |
                     InError |
                     Start |
                     Starting |
                     Started |
                     Stop |
                     Stopping |
    -                Stopped ",     //Optional
    -    "parents":                 //Optional but highly recommanded
    +                Stopped ",     //Optional
    +    "parents":                 //Optional but highly recommanded
         [
    -        "Parent1",
    -        "Parent2",
    +        "Parent1",
    +        "Parent2",
         ],
    -    "exitCode": 256, //Optional
    -    "color": "Color of the code RGB format or hexa code ('255,255,255' or #FFFFFF", //Optional
    -    "Type": " Used to display an icon on the map. An url to an image (png, jpeg or svg) can be set. Anyway you can use one of the following value: browser, cd, chip, data-information, devises, dollar, euro, file, green-thermometer, hdd, memflash, memory, middleware, network, orange-thermometer, pounds, process, service, tools, user, yen",  //Optional
    -    "groupName": "Name of the group",  //Optional
    -    "customActions": //Optional
    +    "exitCode": 256, //Optional
    +    "color": "Color of the code RGB format or hexa code ('255,255,255' or #FFFFFF", //Optional
    +    "Type": " Used to display an icon on the map. An url to an image (png, jpeg or svg) can be set. Anyway you can use one of the following value: browser, cd, chip, data-information, devises, dollar, euro, file, green-thermometer, hdd, memflash, memory, middleware, network, orange-thermometer, pounds, process, service, tools, user, yen",  //Optional
    +    "groupName": "Name of the group",  //Optional
    +    "customActions": //Optional
             [
                 {
    -            "visibility": "Private",
    -            "customActionName": "echo Action",
    -            "customActionDescription":  null,
    -            "customActionCommandLine": "echo $(message)",
    -            "parallelCustomAction": false,
    -            "parameters":
    +            "visibility": "Private",
    +            "customActionName": "echo Action",
    +            "customActionDescription":  null,
    +            "customActionCommandLine": "echo $(message)",
    +            "parallelCustomAction": false,
    +            "parameters":
                 [
                     {
    -                    "parameterName":"message",
    -                    "description": "",
    -                    "defaultValue": "Welcome message",
    -                    "validationRule": "*",
    -                    "isEditable": true
    +                    "parameterName":"message",
    +                    "description": "",
    +                    "defaultValue": "Welcome message",
    +                    "validationRule": "*",
    +                    "isEditable": true
                     }
                 ]
                 }
             ],
    -    "filters": {"filter name 1": ["filter values"] ,
    -                "filter name 2": ["filter values"]
    +    "filters": {"filter name 1": ["filter values"] ,
    +                "filter name 2": ["filter values"]
                     }  //Optional,
    -    "dynamicTree" : [
    +    "dynamicTree" : [
                 {
                     //A json object with the properties defined above
                 }
    @@ -1018,133 +445,76 @@ 

    Dynamic informations

  • JSON dynamic data
  • In this example, dynamic components are displayed with an octagonal shape, while static components are displayed with a square shape.

    -

    Map

    - - - - - - - - - - - - - -
    -
    - - +

    Map

    + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/gettingStarted/index.html b/gettingStarted/index.html index 68a2297..26536a9 100755 --- a/gettingStarted/index.html +++ b/gettingStarted/index.html @@ -1,1153 +1,527 @@ - - - - - - - - - - - - - - - - - - - - - - - - Introduction to AppControl SaaS - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    + - - - -
    -
    - - - - +
    +
    +
    +
    +

    Getting Started with AppControl

    AppControl is designed as a simple, cloud-based Software as a Service (SaaS) solution, allowing you to monitor and manage your applications from anywhere, without the need for complex on-premises infrastructure. This quick-start guide will help you set up and begin using AppControl in minutes.

    For businesses with specific requirements—whether it’s tailored SLAs, on-premises deployment, or other custom needs—please Contact us to discuss how we can meet your specific goals.

    Try AppControl with a Demo (No Local Setup Required)

    -

    To help you get started quickly, AppControl offers a demo environment that allows you to explore the core features of the platform without the need for any local setup or infrastructure. This is the perfect way to understand how AppControl can reduce downtime and streamline incident response.

      -
    • Log in:
      - Go to the XComponent AppControl website
      - Log in using a social provider
      - You're done! You can now get started with AppControl!
    • -
    • Import a demo application:
    • +
    • Log in: - Go to the XComponent AppControl website - Log in using a social provider - You're done! You can now get started with AppControl!
    • +
    • Import a demo application:

    Click on the Overview/New Application button, select XML/YAML file from url and paste the following link of an "Hello World" application.

    - - - - -
    - - -


    -

    Wizard Image -Wizard Image2

    +

    +

    Wizard Image +Wizard Image2

    Follow the wizard (clicking on 'Next' button). In the 'Agent/Gateway configuration' section select 'SaaS Gateway'. Then scroll down on the bottom of the page and click on "Create my application".

    -

    Wizard Image

    +

    Wizard Image

    • Explore the UI: Explore monitoring, incident management, and actions.
    -

    Wizard Image3 -Wizard Image4

    +

    Wizard Image3 +Wizard Image4

    The demo version provides a hands-on look at AppControl’s capabilities.

    Some explanations about the Demo YAML file

    YAML Configuration for "helloworld" Application

    @@ -1224,7 +597,7 @@

    Key Objectives

    -
    +

    Example YAML Configuration

    Here’s an example of the YAML configuration for the "helloworld" application:

    Name: helloworld
    @@ -1267,132 +640,75 @@ 

    Example YAML Configuration

    Connecting to Local Infrastructure

    If you wish to manage applications running in your on-premises environment, AppControl can be connected to your local infrastructure through agents and gateways. While this is an advanced setup, it allows for seamless integration with both legacy and cloud applications.

    For detailed instructions on how to connect to your local infrastructure, including agent installation and gateway setup, please refer to the documentation.

    - - - - - - - - - - - - - -
    -
    - - + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/index.html b/index.html index 49afef2..0851fef 100755 --- a/index.html +++ b/index.html @@ -1,1071 +1,476 @@ - - - - - - - - - - - - - - - - - - - - - - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    + - - - -
    -
    - - - - -
    - AppControl Logo -

    Introducing AppControl

    - +
    +
    +
    +
    +
    +AppControl Logo +

    Introducing AppControl

    +

    Focused on What Really Matters—Your Applications

    For small and mid-sized enterprises, the performance and availability of your applications are critical to your business success. That’s why AppControl is designed to minimize downtime by enabling fast, automated responses to incidents directly within your applications—whether they are legacy systems or modern cloud-based apps. Unlike many solutions, AppControl integrates without requiring any modifications to your existing applications, ensuring a smooth deployment without risking your critical systems. -

    + While many traditional monitoring solutions focus primarily on servers, networks, and infrastructure, AppControl takes a different approach. We follow the lifeblood of your business: your applications. Whether it's restarting services, executing custom tasks, or applying real-time fixes, AppControl gives you the power to keep your applications running smoothly—without the complexity and overhead of traditional tools that often require a full infrastructure overhaul.

    What Makes AppControl Different from Other Solutions

      @@ -1094,116 +499,62 @@

      Why Choose AppControl?

    With AppControl, you’re not just notified of issues—you’re equipped to solve them, ensuring the continuous operation of your critical applications and minimizing the impact of disruptions on your business. It’s the ideal solution for companies that want to modernize without compromise and focus on what truly matters: their applications.

    Ready to take control of your application reliability? Request a demo or Start a free trial today.

    - - - - - - - - - - - - - -
    -
    - - + + +
    - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/mainfeatures/index.html b/mainfeatures/index.html index 33b61fe..7651a7d 100755 --- a/mainfeatures/index.html +++ b/mainfeatures/index.html @@ -1,1161 +1,534 @@ - - - - - - - - - - - - - - - - - - - - - - - - Main Features - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    + - - - -
    -
    - - - - +
    +
    +
    +
    +

    Main Features of AppControl

    AppControl offers a variety of features that help you monitor and manage critical business applications efficiently. Below is a list of the key features available in AppControl.

    1. Application Dashboard

    @@ -1169,21 +542,21 @@

    1. Application Dashboard

    -

    dashboard

    +

    dashboard

    2. Application Operations History

    Track all changes and events related to your applications over time.

    • Logs: Detailed logs of when applications were started, stopped, or when any issues occurred.
    • Audit trail: A comprehensive view of all actions taken within the system.
    -

    operations

    +

    operations

    3. Action Buttons: Start/Stop

    Easily control the lifecycle of your applications.

    • Start: Quickly start any application.
    • Stop: Gracefully shut down applications.
    -

    operations

    +

    operations

    1. Activate/Deactivate applications
    2. Start aplication
    3. @@ -1205,7 +578,7 @@

      4. Custom Actions (On-Demand Actions -

      operations

      +

      operations

      5. Notifications

      Stay informed of application statuses and incidents with integrated notification systems.

        @@ -1215,7 +588,7 @@

        5. Notifications

      -

      operations

      +

      operations

      6. Status Page

      The Status Page in AppControl provides a detailed overview of the availability and health of your critical applications. This page displays the percentage of availability for each application, allowing you to monitor uptime and quickly identify potential issues over the past few days.

      Key Features:

      @@ -1231,138 +604,81 @@

      Key Features:

    4. Interactive Graphs: Visual representations of uptime fluctuations, making it easy to visualize downtime and availability trends.
    5. This page helps ensure that your applications maintain high levels of availability and reliability by providing a clear and actionable view of their performance over time.

      -

      operations

      +

      operations

      6. Integration with Legacy and Cloud Applications

      Seamlessly monitor both legacy on-premise applications and cloud-native services without requiring any modifications to existing applications.

      7. Automated Recovery

      While automated recovery avoids restarting components by default, you can schedule auto restarts using built-in cron expressions to meet your operational needs.

      -
      - - - - - - - - - - - - - -
    -
    - - +
    + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/map/index.html b/map/index.html index 42b06de..7987db7 100755 --- a/map/index.html +++ b/map/index.html @@ -1,1586 +1,859 @@ - - - - - - - - - - - - - - - - - - - - - - - - Introduction - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    + - - - -
    -
    - - - - +
    +
    +
    +
    +

    AppControl Application

    In AppControl, applications (also referred to as "maps") were traditionally defined using an XML file. However, the preferred and modern format is now YAML, which offers greater flexibility and readability, making it easier to manage complex configurations.

    Applications in AppControl are structured as a hierarchy of components, with each component representing a critical part of the system. These components can be defined manually by editing YAML files, giving you full control over every aspect of the application setup. For users who prefer a more guided approach, AppControl also provides built-in wizards within the UI. These wizards simplify the process by generating application definitions based on your local infrastructure or from Azure environments, allowing you to create these files quickly and efficiently.

    Whether you choose to manually create your application configurations or leverage the built-in wizards, AppControl offers the flexibility to adapt to your preferred workflow, ensuring seamless integration with your existing systems.

    -
    +

    YAML Format

    This document describes the configuration schema for AppControl applications, which is defined in YAML format. The YAML configuration file specifies the structure of an application, including its components, agents, authentication methods, scheduling, and actions.

    If you're unfamiliar with YAML, you can learn more about it here: YAML Documentation.

    @@ -1746,7 +1019,7 @@

    13. InteractWithDesktop

  • Type: boolean
  • Description: (Windows only) Specifies if the agent running as a service can interact with the desktop.
  • -
    +

    Required Fields

    The following fields are required in the AppControl YAML configuration file:

      @@ -1820,25 +1093,25 @@

      XML Format

    Below is an example of a minimalist AppControl Hello World artefact in XML:

    -
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    +
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
     <apps>
         <hosts>
            <!-- The way to join the agent -->
    -        <host hostid="LOCAL" host="127.0.0.1" port="12567" sslprotocol="tls12" />
    +        <host hostid="LOCAL" host="127.0.0.1" port="12567" sslprotocol="tls12" />
         </hosts>
         <auths>
             <!-- Identity of the user executing the commands. If empty, commands inherit from agent credentials -->
    -        <auth authid="LOCAL" domain="" password="" user="" />
    +        <auth authid="LOCAL" domain="" password="" user="" />
         </auths>
    -    <app name="helloworld" version="v1" retry="1">
    +    <app name="helloworld" version="v1" retry="1">
            <!-- A simple component executing an 'echo command' every minute -->
    -        <component name="hello" hostref="LOCAL" authref="LOCAL" redirectoutput="true" checkFrequency="60" type="file">
    -            <action value="cat hello.txt" name="check" />
    -            <action value="echo hello > hello.txt" name="enable" />
    -            <action value="rm hello.txt" name="disable" />
    -            <action value="echo $(message)" commandname="echo Action" name="custom">
    +        <component name="hello" hostref="LOCAL" authref="LOCAL" redirectoutput="true" checkFrequency="60" type="file">
    +            <action value="cat hello.txt" name="check" />
    +            <action value="echo hello > hello.txt" name="enable" />
    +            <action value="rm hello.txt" name="disable" />
    +            <action value="echo $(message)" commandname="echo Action" name="custom">
                     <parameters>
    -                    <parameter name="message" value="Hello" canedit="true" validation="*" />
    +                    <parameter name="message" value="Hello" canedit="true" validation="*" />
                     </parameters>
                 </action>
             </component>
    @@ -1846,7 +1119,7 @@ 

    XML Format

    </apps>
    -
    +

    XML Tag Descriptions

    The <apps> Tag

    The <apps> tag is the root element that contains all the elements of the configuration.

    @@ -1881,17 +1154,17 @@

    The <hosts> Tag

    sslprotocol -Optional Default value is set to tls12. Possible values: ssl, tls, tls12.
    Note: on most Operating Systems ssl and tls are obsolete +Optional Default value is set to tls12. Possible values: ssl, tls, tls12.
    Note: on most Operating Systems ssl and tls are obsolete

    The <auths> Tag

    The auths tag groups together a set of auth tags that describe the identities used to perform actions on application components. These identities will be utilized by agents.

    -
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    +
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
     <apps>
        <!-- ... -->
        <auths>
    -     <auth authid="LOCAL" domain="" password="" user="" />
    +     <auth authid="LOCAL" domain="" password="" user="" />
        </auths>
        <!-- ... -->
     </apps>
    @@ -1926,10 +1199,10 @@ 

    The <auths> Tag

    The <app> Tag

    The app tag defines the application and its version It can also contain a reference to a cron schedule for automatic actions.

    -
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    +
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
     <apps>
        <!-- ... -->
    -   <app name="TrainingMap" version="current" cronref="MCO">
    +   <app name="TrainingMap" version="current" cronref="MCO">
            <!-- ... -->
        </app>
        <!-- ... -->
    @@ -1963,20 +1236,20 @@ 

    The <app> Tag

    The <component> Tag

    The component tag defines the individual components of the application and their actions (check, start, stop, custom).

    -
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    +
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
     <apps>
        <!-- ... -->
    -   <app name="TrainingMap" version="current" cronref="MCO">
    -        <component name="File exist" group="TEST" hostref="LOCAL" authref="LOCAL">
    -            <action name="check" value="dir componentFile.txt" />
    -            <action name="enable" value="echo start > componentFile.txt" />
    -            <action name="custom" visibility="Public" commandname="File search" value="dir $(file)">
    +   <app name="TrainingMap" version="current" cronref="MCO">
    +        <component name="File exist" group="TEST" hostref="LOCAL" authref="LOCAL">
    +            <action name="check" value="dir componentFile.txt" />
    +            <action name="enable" value="echo start > componentFile.txt" />
    +            <action name="custom" visibility="Public" commandname="File search" value="dir $(file)">
                     <parameters>
    -                    <parameter name="file"
    -                        description="Filename to list"
    -                        value=""
    -                        canedit="true"
    -                        validation="\S+"
    +                    <parameter name="file"
    +                        description="Filename to list"
    +                        value=""
    +                        canedit="true"
    +                        validation="\S+"
                         />
                     </parameters>
                 </action>
    @@ -2036,26 +1309,26 @@ 

    The <component> Tag

    The father TAG

    -

    The father tag creates a dependency on a component. AppControl's approach is based on the principle that child components have knowledge of their parent(s).
    -Multiple parents for a component are allowed.
    -However, be careful not to create a loop, as it is not allowed and will generate an error during loading.

    -
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    +

    The father tag creates a dependency on a component. AppControl's approach is based on the principle that child components have knowledge of their parent(s).
    +Multiple parents for a component are allowed.
    +However, be careful not to create a loop, as it is not allowed and will generate an error during loading.

    +
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
     <apps>
        <!-- ... -->
    -   <app name="TrainingMap" version="current" cronref="MCO">
    -        <component name="File exist" group="TEST" hostref="LOCAL" authref="LOCAL">
    +   <app name="TrainingMap" version="current" cronref="MCO">
    +        <component name="File exist" group="TEST" hostref="LOCAL" authref="LOCAL">
                 <father>Attribut NAME du COMPOSANT PERE #1</father>
                 <father>Attribut NAME du COMPOSANT PERE #2</father>
    -            <action name="check" value="dir componentFile.txt" />
    -            <action name="enable" value="echo start > componentFile.txt" />
    -            <action name="check" value="del /Q componentFile.txt" />
    -            <action name="custom" visibility="Public" commandname="File search" value="dir $(file)">
    +            <action name="check" value="dir componentFile.txt" />
    +            <action name="enable" value="echo start > componentFile.txt" />
    +            <action name="check" value="del /Q componentFile.txt" />
    +            <action name="custom" visibility="Public" commandname="File search" value="dir $(file)">
                     <parameters>
    -                    <parameter name="file"
    -                        description="Filename to list"
    -                        value=""
    -                        canedit="true"
    -                        validation="\S+"
    +                    <parameter name="file"
    +                        description="Filename to list"
    +                        value=""
    +                        canedit="true"
    +                        validation="\S+"
                         />
                     </parameters>
                 </action>
    @@ -2072,22 +1345,22 @@ 

    The action TAG

  • disable: Stops a component. Only one disable action is allowed per component.
  • custom: Custom commands executed on demand. There can be 0 to n custom actions per component.
  • -
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    +
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
     <apps>
        <!-- ... -->
    -   <app name="TrainingMap" version="current" cronref="MCO">
    -        <component name="File exist" group="TEST" hostref="LOCAL" authref="LOCAL">
    +   <app name="TrainingMap" version="current" cronref="MCO">
    +        <component name="File exist" group="TEST" hostref="LOCAL" authref="LOCAL">
                 <!-- ... -->
    -            <action name="check" value="dir componentFile.txt" />
    -            <action name="enable" value="echo start > componentFile.txt" />
    -            <action name="check" value="del /Q componentFile.txt" />
    -            <action name="custom" visibility="Public" commandname="File search" value="dir $(file)">
    +            <action name="check" value="dir componentFile.txt" />
    +            <action name="enable" value="echo start > componentFile.txt" />
    +            <action name="check" value="del /Q componentFile.txt" />
    +            <action name="custom" visibility="Public" commandname="File search" value="dir $(file)">
                     <parameters>
    -                    <parameter name="file"
    -                        description="Filename to list"
    -                        value=""
    -                        canedit="true"
    -                        validation="\S+"
    +                    <parameter name="file"
    +                        description="Filename to list"
    +                        value=""
    +                        canedit="true"
    +                        validation="\S+"
                         />
                     </parameters>
                 </action>
    @@ -2139,19 +1412,19 @@ 

    The action TAG

    The parameters TAG
    -
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    +
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
     <apps>
        <!-- ... -->
    -   <app name="TrainingMap" version="current" cronref="MCO">
    -        <component name="File exist" group="TEST" hostref="LOCAL" authref="LOCAL">
    +   <app name="TrainingMap" version="current" cronref="MCO">
    +        <component name="File exist" group="TEST" hostref="LOCAL" authref="LOCAL">
                 <!-- ... -->
    -             <action name="custom" visibility="Public" commandname="File search" value="dir $(file)">
    +             <action name="custom" visibility="Public" commandname="File search" value="dir $(file)">
                     <parameters>
    -                    <parameter name="file"
    -                        description="Filename to list"
    -                        value=""
    -                        canedit="true"
    -                        validation="\S+"
    +                    <parameter name="file"
    +                        description="Filename to list"
    +                        value=""
    +                        canedit="true"
    +                        validation="\S+"
                         />
                     </parameters>
                 </action>
    @@ -2161,7 +1434,7 @@ 
    The parameters TAG
    </apps>

    The parameters tag is used to define the parameters of custom actions. These parameters will be available in the UI.

    -

    The syntax for variables in AppControl is: $(variableName)
    +

    The syntax for variables in AppControl is: $(variableName)
    Within the parameters tag, several parameter tags can be defined with the following attributes:

    @@ -2194,32 +1467,32 @@
    The parameters TAG

    The crontable TAG

    -
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    +
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
     <apps>
         <crontable>
    -        <cronrules cronid="scheduling">
    -        <trigger name="CRON#1" action="stop" force="true" components="A1" propagate="false" expression="0 00 * * * ? *" />
    -            <trigger name="CRON#2" action="start" force="true" components="A1" propagate="true" expression="0 15 * * * ? *" />
    -            <trigger name="customDir" action="custom" components="A1" customactionname="dirAction" customactionparameters="option=c;directory=c:\temp"   expression="0 0/5 * 1/1 * ? *" />
    -            <trigger name="CRON#3" action="stop" expression="0 0/5 * 1/1 * ? *" />
    -            <trigger name="CRON#3" action="start" expression="0 0/2 * 1/1 * ? *" />
    +        <cronrules cronid="scheduling">
    +        <trigger name="CRON#1" action="stop" force="true" components="A1" propagate="false" expression="0 00 * * * ? *" />
    +            <trigger name="CRON#2" action="start" force="true" components="A1" propagate="true" expression="0 15 * * * ? *" />
    +            <trigger name="customDir" action="custom" components="A1" customactionname="dirAction" customactionparameters="option=c;directory=c:\temp"   expression="0 0/5 * 1/1 * ? *" />
    +            <trigger name="CRON#3" action="stop" expression="0 0/5 * 1/1 * ? *" />
    +            <trigger name="CRON#3" action="start" expression="0 0/2 * 1/1 * ? *" />
             </cronrules>
         </crontable>
     
    -    <app name="CronDemo" version="v1" cronref="scheduling">
    -    <component name="A1" description="A1 component" hostref="LOCAL" authref="LOCAL" >
    -            <action value="echo demo" name="check" />
    -            <action value="start.sh" name="enable"  />
    -            <action value="stop.sh" name="disable" />
    -            <action name="custom" commandname="Perl version" value="C:\Strawberry\perl\bin\perl.exe  -$(version)">
    +    <app name="CronDemo" version="v1" cronref="scheduling">
    +    <component name="A1" description="A1 component" hostref="LOCAL" authref="LOCAL" >
    +            <action value="echo demo" name="check" />
    +            <action value="start.sh" name="enable"  />
    +            <action value="stop.sh" name="disable" />
    +            <action name="custom" commandname="Perl version" value="C:\Strawberry\perl\bin\perl.exe  -$(version)">
                     <parameters>
    -                    <parameter name="version" value="V" canedit="false" validation="*" />
    +                    <parameter name="version" value="V" canedit="false" validation="*" />
                     </parameters>
                 </action>
    -            <action value="dir -$(option)  $(directory)" visibility="public" commandname="dirAction" name="custom">
    +            <action value="dir -$(option)  $(directory)" visibility="public" commandname="dirAction" name="custom">
                     <parameters>
    -                    <parameter name="option" value="c" canedit="false" validation="*" />
    -                    <parameter name="directory" value="c:\sources\*" canedit="true" validation="*" />
    +                    <parameter name="option" value="c" canedit="false" validation="*" />
    +                    <parameter name="directory" value="c:\sources\*" canedit="true" validation="*" />
                     </parameters>
                 </action>
             </component>
    @@ -2228,7 +1501,7 @@ 

    The crontable TAG

    You can refer to the Quartz Scheduler documentation for a complete list of allowed cron expressions.

    As shown in the example above, you can include multiple cron expressions in the same file. You can schedule start/stop actions or custom actions.

    -
    +

    Built-in wizards

    Auto-Generate Application from Running Processes

    AppControl includes the ability to retrieve running processes on a computer through its agent. The agent, which runs on the target system (Windows or Linux), scans the machine for all active processes and reports them back to AppControl.

    @@ -2238,8 +1511,8 @@

    Auto-Generate Applicat
  • To start the wizard go to Overview/New application and select Discover your infrastructure
  • Select: From Servers and then select your gateway and your agent.
  • -

    Wizard Image -Wizard Image

    +

    Wizard Image +Wizard Image

    Auto-Generate Application from Azure Tenant

    AppControl includes the ability to retrieve and visualize Azure resources from your Azure tenant through its integration with Azure APIs. Using its agent which interacts directly with your Azure environment, AppControl can scan your Azure tenant for all active resources and report them back to AppControl.

    In the AppControl wizard, this data is utilized to help you easily create applications (also referred to as "maps"). The wizard displays a list of your Azure resources, such as virtual machines, databases, and other components, allowing you to select the ones you wish to include in your application definition. Once selected, AppControl automatically generates a YAML file that represents the application based on your Azure infrastructure.

    @@ -2250,9 +1523,9 @@

    Auto-Generate Application f
    1. Open your terminal or command-line interface.
    2. Run the following command to create a service principal and assign it the "Reader" role (sufficient for discovery and read-only access to resources). It's better to limit the scope to specific resources but it's not mandatory. - Ensure that you replace with your actual Azure subscription ID:
    3. + Ensure that you replace with your actual Azure subscription ID:
    -
    az ad sp create-for-rbac --name "AppControlServicePrincipal" --role Reader  --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>
    +
    az ad sp create-for-rbac --name "AppControlServicePrincipal" --role Reader  --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>
     
    1. Output: The command will return a JSON object containing:
    2. @@ -2277,134 +1550,77 @@

      Auto-Generate Application f
    3. Enter the Client User Name, Client Password (obtained when creating the Service Principal), Tenant ID, Subscription ID and Tenant ID.

    AppControl will use these credentials to authenticate with Azure and retrieve your resources.

    -

    Wizard Image

    +

    Wizard Image

    This feature empowers you to visualize and manage your entire Azure infrastructure directly from AppControl, ensuring real-time control over your cloud assets.

    - - - - - - - - - - - - - -

    -
    - - + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/openfaas/synchronous/index.html b/openfaas/synchronous/index.html index adfcb3d..0d92089 100755 --- a/openfaas/synchronous/index.html +++ b/openfaas/synchronous/index.html @@ -1,1102 +1,516 @@ - - - - - - - - - - - - - - - - - - - - Contents - AppControl - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    + - - - -
    -
    - - - - +
    +
    +
    +
    +

    Contents

    This document describes how to write a simple, synchronous python function that is run inside OpenFaas, and that can be invoked from XC Scenario to @@ -1189,10 +603,10 @@

    handler.py

    The handler.py file is where the function code will be implemented. It starts out with an almost empty function skeleton:

    def handle(req):
    -    """handle a request to the function
    +    """handle a request to the function
         Args:
             req (str): request body
    -    """
    +    """
     
         return req
     
    @@ -1236,18 +650,18 @@

    Deploy the function to the O

    Test the function

    You can invoke the function through curl, passing in a request body with the -d argument:

    -
    joao@debian1:~$ curl https://openfaas.xcomponent.com/function/pyfunc -d "Hello!"
    +
    joao@debian1:~$ curl https://openfaas.xcomponent.com/function/pyfunc -d "Hello!"
     Hello!
     joao@debian1:~$ 
     

    The text that was passed in is returned by the function.

    You can invoke the function through faas-cli:

    -
    joao@debian1:~$ echo -n "Hello!" | faas-cli -g https://openfaas.xcomponent.com invoke pyfunc
    +
    joao@debian1:~$ echo -n "Hello!" | faas-cli -g https://openfaas.xcomponent.com invoke pyfunc
     Hello!
     joao@debian1:~$ 
     

    You can also invoke the function through the OpenFaas portal:

    -

    OpenFaas Portal

    +

    OpenFaas Portal

    Click on Request body, enter some text (good morning for example), then press Invoke.

    Use the function in XC Scenario

    @@ -1257,10 +671,10 @@

    Use the function in XC Scenario

    incorrect, check with your administrator).

    Select pyfunc in the list. Note the DefaultInput field (on the right image), enter some text value (Hello, OpenFaas world! in this example):

    -

    pyfunc task

    +

    pyfunc task

    Now run the scenario, and check the cockpit. You should see the text you entered displayed in the task output:

    -

    pyfunc task

    +

    pyfunc task

    Write a function with multiple parameters

    Let's define a second, more realistic function, with input and output parameters. We'll define a function called pyfunc2 that takes two inputs, an @@ -1296,10 +710,10 @@

    New handler.py

    import json
     
     def handle(req):
    -    """handle a request to the function
    +    """handle a request to the function
         Args:
             req (str): request body
    -    """
    +    """
     
         # De-serialize json, extract input parameters
         obj = json.loads(req)
    @@ -1335,115 +749,68 @@ 

    Test the new function

    json strings is cumbersome, as all the double quotes must be escaped, so it's easier to put the input in a json file, let's call it inputs.json:

    {
    -    "n": 13,
    -    "txt": "hello"
    +    "n": 13,
    +    "txt": "hello"
     }
     

    The -d option to the curl command supports the @ syntax to specify a file name, so the function can be invoke with the following command:

    joao@debian1:~$ curl https://openfaas.xcomponent.com/function/pyfunc2 -d @inputs.json
    -{"calc": 26, "msg": "HELLO"}
    +{"calc": 26, "msg": "HELLO"}
     joao@debian1:~$ 
     

    It can also be invoked through the OpenFaas portal as before:

    -

    OpenFaas Portal

    +

    OpenFaas Portal

    Use the new function in XC Scenario

    As before, create a new scenario, add a task, pick the OpenFaas namespace, and select the pyfunc2 function. The Task Inputs section shows the two input parameters n and txt:

    -

    pyfunc2 task

    +

    pyfunc2 task

    Finally, enter some values, then run the scenario and check the cockpit for the function output:

    -

    pyfunc2 task

    +

    pyfunc2 task

    The output parameters display the results of the OpenFaas' function processing.

    - - - - - - - - - - - - - -
    -
    - - + + + - - - - -
    - - - -
    - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/repo/index.html b/repo/index.html index a40ebcb..7571d08 100755 --- a/repo/index.html +++ b/repo/index.html @@ -1,1023 +1,428 @@ - - - - - - - - - - - - - - - - - - - - - - - - Git integration - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - - - -
  • - - - - - - - -
  • +
  • + + - - - - - + + + + Git integration - - - - - - -
  • - - - - - - - - - -
  • - - - - +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    +
    +
    +
    + -
    -
    -
    - - - -
    -
    - - - - +
    +
    +
    +
    +

    Git integration

    AppControl YAML or XML files can be conveniently stored in a Git repository for version control and collaboration. Additionally, you can display the live status of your application directly in your documentation by adding a markdown badge link. For example:

    ![My App](https://appcontrol.xcomponent.com/core/api/badge?applicationName=MYAPP,v1@myaccount)
     

    This badge will display the real-time status of your application in your documentation.

    -

    Badges

    +

    Badges

    Automating Application Deployment with AppControl APIs

    AppControl provides powerful APIs that allow for automatic deployment of applications through custom scripts. These scripts can be integrated into your CI/CD pipelines or used for ad-hoc deployments. Below is a generic example of a script that loads and deploys an application map (in YAML or XML format) to AppControl.

    Sample Deployment Script

    @@ -1029,200 +434,143 @@

    Automating Appli export API=${APPCONTROL_HOME:-https://appcontrol.xcomponent.com}/core debug() { - [[ "${DEBUG:-0}" != "0" ]] && echo "$@" + [[ "${DEBUG:-0}" != "0" ]] && echo "$@" } main() { # Check if the required parameters are passed if [[ $# -lt 2 ]]; then - echo "Usage: $0 <map-file> <gateway-name>" + echo "Usage: $0 <map-file> <gateway-name>" exit 1 fi - local mapFile="$1" - local agentProxyName="$2" - local mapFileContents=$(cat "$mapFile") + local mapFile="$1" + local agentProxyName="$2" + local mapFileContents=$(cat "$mapFile") # Extract application name and version from the map file (XML or YAML) - local mapName=$(grep "<app name" "$mapFile" | cut -d "\"" -f2) - local mapVersion=$(grep "<app name" "$mapFile" | cut -d "\"" -f4) + local mapName=$(grep "<app name" "$mapFile" | cut -d "\"" -f2) + local mapVersion=$(grep "<app name" "$mapFile" | cut -d "\"" -f4) local escapedMapFileContents # Check if XML parsing failed (if mapName or mapVersion is empty, fallback to YAML) - if [[ -z "$mapName" ]] || [[ -z "$mapVersion" ]]; then - echo "XML parsing failed or not XML format. Trying YAML..." + if [[ -z "$mapName" ]] || [[ -z "$mapVersion" ]]; then + echo "XML parsing failed or not XML format. Trying YAML..." # Attempt to read the file as YAML using yq - mapName=$(yq e '.Name' "$mapFile") - mapVersion=$(yq e '.Version' "$mapFile") + mapName=$(yq e '.Name' "$mapFile") + mapVersion=$(yq e '.Version' "$mapFile") - if [[ -z "$mapName" ]] || [[ -z "$mapVersion" ]]; then - echo "YAML parsing failed. Please check the file format." + if [[ -z "$mapName" ]] || [[ -z "$mapVersion" ]]; then + echo "YAML parsing failed. Please check the file format." exit 1 fi fi # Escape file contents to be used in the JSON payload - escapedMapFileContents=$(echo "$mapFileContents" | jq -aRs .) + escapedMapFileContents=$(echo "$mapFileContents" | jq -aRs .) # Prepare the data payload for the API - data=$(jq -n --arg xml "$escapedMapFileContents" \ - --arg app "$mapName" \ - --arg version "$mapVersion" \ - --arg gateway "$agentProxyName" \ + data=$(jq -n --arg xml "$escapedMapFileContents" \ + --arg app "$mapName" \ + --arg version "$mapVersion" \ + --arg gateway "$agentProxyName" \ '{ Xml: $xml, Application: $app, Version: $version, AgentProxyName: $gateway, - LoadMap: "true", - OverWrite: "true", - UseDefaultAgent: "false" + LoadMap: "true", + OverWrite: "true", + UseDefaultAgent: "false" }') - echo "Loading $mapName $mapVersion using gateway $agentProxyName..." + echo "Loading $mapName $mapVersion using gateway $agentProxyName..." # Send the API request curl $API/api/Configuration -X PUT \ - --header "Content-Type: application/json" \ - --header "Authorization: bearer $AUTH" \ - --data-binary "$data" \ + --header "Content-Type: application/json" \ + --header "Authorization: bearer $AUTH" \ + --data-binary "$data" \ --fail } -main "$@" +main "$@"

    Example of usage

    ./deploy_app.sh myapp.yaml Azure_Gateway
     

    This script will upload the myapp.yaml file and use the specified gateway (Azure_Gateway).

    - - - - - - - - - - - - - -

    -
    - - + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 67633bb..345be71 100755 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,107 +2,107 @@ https://xcomponent.github.io/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/agentazure/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/agents/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/agentsdeployment/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/bestpractices/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/centreon/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/cli/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/cmdb/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/contact/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/coreconcepts/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/dynamicMapInformations/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/gettingStarted/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/mainfeatures/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/map/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/repo/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/standalone/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/x4bcli/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/Getting%20Started/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/Getting%20Started/appcontrol_worker/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/Getting%20Started/appcontrol_worker/dynamicmapinformations/ - 2024-09-27 + 2024-09-30 daily https://xcomponent.github.io/openfaas/synchronous/ - 2024-09-27 + 2024-09-30 daily \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 8f3b70c..8ae78f7 100755 Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ diff --git a/standalone/index.html b/standalone/index.html index c009b9a..16bfb13 100755 --- a/standalone/index.html +++ b/standalone/index.html @@ -1,1215 +1,587 @@ - - - - - - - - - - - - - - - - - - - - - - - - Install standalone - AppControl - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • + + + +
  • + + - -
  • - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - - - -
  • - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    + - - - -
    -
    - - - - +
    +
    +
    +
    +

    Running AppControl Locally with Docker Compose

    This package lets you install and run Invivoo's X4B AppControl software locally on a Windows PC. To install X4B AppControl in standalone under Windows @@ -1296,7 +668,7 @@

    Using the Web Interface

    Getting Help

    Once you're logged into AppControl, you can access the online documentation through the help button (?) on the top right of the screen:

    -

    Online Documentation

    +

    Online Documentation

    The dropdown menu also lets you contact Invivoo support through email, and join our Slack channel for access to the development team.

    Test AppControl with the Helloworld map

    @@ -1316,132 +688,75 @@

    Stop / Uninstall AppControl

    To completely remove AppControl, run the following command:

    docker-compose -f appcontrol.yml -f appcontrol-images.yml rm
     
    - - - - - - - - - - - - - -
    -
    - - + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/x4bcli/index.html b/x4bcli/index.html index 460e6e1..7fb4336 100755 --- a/x4bcli/index.html +++ b/x4bcli/index.html @@ -1,1335 +1,664 @@ - - - - - - - - - - - - - - - - - - - - - - - - Introduction - AppControl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    +
    -
    - -
    - - - - - - -
    -
    - - - -
    -
    -
    - - - - - + +
  • + + - -
  • - - - - - - - - - - - - - - - -
  • - - - - - - -
  • + + + +
  • + + - -
  • +
  • + + Quick installation - - - -
  • - - - - - - - - - - -
  • - - - - + +
  • +
  • + + Gateway installation - - - -
  • - - - - - - - - - - -
  • - - - - + +
  • +
  • + + Agent installation - - - -
  • - - - - - - - - - - -
  • - - - - + +
  • +
  • + + Automatic Deployment of Agents - - - -
  • - - - - - - - - - - - - - - - - - -
  • - - - - + +
  • + + + +
  • + + Gateways and Agents Installation in Azure - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Git integration - - - -
  • - - - - - - - - - -
  • - - - - + +
  • +
  • + + Contact Us - - - -
  • - - - - - - - - - - - - - -
  • - - - - - - - - -
  • +
  • + + - -
  • - - - - + + + -
    -
    -
    - - - -
    -
    -
    - - - +
    +
    +
    + - - - -
    -
    - - - - + + + + + + +
    +
    +
    +
    +

    Introduction

    To fully utilize AppControl's capabilities with on-premises infrastructure, the X4B Gateway is required. The gateway facilitates secure communication between your on-premises agents and the AppControl SaaS platform. This allows for real-time monitoring and control of your local applications, even when agents are deployed across diverse environments.

    X4B Gateway Overview @@ -1339,7 +668,7 @@

    Introduction

    Getting Started with Agents To begin using agents in your local infrastructure, please refer to the Agents Installation section for step-by-step instructions on installing agents on Windows and Linux environments.

    Please refer to the Agents Installation section for detailed installation instructions.

    -

    Network architecture

    +

    Network architecture

    Thanks to the X4B Gateway, you can deploy your applications in the AppControl Cloud Platform while keeping agents deployed on-premises.

    Quick Deployment of Agents and Gateways (Windows and macOS)

    For both Windows and macOS, there is a quick and efficient way to deploy both agents and the X4B Gateway at the same time. This process requires administrative permissions and will prompt the user to log in to the SaaS platform to link the gateway with their user account.

    @@ -1354,7 +683,7 @@

    Windows Deployment

    macOS Deployment

    To deploy the agent and gateway on macOS, use the following bash script:

    -
    bash -c "$(curl -fsSL https://raw.githubusercontent.com/xcomponent/appcontrol-documentation/main/docs/en/scripts/appcontrolinstallmac.sh)"
    +
    bash -c "$(curl -fsSL https://raw.githubusercontent.com/xcomponent/appcontrol-documentation/main/docs/en/scripts/appcontrolinstallmac.sh)"
     

    This script will:

      @@ -1368,7 +697,7 @@

      macOS Deployment

      For more detailed steps on the installation and troubleshooting, please refer to the Agents Installation section.

      X4B Gateway custom installation

      -

      Gateways are available for Windows and Docker. For Windows, the .NET framework is required.
      +

      Gateways are available for Windows and Docker. For Windows, the .NET framework is required.
      The X4B Gateway is necessary to take advantage of agents deployed on-premises.

      Agents can be deployed anywhere in your infrastructure. They do not need internet access.

      Please refer to the agents installation section for detailed instructions on agent installation.

      @@ -1398,15 +727,15 @@

      How does it work ?

      The first step is to log in and navigate to this page: AppControl.

      1. -

        Click on Register New Gateway
        -Gateway Settings

        +

        Click on Register New Gateway
        +Gateway Settings

      2. Provide a name for your gateway and confirm.

      3. -

        Once your gateway is created, an Access Key and a Secret Access Key will be generated.
        -Gateway Settings

        +

        Once your gateway is created, an Access Key and a Secret Access Key will be generated.
        +Gateway Settings

      4. Now, you're ready to install the X4B Gateway. Please refer to the documentation below for the installation procedure.

        @@ -1425,7 +754,7 @@

        Retrieving X4B Gateway CredentialsAccess Key

      5. Secret Access Key

        -

        Agent Proxy Settings

        +

        Agent Proxy Settings

      6. Microsoft Windows Platform Installation

        @@ -1463,7 +792,7 @@

        Microsoft Windows Platf

    Microsoft Windows service Installation

    In a prompt with administrative permissions:

    -
    c:\x4b> x4b install -servicename x4bGatewayServiceName  -server "https://appcontrol.xcomponent.com/core" -loglevel "Trace" -access "myAccesToken" -proxyname "myGatewayName" -secret "mySecretToken"
    +
    c:\x4b> x4b install -servicename x4bGatewayServiceName  -server "https://appcontrol.xcomponent.com/core" -loglevel "Trace" -access "myAccesToken" -proxyname "myGatewayName" -secret "mySecretToken"
     

    The first parameters to register the gateway as a service is the topshelf syntax:

    Topshelf Command-Line Reference — Topshelf 3.0 documentation

    @@ -1630,23 +959,23 @@

    Check AppControl's Agent 12/09/2023 17:35:25# <!-- XComponent APP Control Agent Configuration file --> <config> - <item key="generatebatch" value="false" /> - <item key="windowsinterpreter" value="%ComSpec%" /> - <item key="networkAddress" value="0.0.0.0" /> - <item key="port" value="12567" /> - <item key="logdirectory" value="./logs" /> - <item key="tempdirectory" value="%TEMP%" /> - <item key="maxlogsizeinmo" value="5" /> - <item key="nbdaystodeletelogs" value="10" /> - <item key="redirecterroutput" value="true" /> - <item key="logToStandardOutput" value="true" /> - <item key="executionthreshold" value="200" /> - <item key="loglevel" value="TRACE" /> <!-- NONE, INFO, TRACE, ERROR --> - <item key="trustedservers" value="" /> - <item key="ignoretrustedservers" value="false" /> - <item key="sslprotocol" value="tls12" /> <!-- ssl, tls, tls12, tls13 --> - <item key="sshkeydirectory" value="" /> <!-- Linux Only --> - <item key="shell" value="" /> + <item key="generatebatch" value="false" /> + <item key="windowsinterpreter" value="%ComSpec%" /> + <item key="networkAddress" value="0.0.0.0" /> + <item key="port" value="12567" /> + <item key="logdirectory" value="./logs" /> + <item key="tempdirectory" value="%TEMP%" /> + <item key="maxlogsizeinmo" value="5" /> + <item key="nbdaystodeletelogs" value="10" /> + <item key="redirecterroutput" value="true" /> + <item key="logToStandardOutput" value="true" /> + <item key="executionthreshold" value="200" /> + <item key="loglevel" value="TRACE" /> <!-- NONE, INFO, TRACE, ERROR --> + <item key="trustedservers" value="" /> + <item key="ignoretrustedservers" value="false" /> + <item key="sslprotocol" value="tls12" /> <!-- ssl, tls, tls12, tls13 --> + <item key="sshkeydirectory" value="" /> <!-- Linux Only --> + <item key="shell" value="" /> </config> appControlAgent@localhost C:\tmp\test\xcAgent-binary-Win32% @@ -1666,155 +995,98 @@

    Check AppControl's Agent 12/09/2023 17:37:23# <!-- XComponent APP Control Agent Configuration file --> <config> - <item key="networkAddress" value="0.0.0.0" /> + <item key="networkAddress" value="0.0.0.0" /> <!--TCP listening port of the agent --> - <item key="port" value="12567" /> - <item key="generatebatch" value="true" /> + <item key="port" value="12567" /> + <item key="generatebatch" value="true" /> <!--Logs and Tmp directories--> - <item key="logdirectory" value="logs" /> - <item key="tempdirectory" value="tmp" /> - <item key="maxlogsizeinmo" value="5" /> - <item key="nbdaystodeletelogs" value="10" /> - <item key="redirecterroutput" value="true" /> - <item key="executionthreshold" value="50" /> - <item key="logToStandardOutput" value="true" /> - <item key="loglevel" value="TRACE" /> <!-- NONE, INFO, TRACE, ERROR --> + <item key="logdirectory" value="logs" /> + <item key="tempdirectory" value="tmp" /> + <item key="maxlogsizeinmo" value="5" /> + <item key="nbdaystodeletelogs" value="10" /> + <item key="redirecterroutput" value="true" /> + <item key="executionthreshold" value="50" /> + <item key="logToStandardOutput" value="true" /> + <item key="loglevel" value="TRACE" /> <!-- NONE, INFO, TRACE, ERROR --> <!-- IP address of SSH serveur (unix/linux) --> - <item key="sshhost" value="127.0.0.1" /> + <item key="sshhost" value="127.0.0.1" /> <!-- IP Address or DNS Names of AC2 servers authorized to communicate with the agent --> - <item key="trustedservers" value="" /> - <item key="sslprotocol" value="tls12" /> <!-- ssl, tls, tls12 --> - <item key="sshkeydirectory" value="" /> <!-- Linux Only --> - <item key="shell" value="" /> + <item key="trustedservers" value="" /> + <item key="sslprotocol" value="tls12" /> <!-- ssl, tls, tls12 --> + <item key="sshkeydirectory" value="" /> <!-- Linux Only --> + <item key="shell" value="" /> </config> appControlAgent@macbook /usr/src/app/xcagent%

    - - - - - - - - - - - - - -
    -
    - - + + + - - - - - - - -
    -
    -
    - -
    - - - - - - - - - + +
    +
    +
    +
    + + + \ No newline at end of file