[pve-devel] [RFC manager 1/2] node: add journal api

Dominik Csapak d.csapak at proxmox.com
Mon May 13 16:49:10 CEST 2019


On 5/13/19 4:32 PM, Dietmar Maurer wrote:
> comments inline
> 
>> On 13 May 2019 at 14:49 Dominik Csapak <d.csapak at proxmox.com> wrote:
>>
>>
>> this uses the new journalreader instead of journalctl, which is a bit
>> faster and can read from/to cursor and returns a start/end cursor
>>
>> also you can give an unix epoch as time parameters
>>
>> Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
>> ---
>>   PVE/API2/Nodes.pm | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 52 insertions(+)
>>
>> diff --git a/PVE/API2/Nodes.pm b/PVE/API2/Nodes.pm
>> index df47be1f..7f13f809 100644
>> --- a/PVE/API2/Nodes.pm
>> +++ b/PVE/API2/Nodes.pm
>> @@ -699,6 +699,58 @@ __PACKAGE__->register_method({
>>   	return $lines;
>>       }});
>>   
>> +__PACKAGE__->register_method({
>> +    name => 'journal',
>> +    path => 'journal',
>> +    method => 'GET',
>> +    description => "Read Journal",
>> +    proxyto => 'node',
>> +    permissions => {
>> +	check => ['perm', '/nodes/{node}', [ 'Sys.Syslog' ]],
>> +    },
>> +    protected => 1,
>> +    parameters => {
>> +	additionalProperties => 0,
>> +	properties => {
>> +	    node => get_standard_option('pve-node'),
>> +	    since => {
>> +		type=> 'number',
>> +		description => "Display all log since this UNIX epoch.",
>> +		optional => 1,
>> +	    },
>> +	    until => {
>> +		type=> 'number',
>> +		description => "Display all log until this UNIX epoch.",
>> +		optional => 1,
>> +	    },
>> +	    lastentries => {
> 
> Please can we get a description for all parameters?
> 

of course, sent it as an rfc because i was not sure about some things 
(including a new api endpoint), so i omitted to document all parameters

will of course eventually send another version with all things documented :)

>> +		type => 'integer',
>> +		optional => 1,
>> +	    },
>> +	    startcursor => {
>> +		type => 'string',
>> +		optional => 1,
>> +	    },
>> +	    endcursor => {
>> +		type => 'string',
>> +		optional => 1,
>> +	    },
>> +	},
>> +    },
>> +    returns => {
>> +	type => 'array',
>> +    },
>> +    code => sub {
>> +	my ($param) = @_;
>> +
>> +	my $rpcenv = PVE::RPCEnvironment::get();
>> +	my $user = $rpcenv->get_user();
>> +
>> +	return PVE::Tools::read_journal($param->{since}, $param->{until},
>> +	    $param->{last}, $param->{startcursor}, $param->{endcursor});
>> +
>> +    }});
>> +
>>   my $sslcert;
>>   
>>   my $shell_cmd_map = {
>> -- 
>> 2.11.0
>>
>>
>> _______________________________________________
>> pve-devel mailing list
>> pve-devel at pve.proxmox.com
>> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel





More information about the pve-devel mailing list