# Rally test failed with SSL error

**URL:** <https://discuss.elastic.co/t/rally-test-failed-with-ssl-error/181650>\
**Category:** Elasticsearch\
**Tags:** rally\
**Created:** [May 17, 2019, 8:03pm UTC](https://discuss.elastic.co/t/rally-test-failed-with-ssl-error/181650 "2019-05-17T20:03:26Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![elasticforme](https://avatars.discourse-cdn.com/v4/letter/e/f05b48/32.png) [@elasticforme](https://discuss.elastic.co/u/elasticforme)\
**Post date:** [May 17, 2019, 8:03pm UTC](https://discuss.elastic.co/t/rally-test-failed-with-ssl-error/181650/1 "2019-05-17T20:03:26Z")

</div>

Installed rally today to setup benchmarking test.

but it fails with some kind of SSL certificate error. I do not have any security setup on my elasticsearch. but going out from this machine to internet need http proxy which I setup.

here is the some part of the log  
2019-05-17 19:37:49,340 -not-actor-/PID:14504 [esrally.utils.net](http://esrally.utils.net) INFO Connecting via proxy URL [[http://104.129.204.32:80](http://104.129.204.32:80)] to the Internet (picked up from the env variable [http\_proxy]).  
2019-05-17 19:37:50,284 -not-actor-/PID:14504 esrally.rally INFO Detected a working Internet connection.

It detected proxy properly.  
First some kind of error in log is  
2019-05-17 19:37:54,464 ActorAddr-(T|:46529)/PID:14513 esrally.actor INFO Received a benchmark failure from [ActorAddr-(T|:39139)] and will forward it now.

and then following

```
2019-05-17 19:37:54,467 -not-actor-/PID:14504 esrally.racecontrol ERROR A benchmark failure has occurred
2019-05-17 19:37:54,467 -not-actor-/PID:14504 esrally.racecontrol INFO Telling benchmark actor to exit.
2019-05-17 19:37:51,874 ActorAddr-(T|:45923)/PID:14631 esrally.utils.repo INFO Rebasing on [7] in [/root/.rally/benchmarks/teams/default] for distribution version [7.0.1].
2019-05-17 19:37:54,468 -not-actor-/PID:14504 esrally.rally INFO Attempting to shutdown internal actor system.
2019-05-17 19:37:51,951 ActorAddr-(T|:45923)/PID:14631 esrally.mechanic.java_resolver INFO Allowed JDK versions are [12, 11, 8].
2019-05-17 19:37:54,468 ActorAddr-(T|:46529)/PID:14513 esrally.actor INFO BenchmarkActor received unknown message [ActorExitRequest] (ignoring).
2019-05-17 19:37:52,207 ActorAddr-(T|:45923)/PID:14631 esrally.mechanic.java_resolver INFO Detected JDK with major version [8] in [/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64/jre].
2019-05-17 19:37:54,469 ActorAddr-(T|:39139)/PID:14572 esrally.actor INFO MechanicActor#receiveMessage unrecognized(msg = [<class 'thespian.actors.ActorExitRequest'>] sender = [ActorAddr-(T|:46529)])
2019-05-17 19:37:52,208 ActorAddr-(T|:45923)/PID:14631 esrally.mechanic.supplier INFO Resolved download URL [https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-7.0.1-linux-x86_64.tar.gz] for version [7.0.1]
2019-05-17 19:37:54,471 ActorAddr-(T|:46529)/PID:14513 esrally.actor INFO BenchmarkActor received unknown message [ActorExitRequest] (ignoring).
2019-05-17 19:37:54,471 ActorAddr-(T|:37001)/PID:14630 esrally.actor INFO mechanic.Dispatcher#receiveMessage unrecognized(msg = [<class 'thespian.actors.ActorExitRequest'>] sender = [ActorAddr-(T|:39139)])
2019-05-17 19:37:52,209 ActorAddr-(T|:45923)/PID:14631 esrally.mechanic.supplier INFO Starting download of Elasticsearch [7.0.1]
2019-05-17 19:37:54,456 ActorAddr-(T|:45923)/PID:14631 esrally.actor ERROR Cannot process message [<esrally.mechanic.mechanic.StartNodes object at 0x7f41e74c31d0>]
Traceback (most recent call last):

  File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 595, in urlopen
    self._prepare_proxy(conn)

  File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 816, in _prepare_proxy
    conn.connect()

  File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 326, in connect
    ssl_context=context)

  File "/usr/local/lib/python3.6/site-packages/urllib3/util/ssl_.py", line 329, in ssl_wrap_socket
    return context.wrap_socket(sock, server_hostname=server_hostname)

  File "/usr/lib64/python3.6/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)

  File "/usr/lib64/python3.6/ssl.py", line 814, in __init__
    self.do_handshake()

  File "/usr/lib64/python3.6/ssl.py", line 1068, in do_handshake
    self._sslobj.do_handshake()

  File "/usr/lib64/python3.6/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()

ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841)

```

This is test machine setup with elk 7.01. can I just not use that rather then setting up new elk.

---

<div class="post-metadata">

**Author:** ![dliappis](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dliappis/32/56174_2.png) [@dliappis](https://discuss.elastic.co/u/dliappis)\
**Post date:** [May 21, 2019, 9:19am UTC](https://discuss.elastic.co/t/rally-test-failed-with-ssl-error/181650/2 "2019-05-21T09:19:03Z")

</div>

Hello @elasticforme,

You didn't provide the exact Rally command, but I presume you didn't specify a pipeline. By default Rally will attempt to setup Elasticsearch for you but in your case you have an externally provisioned cluster so please refer to the documents for [pipelines](https://esrally.readthedocs.io/en/stable/pipelines.html?highlight=pipeline#pipelines). You'll need to use the pipeline `benchmark-only`: [https://esrally.readthedocs.io/en/stable/pipelines.html?highlight=pipeline#benchmark-only](https://esrally.readthedocs.io/en/stable/pipelines.html?highlight=pipeline#benchmark-only)

---

<div class="post-metadata">

**Author:** ![elasticforme](https://avatars.discourse-cdn.com/v4/letter/e/f05b48/32.png) [@elasticforme](https://discuss.elastic.co/u/elasticforme)\
**Post date:** [May 21, 2019, 4:21pm UTC](https://discuss.elastic.co/t/rally-test-failed-with-ssl-error/181650/3 "2019-05-21T16:21:12Z")

</div>

This is command I used.  
I will go through this document and test the way it has describe.

# esrally --distribution-version=7.0.1 --track=metricbeat --challenge=append-no-conflicts

---

<div class="post-metadata">

**Author:** ![elasticforme](https://avatars.discourse-cdn.com/v4/letter/e/f05b48/32.png) [@elasticforme](https://discuss.elastic.co/u/elasticforme)\
**Post date:** [May 21, 2019, 4:53pm UTC](https://discuss.elastic.co/t/rally-test-failed-with-ssl-error/181650/4 "2019-05-21T16:53:58Z")

</div>

Allright it is working.  
this is what I did. if someone else has same problem.  
Thank you @dliappis

/root/.local/bin/esrally list tracks  
download.sh geoshape

mv that to /root and untar it.

# /root/.local/bin/esrally --pipeline=benchmark-only --target-hosts=localhost:9200

and it started working.

then I downloaded other tracks as well.  
now I should be able to benchmark using different track as biggest track is geoshape.

---

<div class="post-metadata">

**Author:** ![dliappis](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dliappis/32/56174_2.png) [@dliappis](https://discuss.elastic.co/u/dliappis)\
**Post date:** [May 21, 2019, 4:56pm UTC](https://discuss.elastic.co/t/rally-test-failed-with-ssl-error/181650/5 "2019-05-21T16:56:39Z")

</div>

@elasticforme your command looks good to me and specifying `distribution-version` will automatically set the right pipeline, so this is a different problem to what I was thinking. It works fine locally for me.

Can you check the Elasticsearch logs? Assuming you've just executed the above rally command, logs are under `~/.rally/benchmarks/races/<date>/rally-node-0/logs/server/*.log` so you can use something like this to get the logs and paste here: `cat $(ls -td -- ~/.rally/benchmarks/races/* | head -n1)/rally-node-0/logs/server/rally-benchmark.log`

---

<div class="post-metadata">

**Author:** ![dliappis](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dliappis/32/56174_2.png) [@dliappis](https://discuss.elastic.co/u/dliappis)\
**Post date:** [May 21, 2019, 4:59pm UTC](https://discuss.elastic.co/t/rally-test-failed-with-ssl-error/181650/6 "2019-05-21T16:59:03Z")

</div>

> [@elasticforme](#):
>
> Allright it is working.  
> this is what I did. if someone else has same problem.  
> ...  
> `# /root/.local/bin/esrally --pipeline=benchmark-only --target-hosts=localhost:9200`

Ok glad to hear you have things working. Your earlier command `esrally --distribution-version=7.0.1 --track=metricbeat --challenge=append-no-conflicts` will attempt to download run Elasticsearch 7.0.1 by Rally itself (it will listen on port 39200).

Using the latest command you provided it will assume an Elasticsearch is already running on `localhost:9200`.

---

<div class="post-metadata">

**Author:** ![elasticforme](https://avatars.discourse-cdn.com/v4/letter/e/f05b48/32.png) [@elasticforme](https://discuss.elastic.co/u/elasticforme)\
**Post date:** [May 21, 2019, 8:43pm UTC](https://discuss.elastic.co/t/rally-test-failed-with-ssl-error/181650/7 "2019-05-21T20:43:02Z")

</div>

Run few test on local system and on remote elk clusters.

are there premade dashboard jason out there for it?

I stumble upon this thread and it has lot of dashboard. but can't figure out how to configure it.

[https://elasticsearch-benchmark-analytics.elastic.co/app/kibana#/dashboards?\_g=(refreshInterval:(display:Off,pause:!f,value:0),time:(from:now-90d,mode:quick,to:now))&filter=](https://elasticsearch-benchmark-analytics.elastic.co/app/kibana#/dashboards?_g=(refreshInterval:(display:Off,pause:!f,value:0),time:(from:now-90d,mode:quick,to:now))&filter=)

---

<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 18, 2019, 8:43pm UTC](https://discuss.elastic.co/t/rally-test-failed-with-ssl-error/181650/8 "2019-06-18T20:43:08Z")

</div>

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