Commit da251c64 authored by Drew Blessing's avatar Drew Blessing

Merge branch 'docs-slack-troubleshooting' into 'master'

Add troubleshooting section to Slack Notification Service

See merge request gitlab-org/gitlab-ce!24339
parents 52ceda44 b9d24891
...@@ -24,3 +24,53 @@ The Slack Notifications Service allows your GitLab project to send events (e.g. ...@@ -24,3 +24,53 @@ The Slack Notifications Service allows your GitLab project to send events (e.g.
Your Slack team will now start receiving GitLab event notifications as configured. Your Slack team will now start receiving GitLab event notifications as configured.
![Slack configuration](img/slack_configuration.png) ![Slack configuration](img/slack_configuration.png)
## Troubleshooting
If you're having trouble with the Slack integration not working, then start by
searching through the [Sidekiq logs](/doc/administration/logs.md#sidekiqlog)
for errors relating to your Slack service.
### Something went wrong on our end
This is a generic error shown in the GitLab UI and doesn't mean much by itself.
You'll need to look in [the logs](/doc/administration/logs.md#productionlog) to find
an error message and keep troubleshooting from there.
### `certificate verify failed`
You may see an entry similar to the following in your Sidekiq log:
```text
2019-01-10_13:22:08.42572 2019-01-10T13:22:08.425Z 6877 TID-abcdefg ProjectServiceWorker JID-3bade5fb3dd47a85db6d78c5 ERROR: {:class=>"ProjectServiceWorker", :service_class=>"SlackService", :message=>"SSL_connect returned=1 errno=0 state=error: certificate verify failed"}
```
This is probably a problem either with GitLab communicating with Slack, or GitLab
communicating with itself. The former is less likely since Slack's security certificates
should _hopefully_ always be trusted. We can establish which we're dealing with by using
the below rails console script.
```sh
# start a rails console:
sudo gitlab-rails console production
# or for source installs:
bundle exec rails console production
```
```ruby
# run this in the Rails console
# replace <SLACK URL> with your actual Slack URL
result = Net::HTTP.get(URI('https://<SLACK URL>'));0
# replace <GITLAB URL> with your actual GitLab URL
result = Net::HTTP.get(URI('https://<GITLAB URL>'));0
```
If it's an issue with GitLab not trusting HTTPS connections to itself, then you may simply
need to [add your certificate to GitLab's trusted certificates](https://docs.gitlab.com/omnibus/settings/ssl.html#install-custom-public-certificates).
If it's an issue with GitLab not trusting connections to Slack, then the GitLab
OpenSSL trust store probably got messed up somehow. Typically this is from overriding
the trust store with `gitlab_rails['env'] = {"SSL_CERT_FILE" => "/path/to/file.pem"}`
or by accidentally modifying the default CA bundle `/opt/gitlab/embedded/ssl/certs/cacert.pem`.
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment