# Unable to include fields present in index while using email action in watcher

**URL:** https://discuss.elastic.co/t/unable-to-include-fields-present-in-index-while-using-email-action-in-watcher/179975
**Category:** Elasticsearch
**Tags:** elastic-stack-reporting, elastic-stack-alerting
**Created:** [May 7, 2019, 12:42pm UTC](https://discuss.elastic.co/t/unable-to-include-fields-present-in-index-while-using-email-action-in-watcher/179975 "2019-05-07T12:42:29Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Vishnu\_mk](https://avatars.discourse-cdn.com/v4/letter/v/71c47a/32.png) [@Vishnu\_mk](https://discuss.elastic.co/u/Vishnu_mk)
#### Post date: [May 7, 2019, 12:42pm UTC](https://discuss.elastic.co/t/unable-to-include-fields-present-in-index-while-using-email-action-in-watcher/179975/1 "2019-05-07T12:42:29Z")

</div>

This is my hearbeat configuration  
heartbeat.config.monitors:

# Directory + glob pattern to search for configuration files

path: ${path.config}/monitors.d/\*.yml

# If enabled, heartbeat will periodically check the config.monitors path for changes

reload.enabled: false

# How often to check for changes

reload.period: 5s

# Configure monitors inline

heartbeat.monitors:

- type: http

# ssl:

# certificate\_authorities: ['/home/actived/cert/onlineregistration\_org.cer']

# supported\_protocols: ["TLSv1.0", "TLSv1.1", "TLSv1.2"]

# Total test connection and data exchange timeout

#timeout: 16s

#==================== Elasticsearch template setting ==========================

setup.template.settings:  
index.number\_of\_shards: 1  
index.codec: best\_compression  
#\_source.enabled: false

#================================ General =====================================

# The name of the shipper that publishes the network data. It can be used to group

# all the transactions sent by a single shipper in the web interface.

#name:

# The tags of the shipper are included in their own field with each

# transaction published.

#tags: ["service-X", "web-tier"]

# Optional fields that you can specify to add additional information to the

# output.

#fields:

# env: staging

#============================== Dashboards =====================================

# These settings control loading the sample dashboards to the Kibana index. Loading

# the dashboards is disabled by default and can be enabled either by setting the

# options here, or by using the `-setup` CLI flag or the `setup` command.

#setup.dashboards.enabled: false

# The URL from where to download the dashboards archive. By default this URL

# has a value which is computed based on the Beat name and version. For released

# versions, this URL points to the dashboard archive on the [artifacts.elastic.co](http://artifacts.elastic.co)

# website.

#setup.dashboards.url:

#============================== Kibana =====================================

# Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API.

# This requires a Kibana endpoint configuration.

setup.kibana:

# Kibana Host

# Scheme and port can be left out and will be set to the default (http and 5601)

# In case you specify and additional path, the scheme is required: [http://localhost:5601/path](http://localhost:5601/path)

# IPv6 addresses should always be defined as: https://[2001:db8::1]:5601

#host: "localhost:5601"

# Kibana Space ID

# ID of the Kibana Space into which the dashboards should be loaded. By default,

# the Default Space will be used.

#space.id:

#============================= Elastic Cloud ==================================

# These settings simplify using heartbeat with the Elastic Cloud ([https://cloud.elastic.co/](https://cloud.elastic.co/)).

# The cloud.id setting overwrites the `output.elasticsearch.hosts` and

# `setup.kibana.host` options.

# You can find the `cloud.id` in the Elastic Cloud web UI.

#cloud.id:

# The cloud.auth setting overwrites the `output.elasticsearch.username` and

# `output.elasticsearch.password` settings. The format is `<user>:<pass>`.

#cloud.auth:

#================================ Outputs =====================================

# Configure what output to use when sending the data collected by the beat.

#-------------------------- Elasticsearch output ------------------------------  
output.elasticsearch:

# Array of hosts to connect to.

hosts: ["172.25.11.124:9204"]

# Enabled ilm (beta) to use index lifecycle management instead daily indices.

#ilm.enabled: false

# Optional protocol and basic auth credentials.

#protocol: "https"  
username: "elastic"  
password: "password"  
#----------------------------- Logstash output --------------------------------  
#output.logstash:

# The Logstash hosts

#hosts: ["localhost:5044"]

# Optional SSL. By default is off.

# List of root certificates for HTTPS server verifications

#ssl.certificate\_authorities: ["/etc/pki/root/ca.pem"]

# Certificate for SSL client authentication

#ssl.certificate: "/etc/pki/client/cert.pem"

# Client Certificate Key

#ssl.key: "/etc/pki/client/cert.key"

#================================ Processors =====================================

# Configure processors to enhance or manipulate events generated by the beat.

processors:

- add\_host\_metadata: ~
- add\_cloud\_metadata: ~

#================================ Logging =====================================

# Sets log level. The default log level is info.

# Available log levels are: error, warning, info, debug

#logging.level: debug

# At debug level, you can selectively enable logging only for some components.

# To enable all selectors use ["\*"]. Examples of other selectors are "beat",

# "publish", "service".

#logging.selectors: ["\*"]

#============================== Xpack Monitoring ===============================

# heartbeat can export internal metrics to a central Elasticsearch monitoring

# cluster. This requires xpack monitoring to be enabled in Elasticsearch. The

# reporting is disabled by default.

# Set to true to enable the monitoring reporter.

#xpack.monitoring.enabled: false

# Uncomment to send the metrics to Elasticsearch. Most settings from the

# Elasticsearch output are accepted here as well. Any setting that is not set is

# automatically inherited from the Elasticsearch output configuration, so if you

# have the Elasticsearch output configured, you can simply uncomment the

# following line.

#xpack.monitoring.elasticsearch:`Preformatted text`

```
PUT _xpack/watcher/watch/my-watch1

```

{  
"trigger" : {  
"schedule" : { "cron" : "0 0/1 \* \* \* ?" }  
},  
"input" : {  
"search" : {  
"request" : {  
"indices" : [  
"heartbeat-\*"  
],  
"body" : {  
"query" : {  
"bool" : {  
"must": [  
{  
"term": {  
"monitor.status": {  
"value": "down"  
}  
}  
}  
],  
"filter" : {  
"range": {  
"@timestamp": {  
"from": "{{ctx.trigger.scheduled\_time}}||-5m",  
"to": "{{ctx.trigger.triggered\_time}}"  
}  
}  
}  
}  
}  
}  
}  
}  
},  
"condition" : {  
"compare" : { "ctx.payload.hits.total" : { "gt" : 0 }}  
},  
"actions" : {  
"email\_admin" : {  
"email" : {  
"to" : "vishnumk@nseit.com",  
"subject" : "down",  
"body" : "{{ctx.payload.http.url}}"  
}  
}  
}  
}`

I am receiving the mail when portal is down but im not receiving the http.url field from heartbeat index in my mail

---

<div class="post-metadata">

### Author: ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)
#### Post date: [May 8, 2019, 7:25am UTC](https://discuss.elastic.co/t/unable-to-include-fields-present-in-index-while-using-email-action-in-watcher/179975/2 "2019-05-08T07:25:57Z")

</div>

Hey,

please format your posts properly, you can use markdown code formatting in here - which makes your posts a million times easier to read, which in turn increases the likelihood of getting an answer. Thank you!

Also, I highly encourage you to read this [blog post](https://www.elastic.co/blog/watching-the-watches-writing-debugging-and-testing-watches) about debugging watches, as it will likely reduce the time you spent on debugging.

Lastly, the payload you are receiving looks **exactly** like a search request, which means that the data about single hits is included in `ctx.payload.hits.hits` array. Just execute that search via the dev tools console and see how the search response data structure looks like.

Hope this helps!

--Alex

---

<div class="post-metadata">

### Author: ![Vishnu\_mk](https://avatars.discourse-cdn.com/v4/letter/v/71c47a/32.png) [@Vishnu\_mk](https://discuss.elastic.co/u/Vishnu_mk)
#### Post date: [May 8, 2019, 12:59pm UTC](https://discuss.elastic.co/t/unable-to-include-fields-present-in-index-while-using-email-action-in-watcher/179975/3 "2019-05-08T12:59:23Z")

</div>

"hits" : {  
"hits" : [  
{  
"\_index" : "heartbeat-6.7.0-2019.05.08",  
"\_type" : "doc",  
"\_source" : {  
"tcp" : {  
"port" : 8081  
},  
"@timestamp" : "2019-05-08T12:49:43.243Z",  
"beat" : {  
"hostname" : "dbserver1",  
"name" : "dbserver1",  
"version" : "6.7.0"  
},  
"host" : {  
"os" : {  
"codename" : "Core",  
"name" : "CentOS Linux",  
"family" : "redhat",  
"version" : "7 (Core)",  
"platform" : "centos"  
},  
"containerized" : true,  
"name" : "dbserver1",  
"id" : "40adb1a64eaa4d0cb8f9c45422250ca2",  
"architecture" : "x86\_64"  
},  
"http" : {  
"url" : "[http://172.25.19.101:8081/TNPCB/](http://172.25.19.101:8081/TNPCB/)"  
},  
"monitor" : {  
"duration" : {  
"us" : 16000287  
},  
"scheme" : "http",  
"ip" : "172.25.19.101",  
"name" : "http",  
"id" : "http@[http://172.25.19.101:8081/TNPCB/](http://172.25.19.101:8081/TNPCB/)",  
"type" : "http",  
"status" : "down"  
},  
"event" : {  
"dataset" : "uptime"  
},

Please help me out how can i get my http.url field

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [June 5, 2019, 12:59pm UTC](https://discuss.elastic.co/t/unable-to-include-fields-present-in-index-while-using-email-action-in-watcher/179975/4 "2019-06-05T12:59:26Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
