[
https://issues.apache.org/jira/browse/METRON-2102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tibor Meller updated METRON-2102:
---------------------------------
Summary: [UI] Adding click-through navigation to Alerts table (was: [UI]
Impl Click Through navigation on Alerts UI)
> [UI] Adding click-through navigation to Alerts table
> ----------------------------------------------------
>
> Key: METRON-2102
> URL: https://issues.apache.org/jira/browse/METRON-2102
> Project: Metron
> Issue Type: Sub-task
> Reporter: Tibor Meller
> Assignee: Tibor Meller
> Priority: Major
>
> h2. Working Branch on github
> [https://github.com/tiborm/metron/tree/feature/click-through]
> The feature is by default turned on with a simple configuration so it
> immediately shows up on the Alert UI if you check out the branch above.
> h1. About the feature
> Click Through Navigation is a feature makes Metron Users able to reach other
> web services via dynamically created URLs by clicking link item in a context
> menu.
> This context menu (aka. click-through menu) is attached to the alerts table
> and the links are populated with alert data from the specific row of the
> table.
> h2. Attaching and configuring click-through menu to a column
> Items and URLs in the context menu based on a configuration (this is
> currently a JSON file). A configuration could be attached to a cell or a row.
> If you like to attach a menu configuration to a cell of a column you should
> use the field id (what field of the alert populates the column) to target the
> particular column.
> For example, the following configuration adding the "Whois Reputation
> Service" item to the context menu which appears if the user left click on a
> value in the "host" column:
> {
> "host": [
> {
> "label": "Whois Reputation Service",
> "urlPattern": "https://www.whois.com/whois/{}"
> }
> ]
> }
> Clicking on the item opens another browser tab and call the URL in the
> urlPattern config field. "{}" at the end of the pattern stands for being a
> default placeholder and it will be replaced by the value of the host field in
> the particular row which was clicked.
> But in the configuration, any available alert property field could be
> referenced like the following:
> {
> "host": [
> { "label": "Whois Reputation Service", "urlPattern":
> "https://www.whois.com/whois/
> {ip_src_addr}
>
> "
> }
> ]
> }
> In this case however the menu attached to the host column the place holder
> will be resolved with the value of the ip_src_addr field of the particular
> alert item.
> You can reference multiple fields and can combine default and specific
> placeholders:
> {
> "host": [
> {
> "label": "Whois Reputation Service",
> "urlPattern":
> "https://www.whois.com/whois/{}?srcip=\{ip_src_addr}&destip=\{ip_dest_addr}"
> }
> ]
> }
>
> Configuration to a particular column could contain multiple menu items like
> in the following example:
> "ip_src_addr": [
>
> \{ "label": "IP Investigation Notebook", "urlPattern":
> "http://zepellin.example.com:9000/notebook/someid?ip={ip_src_addr}
> "
> },
> { "label": "IP Conversation Investigation", "urlPattern":
> "http://zepellin.example.com:9000/notebook/someid?ip_src_addr=
> {ip_src_addr}
>
> &ip_dst_addr=\{ip_dst_addr}"
> }
> ],
> h2. Attaching and configuring click-through menu to rows
>
> In the case of rows, we distinguish simple alerts and meta alerts. So these
> two types are configurable separately.
>
> {
> "alertEntry": [
>
> \{ "label": "Internal ticketing system", "urlPattern":
> "http://mytickets.org/tickets/ {id}
>
> "
> }
> ],
> "metaAlertEntry": [
>
> \{ "label": "MetaAlert specific item", "urlPattern":
> "http://mytickets.org/tickets/{id}
>
> "
> }
> ]
> }
>
>
> These two keyword: "alertEntry" and "metaAlertEntry" stand for configuring
> menu attached to alert and meta alert rows.
> When the user clicking on a value it is recognized as a cell/column specific
> click and the menu configured to the particular field/column will appear.
> If the user clicks outside of value (to the blank space between values) it
> will be recognized as a row click and alert or meta alert specific
> click-through menu will show up depending on the type of the row.
> h2. How to reach the config file
>
> The config JSON (until we providing an admin UI for this feature) is
> available for editing to field engineers or other professionals who have ssh
> access to metron deployment.
> In our Metron source code the click-through configuration JSON file
> available in the following path:
> /metron/metron-interface/metron-alerts/src/assets/context-menu.conf.json
> One can change this before deploying the UI to configure click-through
> menus. Or one can find the same config file on a deployed system by ssh to
> the system and following this path:
> /usr/metron/\{version}/web/alerts-ui/assets/context-menu.conf.json
>
>
>
> The default configuration at the time of writing looks like the following:
> {
> "alertEntry": [
>
> \{ "label": "Internal ticketing system", "urlPattern":
> "http://mytickets.org/tickets/ {id}
>
> "
> }
> ],
> "metaAlertEntry": [
>
> \{ "label": "MetaAlert specific item", "urlPattern":
> "http://mytickets.org/tickets/{id}
>
> "
> }
> ],
> "id": [
> {
> "label": "Dynamic menu item 01",
> "urlPattern": "http://mytickets.org/tickets/{}"
> }
> ],
> "ip_src_addr": [
>
> \{ "label": "IP Investigation Notebook", "urlPattern":
> "http://zepellin.example.com:9000/notebook/someid?ip={ip_src_addr}
> "
> },
> { "label": "IP Conversation Investigation", "urlPattern":
> "http://zepellin.example.com:9000/notebook/someid?ip_src_addr=
> {ip_src_addr}
>
> &ip_dst_addr=\{ip_dst_addr}"
> }
> ],
> "ip_dst_addr": [
>
> \{ "label": "IP Investigation Notebook", "urlPattern":
> "http://zepellin.example.com:9000/notebook/someid?ip= {ip_dst_addr}
>
> "
> },
>
> \{ "label": "IP Conversation Investigation", "urlPattern":
> "http://zepellin.example.com:9000/notebook/someid?ip_src_addr={ip_src_addr}
> &ip_dst_addr=\{ip_dst_addr}"
> }
> ],
> "host": [
> {
> "label": "Whois Reputation Service",
> "urlPattern": "https://www.whois.com/whois/{}"
> }
> ]
> }
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)