This topic describes how to troubleshoot the issue of a machine group having no heartbeats on a host.
Machine group installation examples
Installation method | Scenarios |
This applies only when the server is an Alibaba Cloud Elastic Compute Service (ECS) instance, and both the ECS instance and the project belong to the same Alibaba Cloud account and are in the same region. | |
This applies when the server is an Alibaba Cloud ECS instance, and the ECS instance and the project belong to the same Alibaba Cloud account but are in different regions. | |
This applies when the server is an Alibaba Cloud ECS instance, and the ECS instance and the project are in the same region but belong to different Alibaba Cloud accounts. | |
|
Troubleshooting guide
Step 1: Check whether Logtail runs as expected. Check whether Logtail is running as expected on the server.
Step 2: Confirm that the IP address in the machine group is the one retrieved by Logtail. Confirm that the IP address in the machine group is the same as the IP address in the app_info.json file of Logtail. A mismatch can cause heartbeat failure.
Step 3: Check whether the Logtail startup parameters are correct. Check whether the project region configured in the
ilogtail_config.jsonfile is correct.Step 4: Check the network connection. Check whether the network connection between the server and the project is working correctly.
Step 5: Check whether the system time of the Logtail server is correct. If the system time is significantly faster or slower than the current time, you must change it.
Step 6: Check the user identifier for cross-account collection. If the server is not an ECS instance, or if the ECS instance and the project belong to different Alibaba Cloud accounts, you must check whether a correct user identifier is configured.
Step 7: If you use a custom identifier-based machine group, check whether a custom identifier is configured. If the machine group is a custom identifier-based machine group, check whether a custom identifier is configured.
Step 8: Restart Logtail. After you complete the preceding modifications, you must restart Logtail.
What to do next
If logs are still not collected after the heartbeat status is OK, you can troubleshoot the issue by viewing Logtail error messages. For more information, see View Logtail collection errors.
Step 1: Check whether Logtail runs as expected
Linux
Log on to the server where Logtail is installed.
Run the following command:
ps -ef | grep ilogtailIf two records similar to the following are returned, Logtail is running normally. The records represent the Logtail daemon process and the Logtail worker process.
UID PID PPID C STIME TTY TIME CMD ... root 12 1 0 Nov10 ? 00:00:00 /usr/local/ilogtail/ilogtail root 14 12 0 Nov10 ? 03:07:43 /usr/local/ilogtail/ilogtail ...ImportantIf three or more Logtail process records are returned, multiple Logtail instances are running on the server. This poses a risk of duplicate data collection. Check if this is the intended behavior.
This result indicates that the Logtail process is not running.
Logtail is installed but not started. For more information, see Start and stop Logtail (Linux).
Logtail is not installed. You can install Logtail. For more information, see Install Logtail (Linux).
ImportantWhen you install Logtail, select a supported operating system. Select installation parameters based on the region of your Simple Log Service project. Select an installation method based on your network type. For more information about network types, see Logtail network types, startup parameters, and configuration files.
Windows
Log on to the server where Logtail is installed.
Open the Run window and enter
services.msc.View the running status of the LogtailDaemon service (for Logtail 1.0.0.0 and later) or the LogtailWorker service (for Logtail 0.x.x.x).
The service is not running.
Logtail is installed but not started. For more information, see Manually start and stop Logtail (Windows).
Logtail is not installed. You can install Logtail. For more information, see Install Logtail (Windows).
ImportantWhen you install Logtail, select a supported operating system. Select installation parameters based on the region of your Simple Log Service project. Select an installation method based on your network type. For more information about network types, see Logtail network types, startup parameters, and configuration files.
Step 2: Confirm that the IP address in the machine group is the one obtained by Logtail
Logtail obtains the IP address of a Linux server in one of the following ways:
If you do not set a hostname binding, Logtail obtains the IP address of the first network interface controller (NIC) on the server.
To use a custom IP address, you can set the
working_ipparameter in theilogtail_config.jsonfile as described in Step 3. After you set this parameter, the value of theipfield in theapp_info.jsonfile is automatically updated to match the value of theworking_ipfield. For more information about working_ip, see Set startup parameters.If you set a hostname binding in the
/etc/hostsfile, Logtail obtains the IP address that corresponds to the bound hostname.
Retrieve the value of the
ipfield from the app_info.json file.The following table describes the default paths of this file for different operating systems.
Operating system
Logtail
Path to the app_info.json file
Linux
Logtail (64-bit program)
/usr/local/ilogtail/app_info.json
Windows (64-bit OS)
Logtail (64-bit program)
C:\Program Files\Alibaba\Logtail\app_info.json
Logtail (32-bit program)
C:\Program Files (x86)\Alibaba\Logtail\app_info.json
Windows (32-bit OS)
Logtail (32-bit program)
C:\Program Files\Alibaba\Logtail\app_info.json
Logtail records the retrieved IP address in the
ipfield of the app_info.json file.{ "UUID" : "", "hostname" : "iZ8vbdlzf******azuhZ", "instance_id" : "E9633380-***********-00163E1AA597_172.16.2.200_166****11", "ip" : "172.**.**.200", "logtail_version" : "1.3.1", "os" : "Linux; 4.19.91-26.1.al7.x86_64; #1 SMP Tue Jul 26 17:52:28 CST 2022; x86_64", "update_time" : "2022-12-27 05:38:33" }Confirm that the machine group uses the IP address retrieved by Logtail.
Simple Log Service machine groups include IP-based machine groups and custom identifier-based machine groups. For more information, see Machine groups.
IP-based machine group: Verify that the IP Address field contains the IP address from the previous step.
If the IP address is not included, confirm the correct IP address for the host. If the IP Address text box contains another IP address for the target Logtail, such as a public IP address, modify the IP address in the IP-based machine group. If the IP address from the previous step is incorrect, change the working_ip parameter as described in Set Logtail startup parameters and restart Logtail. Then, check if the machine heartbeat is normal. If the heartbeat is normal, the troubleshooting is complete.
Custom identifier-based machine group: In the Machine Group Status section, verify that the IP address obtained in the previous step is listed. If the Heartbeat status is OK, you can end the troubleshooting process.

