Querying the List of Commands Running in a Container
Function
This API is used to query the list of commands running in a container.
Calling Method
For details, see Calling APIs.
URI
GET /v5/{project_id}/container/cmd-histories
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
enterprise_project_id |
No |
String |
Specifies the ID of the enterprise project that the server belongs to. An enterprise project can be configured only after the enterprise project function is enabled. Enterprise project ID. The value 0 indicates the default enterprise project. To query servers in all enterprise projects, set this parameter to all_granted_eps. If you have only the permission on an enterprise project, you need to transfer the enterprise project ID to query the server in the enterprise project. Otherwise, an error is reported due to insufficient permission. |
cluster_id |
No |
String |
Cluster ID. |
cluster_name |
No |
String |
Cluster name |
host_name |
No |
String |
Name of the host where the container generating the log is located |
host_id |
No |
String |
ID of the host where the container generating the log is located |
host_ip |
No |
String |
IP address of the host where the container generating the log is located |
container_id |
No |
String |
Container ID |
container_name |
No |
String |
Name of the container for which a log is generated. |
cmd |
No |
String |
Running command line |
path |
No |
String |
Process path corresponding to the command line |
start_time |
No |
Long |
Minimum time for querying logs |
end_time |
No |
Long |
Maximum time for querying logs |
limit |
Yes |
Integer |
Number of records displayed on each page. The default value is 10. |
offset |
Yes |
Integer |
Offset, which specifies the start position of the record to be returned. The value must be a number no less than 0. The default value is 0. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
x-auth-token |
Yes |
String |
User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
total_num |
Integer |
Total number of logs. |
data_list |
Array of ContainerCmdLogResponseInfo objects |
Logs of running commands in the container |
Parameter |
Type |
Description |
---|---|---|
cluster_name |
String |
Cluster name |
cluster_id |
String |
Cluster ID |
cluster_type |
String |
Cluster type. Its value can be:
|
time |
Long |
Time when a log is generated |
host_id |
String |
Server ID. |
host_name |
String |
Host name |
private_ip |
String |
Private IP address of the host where the container is located |
public_ip |
String |
Host IP address. |
container_name |
String |
Name of the container for which the log is generated. |
container_id |
String |
ID of the container for which the log is generated. |
cmd |
String |
Command to be executed |
path |
String |
Process path corresponding to the command line |
process_pid |
Integer |
PID of the process corresponding to the command line |
user_name |
String |
User |
group_name |
String |
User group to which the user who runs the command belongs |
parent_process_pid |
Integer |
Parent process PID |
parent_path |
String |
Parent process path |
Example Requests
None
Example Responses
Status code: 200
List of commands running in a container
{ "total_num" : 1, "data_list" : [ { "cluster_name" : "cluster_1323", "cluster_id" : "d8980c20-fd83-418a-a9c1-1abe9044ee3a", "cluster_type" : "cce", "time" : 1736925153481, "host_id" : "09724867-7b91-482d-9702-daf9113f1b62", "host_name" : "agentcompile-2", "private_ip" : "172.16.0.**", "public_ip" : "100.0.0.1", "container_name" : "edfry", "container_id" : "eedf8817-f486-4c4f-a395-b8373ecc7ef4", "cmd" : "nsenter -t 1 -m -n -i -p -u systemctl is-enabled docker", "path" : "/usr/bin/ls", "process_pid" : 12345, "user_name" : "testuser", "group_name" : "testuser", "parent_process_pid" : 542637, "parent_path" : "/usr/bin/containerd-shim" } ] }
SDK Sample Code
The SDK sample code is as follows.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.hss.v5.region.HssRegion; import com.huaweicloud.sdk.hss.v5.*; import com.huaweicloud.sdk.hss.v5.model.*; public class ListContainerCmdLogsSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); HssClient client = HssClient.newBuilder() .withCredential(auth) .withRegion(HssRegion.valueOf("<YOUR REGION>")) .build(); ListContainerCmdLogsRequest request = new ListContainerCmdLogsRequest(); try { ListContainerCmdLogsResponse response = client.listContainerCmdLogs(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkhss.v5.region.hss_region import HssRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkhss.v5 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = HssClient.new_builder() \ .with_credentials(credentials) \ .with_region(HssRegion.value_of("<YOUR REGION>")) \ .build() try: request = ListContainerCmdLogsRequest() response = client.list_container_cmd_logs(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" hss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := hss.NewHssClient( hss.HssClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ListContainerCmdLogsRequest{} response, err := client.ListContainerCmdLogs(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
Status Code |
Description |
---|---|
200 |
List of commands running in a container |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot