Linux Discovery Troubleshooting
1. Discovery May fail.
- Check discover logs and restart the discovery.
- If rediscovery doesn't work, Contact the support.
2. Discovery taking too much of time.
- Discovery may may get stuck due to network delays.
- We recommend to check network latency and restart the discovery.
- If restarting discovery doesn't work, try "Force Discover"
- If it fails, Contact the support.
3. Attach May fail.
- Check x-ray logs and retry x-ray start.
- If it fails, Contact the support.
4. Detach May fail.
- Check x-ray logs and retry x-ray stop.
- If it fails, Contact the support.
5. Analyze May fail.
- Contact the support.
6. Attach/Detach May get stuck for longer time.
- Contact the support.
7. Running a 32-bit application on a 64-bit computer throws an error
Problem Statement:
When you run a 32-bit application on a 64-bit computer, you may get the following error message:
/opt/ch-run.sh: </binary/locations>: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Solution:
There are two steps that must be carried out so that running the 32-bit application on a 64-bit computer does not throw an error. The steps are:
Step 1: Check if the binary file is a 32-bit file and if the application necessitates a 32-bit binary file only.
Step 2: Check if the binary file requires installation of glibc.i686 to start the process. Add the glibc.i686 install command in the the docker file:
RUN yum install -y glibc. I686
Result:
The 32-bit application runs smoothly on a 64-bit computer.
8. Xray may fail to mysql process.
Problem Statement:
- If the Application (mysql) is started with systemd, The associaged systemd unit file has a clause:
RuntimeDirectory=mysqld
- which creates a runtime directory “/run/mysqld“ on filesystem with ownership as “mysql:mysql“.
- This clause also makes sure to remove this directory once the
systemctl stop mysql
gets invoked. - Here Xray may fail while restarting process with probe.
- Xray fails as run directory is missing. This run directory is needed to create the pid file and runtime socket files if any
Solution:
Below is the workaround:
- Stop the mysql Application:
sudo systemctl stop mysql
- Typical systemd unit file path:
/lib/systemd/system/mysql.service
- comment the
RuntimeDirectory=mysqld
clause in unit file as:#RuntimeDirectory=mysqld
- Reload systemd configuration:
sudo systemctl daemon-reload
- Pre-create the run file directory:
sudo mkdir -p /run/mysqld
- Add ownership:
sudo chown mysql:mysql /run/mysqld/
- Start the mysql Application:
sudo systemctl start mysql
- Rediscover the machine and start the Xray.