Step 3: Check whether the Logtail startup parameters are correct
The ilogtail_config.json file records the startup parameters for Logtail.
Log on to the server where Logtail is installed.
Find the ilogtail_config.json file.
The following table describes the default paths of this file for different operating systems.
Operating system
Logtail
Path to the ilogtail_config.json file
Linux
Logtail (64-bit program)
/usr/local/ilogtail/ilogtail_config.json
Windows (64-bit OS)
Logtail (64-bit program)
\ilogtail_config.json
Logtail (32-bit program)
C:\Program Files (x86)\Alibaba\Logtail\ilogtail_config.json
Windows (32-bit OS)
Logtail (32-bit program)
C:\Program Files\Alibaba\Logtail\ilogtail_config.json
Open the ilogtail_config.json file and confirm that the configuration parameters are correct.
{ "config_server_address" : "http://logtail.<config_region>.log.aliyuncs.com", "data_server_list" : [ { "cluster" : "<project_region>", "endpoint" : "<endpoint>" } ], ... }If the startup parameters in the ilogtail_config.json file match the descriptions in the following table, the Logtail startup parameters are correct.
If the Logtail startup parameters are incorrect, modify the ilogtail_config.json file based on the following table, and then restart Logtail. For more information, see Restart Logtail.
For more information about project regions, see Regions and endpoints.
Scenario
Network type
<config_region>
<endpoint>
The server is an ECS instance and is in the same region as the project.
Alibaba Cloud private network
<project_region>-intranet
<project_region>-intranet.log.aliyuncs.com
Other scenarios
Public network
<project_region>
<project_region>.log.aliyuncs.com
Transfer acceleration
log-global.aliyuncs.com
Step 4: Check whether the network connection is clear
To upload data using Logtail, ensure that the server where Logtail is installed can connect to the following addresses.
If you use the private network, append -intranet to <endpoint>.
The address specified by the
config_server_addressfield in theilogtail_config.jsonfile, and its HTTPS version.http://<project_name>.<endpoint>.The following describes how to view the Project name and region.

