Skip to content
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions menu/navigation.json
Original file line number Diff line number Diff line change
Expand Up @@ -2538,6 +2538,24 @@
"label": "API/CLI",
"slug": "api-cli"
},
{
"items": [
{
"label": "Dealing with Database Instance unavailability",
"slug": "database-instance-unavailable"
},
{
"label": "Dealing with Database Instance connectivity issues",
"slug": "database-instance-connectivity-issues"
},
{
"label": "Dealing with Database Instance performance issues",
"slug": "database-instance-performance-issues"
}
],
"label": "Troubleshooting",
"slug": "troubleshooting"
},
{
"items": [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ meta:
content:
h1: Dealing with Database Instance connectivity issues
paragraph: Troubleshoot Database Instance connectivity issues for Managed Databases for MySQL and PostgreSQL.
tags: disk-full databases
tags: connectivity databases
dates:
validation: 2025-01-29
posted: 2025-01-29
Expand Down Expand Up @@ -145,5 +145,5 @@ Run the script in a terminal:
```
export INSTANCE_IP=<xxx.xxx.xxx.xxx>
export INSTANCE_PORT=<xxxxx>
./troubleshoot.sh
./rdb_troubleshoot.sh
```
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ meta:
content:
h1: Dealing with Database Instance performance issues
paragraph: Troubleshoot Database Instance performance issues in Managed Databases for MySQL and PostgreSQL.
tags: disk-full databases
tags: databases performance
dates:
validation: 2025-01-29
posted: 2025-01-29
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ categories:
- postgresql-and-mysql
---

## My Database Instance is unavailable

## Problem

My Database Instance is unavailable.
Expand All @@ -31,4 +33,21 @@ You can monitor your Database Instance activity to be able to quickly identify a

- Check if the usage is regular. Database Instance can be impacted by high data loads or unexpected high traffic from an app or website, for example
- Check if there are slow queries in the Database Instance log. Huge or sub-optimized queries can fill up all the memory and trigger OOM kills
- Check the Database Instance logs for any unusual or suspicious activity
- Check the Database Instance logs for any unusual or suspicious activity

## My Database Instance is in stuck state

## Problem

My Database Instance is currently in a stuck state.

## Possible causes

- A maintenance operation on Scaleway's side is taking longer than usual and timed out, making the Database Instance go into a transitional state

## Solution

If the Database Instance is sent to a transitional state, the Scaleway Databases team receives an alert and will act on the issue as soon as possible.

If you observe the resolution is taking longer than usual, [create a support ticket](/account/how-to/open-a-support-ticket/#writing-an-effective-subject-and-description) to let us know.

Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
---
meta:
title: Dealing with Redis™ Database Instance connectivity issues
description: Troubleshoot Database Instance connectivity issues for Managed Databases for Redis™.
content:
h1: Dealing with Redis™ Database Instance connectivity issues
paragraph: Troubleshoot Database Instance connectivity issues for Managed Databases for Redis™.
tags: disk-full databases
dates:
validation: 2025-02-12
posted: 2025-02-12
categories:
- managed-databases
- redis
---

## Public access

### Problem

I cannot connect to my Redis™ Database Instance through the public network.

### Possible causes

- The Database Instance TLS certificate is outdated
- Your allowed IPs are not properly configured
- You have reached the maximum number of connections
- The Database Instance is experiencing instabilities due to a high load

### Solution

You can check the following points to identify and act on what might be causing the issue:

1. If TLS is enabled on the Database Instance, make sure the certificate is up to date, and that your client application is properly configured.
2. Make sure your [ACLs](/managed-databases-for-redis/concepts/#allowed-ips) are [properly configured](/managed-databases-for-redis/how-to/manage-allowed-ip-addresses-redis).
3. Make sure your Database Instance has not reached the maximum number of connections stipulated in the advanced settings of the Database Instance. You can monitor the number of connections on Cockpit. You can also [adjust the advanced settings](/managed-databases-for-redis/how-to/configure-advanced-settings-redis) to accept a higher number of connections.
4. [Monitor other usage metrics on Cockpit](/managed-databases-for-postgresql-and-mysql/how-to/monitor-databases-cockpit) to:

- Check if the memory usage is nominal. High memory usage could trigger OOM Kills and cause disconnection
- Check Database Instance logs and look for anything else that could explain the issue

## Private access

### Problem

I cannot connect to my Database Instance through a Private Network.

### Possible causes

- The Database Instance TLS certificate is outdated
- Client network issue
- You have reached the maximum number of connections
- The Database Instance is experiencing instabilities due to a high load

### Solution

You can carry out the following actions:

1. Try to connect to the Database Instance from the public endpoint, if one is available, to identify the possible origin (network or instance). This information can help you or the support team to identify the issue.
2. [Use Cockpit](/managed-databases-for-redis/how-to/monitor-databases-cockpit) to check database logs and look for any activity or behavior that could explain the issue.
3. Create a support ticket if the first two steps do not help troubleshoot the issue. In the body of the ticket, make sure you provide:

- The resource ID of resource from which the connection was attempted
- The output of the `redis_troubleshoot.sh` script, indicated below. Make sure you execute the script on the machine from which the connection was attempted.

#### Database Instance connectivity check script

`redis_troubleshoot.sh`:

```sh
#!/bin/bash

set -o nounset

if [ -z "$INSTANCE_IP" ]; then
echo "INSTANCE_IP is a mandatory environment variable."
echo "e.g. export INSTANCE_IP=<xxx.xxx.xxx.xxx>"
exit 1
fi

if [ -z "$INSTANCE_PORT" ]; then
echo "INSTANCE_PORT is a mandatory environment variable."
echo "e.g. export INSTANCE_PORT=<xxxxx>"
exit 1
fi

function header() {
echo -e "\n # ${1}"
echo -e "---------------------------------\n"
}

echo -e "\nREDIS troubleshooting script\nThis script will run for several minutes to get enough information."
header "Host information"
if ! [ -x "$(command -v uname)" ]; then
echo 'Skipped: uname command is not availabe.'
else
uname -a
fi

header "Host connectivity check"
if ! [ -x "$(command -v ping)" ]; then
echo 'Skipped: ping command is not availabe.'
else
ping -c 5 ${INSTANCE_IP}
fi

header "Database connectivity check"
if ! [ -x "$(command -v telnet)" ]; then
# try to fallback on curl telnet
if ! [ -x "$(command -v curl)" ]; then
echo "Skipped: neither telnet nor curl command are availabe."
else
echo "(using curl)"
timeout 2 curl -v telnet://$INSTANCE_IP:$INSTANCE_PORT
fi
else
echo "(using telnet)"
echo -n | telnet ${INSTANCE_IP} ${INSTANCE_PORT}
fi

header "Ip configuration check"
if ! [ -x "$(command -v ip)" ]; then
echo 'Skipped: ip command is not availabe.'
else
echo -e "Interfaces:\n- \n"
ip a
echo -e "\nNeighbour:\n- \n"

TEST_ITERATION=30
TEST_INTERVAL=10 # seconds

# Iterate a few times to try to catch relevant info
for ((i=1;i<=$TEST_ITERATION;i++)); do
echo -e "\nIteration $i:\n"
ip neighbour show
echo -e "\nWaiting ${TEST_INTERVAL}s...\n"
sleep $TEST_INTERVAL
done
echo -e "\nRoute:\n-\n"
ip route
fi
```
Run the script in a terminal:

```
export INSTANCE_IP=<xxx.xxx.xxx.xxx>
export INSTANCE_PORT=<xxxxx>
./redis_troubleshoot.sh
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
meta:
title: Dealing with Database Instance performance issues
description: Troubleshoot Database Instance performance issues in Managed Databases for Redis™.
content:
h1: Dealing with Database Instance performance issues
paragraph: Troubleshoot Database Instance performance issues in Managed Databases for Redis™.
tags: databases performance
dates:
validation: 2025-02-13
posted: 2025-02-13
categories:
- managed-databases
- redis
---

## Problem

My Database Instance is not performing as expected.

## Possible causes

- High data loads
- High incoming traffic from specific apps or websites
- Huge or sub-optimized SQL queries

## Solution

You can [Monitor usage metrics on Cockpit](/managed-databases-for-redis/how-to/monitor-databases-cockpit) to check if the usage is nominal.

The Database Instance can be impacted by high data loads or unexpected high traffic from an app or website, for example. You can [scale up your Instance](/managed-databases-for-redis/how-to/scale-up-a-database-for-redis) if necessary.
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
meta:
title: Dealing with Database Instance unavailability
description: Troubleshoot Database Instance unavailability for Managed Databases for Redis™.
content:
h1: Dealing with Database Instance unavailability
paragraph: Troubleshoot Database Instance unavailability for Managed Databases for Redis™L.
tags: unavailability databases
dates:
validation: 2025-02-17
posted: 2025-02-17
categories:
- managed-databases
- redis
---

## Problem

My Database Instance is unavailable.

## Possible causes

- High data loads
- High incoming traffic from specific apps or websites

## Solution

You can monitor your Database Instance activity to be able to quickly identify and act on irregular activities that might be causing the instability/unavailability.

[Monitor usage metrics on Cockpit](/managed-databases-for-redis/how-to/monitor-databases-cockpit) to:

- Check if the usage is regular. Database Instance can be impacted by high data loads or unexpected high traffic from an app or website, for example
- Check the Database Instance logs for any unusual or suspicious activity
9 changes: 9 additions & 0 deletions pages/managed-databases-for-redis/troubleshooting/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
meta:
title: Managed Database for Redis™ - Troubleshooting
description: Troubleshoot common issues with Redis™ databases.
content:
h1: Managed Database for Redis™ - Troubleshooting
paragraph: Troubleshoot common issues with Redis™ databases.
---