Logs dos serviços

Buscar logs de um serviço

API para buscar os logs de um serviço do systemd.

GET /api/logs/services/name

Exemplo de requisição

GET /api/logs/services/sshd HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
from itflex_sdk.service_logs.types import GetServiceLogsRequest

request = GetServiceLogsRequest(name="sshd")
response = sdk.logs.get_service_log(request)
print(response.payload)
const response = sdk.logs.getServiceLogs({ name: "sshd" });
console.log(response.payload);

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "name": "sshd",
  "multiple_instances": false,
  "lines": [
    {
      "dt": "2019-01-09T11:50:00-02:00",
      "msg": "Started OpenSSH server daemon",
    },
    {
      "dt": "2019-01-15T11:50:00-02:00",
      "msg": "Stopped OpenSSH server daemon",
    },
  ],
}
ServiceLogs(
  name="sshd",
  multiple_instances=False,
  lines=[
    LogLine(
      dt="2019-01-09T11:50:00-02:00",
      mgs="Started OpenSSH server daemon",
    ),
    LogLine(
      dt="2019-01-09T12:50:00-02:00",
      mgs="Stopped OpenSSH server daemon",
    ),
  ],
)
{
  name: "sshd",
  multiple_instances: false,
  lines: [
    {
      dt: "2019-01-09T11:50:00-02:00",
      msg: "Started OpenSSH server daemon",
    },
    {
      dt: "2019-01-09T12:50:00-02:00",
      msg: "Stopped OpenSSH server daemon",
    }
  ]
}

Buscar logs de uma instância de um serviço

API para buscar os logs de uma determinada instância de um serviço do systemd.

GET /api/logs/services/name/instances/instance_name

Exemplo de requisição

GET /api/logs/services/openvpn/instances/instance-01 HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
from itflex_sdk.service_logs.types import GetServiceLogsByInstanceRequest

request = GetServiceLogsByInstanceRequest(name="openvpn", instance_name="instance-01")
response = sdk.logs.get_service_log_by_instance(request)
print(response.payload)
const response = sdk.logs.getServiceLogsByInstance({ name: "openvpn", instance_name: "instance-01" });
console.log(response.payload);

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "name": "openvpn",
  "multiple_instances": true,
  "instance_name": "instance-01",
  "lines": [
    {
      "dt": "2019-01-09T11:50:00-02:00",
      "msg": "Started OpenSSH server daemon",
    },
    {
      "dt": "2019-01-15T11:50:00-02:00",
      "msg": "Stopped OpenSSH server daemon",
    },
  ],
}
ServiceInstanceLogs(
  name="openvpn",
  multiple_instances=True,
  instance_name="instance-01",
  lines=[
    LogLine(
      dt="2019-01-09T11:50:00-02:00",
      mgs="Started OpenSSH server daemon",
    ),
    LogLine(
      dt="2019-01-09T12:50:00-02:00",
      mgs="Stopped OpenSSH server daemon",
    ),
  ],
)
{
  name: "openvpn",
  multiple_instances: true,
  instance_name: "instance-01",
  lines: [
    {
      dt: "2019-01-09T11:50:00-02:00",
      msg: "Started OpenSSH server daemon",
    },
    {
      dt: "2019-01-09T12:50:00-02:00",
      msg: "Stopped OpenSSH server daemon",
    }
  ]
}

Parâmetros de consulta

É possível passar alguns filtros para a API, permitindo visualizar os logs de forma mais específica de acordo com o objetivo. Todos os filtros possíveis de serem utilizados, podem ser visualizados abaixo:

  • limit
  • sort
  • date_start
  • date_end

Podem ser utilizamos todos os filtros em conjunto, como também é possível utilizar apenas alguns deles.

GET /api/logs/services/name?limit=100&sort=“asc”&date_start=“2019-01-09T11:50:00-02:00”&date_end=“2019-01-15T11:50:00-02:00”

Exemplo de requisição

GET /api/logs/services/sshd?limit=100&sort="asc"&date_start="2019-01-09T11:50:00-02:00"&date_end="2019-01-15T11:50:00-02:00" HTTP/1.1
Host: api.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
from itflex_sdk.service_logs.types import GetServiceLogsRequest

request = GetServiceLogsRequest(
  name="sshd",
  limit=100,
  sort="asc",
  date_start="2019-01-09T11:50:00-02:00",
  date_end="2019-01-15T11:50:00-02:00",
)
response = sdk.logs.get_service_log(request)
print(response.payload)
const response = sdk.logs.getServiceLogs({
  name: "sshd",
  limit: 100,
  sort: "asc",
  date_start: "2019-01-09T11:50:00-02:00",
  date_end: "2019-01-15T11:50:00-02:00",
});
console.log(response.payload);

Formato dos dados

Parâmetros da url

Campo Descrição
name string

Nome do serviço no systemd

instance_name string

Nome da instância do serviço no systemd

Parâmetros de consulta

Campo Descrição
limit int

Limite de linhas a serem exibidas em tela

Valores possível: entre 0 e 2000

Se esse parâmetro não for passado, o valor padrão será 2000

date_start string

Data/Hora de início da consulta dos logs

Formato: ISO-8601

date_end string

Data/Hora de fim da consulta dos logs

Formato: ISO-8601

sort string

Ordenação das linhas de log. Também define a ordem de leitura das linhas do log

Valores possíveis: asc, desc

Resposta

Campo Descrição
name string

Nome do serviço no systemd

instance_name string

Nome da instância do serviço no systemd

multiple_instances bool

Flag de serviço com múltiplas instâncias

lines array<object>

Linhas dos logs consultados

lines.dt string

Data/Hora de criação da linha de log

lines.msg string

Mensagem da linha de log