<endpoint>is the address specified by thedata_server_list.endpointfield in theilogtail_config.jsonfile.
http://ali-<project_region>-sls-admin.<endpoint>.<endpoint>is the address specified by thedata_server_list.endpointfield in theilogtail_config.jsonfile.
Check the network connection and resolve issues as follows:
Linux
Log on to the server where Logtail is installed.
Run the
curlcommand to connect to each of the preceding addresses.curl http://<project_name>.cn-hangzhou-intranet.log.aliyuncs.comIf all responses are similar to the following output, the network connection is working correctly.
{"Error":{"Code":"OLSInvalidMethod","Message":"The script name is invalid : /","RequestId":"5D****09"}}If the network connection is not working correctly, check whether ports 80 and 443 are open in your network environment. You can also check whether the destination address is blocked or if there are other network issues, such as Domain Name System (DNS) configurations or security groups.
Windows
Log on to the server where Logtail is installed.
Run the
telnetcommand to try to connect to each of the preceding addresses.telnet <project_name>.cn-hangzhou-intranet.log.aliyuncs.com 80 # For HTTPS, use port 443.If all responses are similar to the following output, the network connection is working correctly.
Trying 100*0*7*5... Connected to xxx. Escape character is '^]'.If the network connection is not working correctly, check whether ports 80 and 443 are open in your network environment. You can also check whether the destination address is blocked or if there are other network issues, such as DNS configurations or security groups.
Step 5: Check whether the system time of the Logtail server is correct
Linux
Log on to the server where Logtail is installed.
Run the
datecommand to view the system time.Wed Dec 28 06:59:26 UTC 2022If the system time is significantly faster or slower than the current time, you can try the following solutions:
Adjust the system time to the current time.
If you cannot change the system time, add the
"enable_log_time_auto_adjust": trueconfiguration item to the ilogtail_config.json file. After the modification, restart Logtail. For more information, see Restart Logtail. For information about the path to the ilogtail_config.json file, see Step 3: Check whether the Logtail startup parameters are correct.
Windows
Log on to the server where Logtail is installed.
View the time information in the taskbar at the bottom right of the desktop.
Adjust the system time to the current time.
If you cannot change the system time, add the "enable_log_time_auto_adjust": true configuration item to the ilogtail_config.json file. After the modification, restart Logtail. For more information, see Restart Logtail. For information about the path to the ilogtail_config.json file, see Step 3: Check whether the Logtail startup parameters are correct.
Step 6: Check the user identifier for cross-account collection
If the server is not an ECS instance, or if the ECS instance and the project belong to different Alibaba Cloud accounts, you must check whether a correct user identifier is configured.
The user identifier must be the Alibaba Cloud account ID (root account ID). For more information, see Configure a user identifier.
Check the user identifier file in the specified directory to determine whether a user identifier exists. If the directory is empty, check whether a user identifier file is present in the specified path. The user identifier grants the account permission to access this server.
The paths to the user identifier file are as follows:
Linux: /etc/ilogtail/users/
Windows: C:\LogtailData\users\
If no user identifier file exists in the specified path or the file is configured incorrectly, you can resolve the issue as follows:
For Linux: Run the
cd /etc/ilogtail/users/ && touch <uid>command to create the user identifier file.<uid>is the Alibaba Cloud account ID of the project owner.For Windows: Go to the
C:\LogtailData\users\directory and create an empty file named<uid>.<uid>is the Alibaba Cloud account ID of the project owner.
If a file named with the Alibaba Cloud account ID of the project owner exists in the specified path, the user identifier is configured correctly.
Step 7: If you use a custom identifier-based machine group, check whether a custom identifier is configured
If you use a custom identifier-based machine group, you can check the user_defined_id file in the specified directory to determine whether a custom identifier is configured on the server.
If the file is empty, check whether the
user_defined_idfile exists or whether a custom identifier is configured in the file.NoteThe paths to the user_defined_id file are as follows:
Linux: /etc/ilogtail/user_defined_id
Windows: C:\LogtailData\user_defined_id
If the user_defined_id file does not exist, create a user_defined_id file and enter the custom identifier of the machine group in the file. For more information, see Configure a custom identifier.
If the user_defined_id file has no custom identifier or the identifier is incorrect, add a new line to the file and enter the custom identifier of the machine group. For more information, see Configure a custom identifier.
If the user_defined_id file already contains the custom identifier that you set in the machine group, the custom identifier is configured correctly.
Step 8: Restart Logtail
After you complete the preceding modifications, you must restart Logtail.
Linux
Log on to the server where Logtail is installed.
Run the following command:
sudo /etc/init.d/ilogtaild restart
Windows
Log on to the server where Logtail is installed.
Open the Run window and enter
services.msc.Restart the LogtailDaemon service (for Logtail 1.0.0.0 and later) or the LogtailWorker service (for Logtail 0.x.x.x).