Thank you for the detailed answer! I would never have discovered this otherwise. (Maybe I should document it somewhere?)
I used the info you provided to search source code - it seems part of the logline is constructed in
pve-common/src/PVE/Tools.pm.
1. One question - what is βdtypeβ? Are the various possible values stored somewhere?
I just checked
/var/log/pveproxy/access.log - here are the equivalent log lines there.
Starting a VM:
Code:
127.0.0.1 - root@pam [03/07/2019:23:06:17 +1000] "POST /api2/extjs/nodes/syd1/qemu/108/status/start HTTP/1.1" 200 81
Shutdown a VM:
Code:
127.0.0.1 - root@pam [03/07/2019:23:07:20 +1000] "POST /api2/extjs/nodes/syd1/qemu/108/status/shutdown HTTP/1.1" 200 84
Cloning a VM:
Code:
127.0.0.1 - root@pam [03/07/2019:23:08:01 +1000] "POST /api2/extjs/nodes/syd1/qemu/104/clone HTTP/1.1" 200 81
I had a look in
/var/log/pve/tasks as well - it seems this is more detailed info, which is what I need. For example:
Code:
root@syd1:/var/log/pve/tasks/3# cat "UPID:syd1:0013547F:0201D71B:5D147AA3:qmclone:105:kyosan@example.com:"
create linked clone of drive efidisk0 (vm-storage:base-105-disk-1)
clone base-105-disk-1: base-105-disk-1 snapname __base__ to vm-135-disk-0
create linked clone of drive sata0 (vm-storage:base-105-disk-0)
clone base-105-disk-0: base-105-disk-0 snapname __base__ to vm-135-disk-1
TASK OK
I had a look in
/var/log/pve/tasks/index - however, Iβm not sure how this file works.
2. How do you map a particular task to a subdirectory under /var/log/pve/tasks?
3. How long are tasks preserved here, before they are rotated out?
4. The friendly name for the clone doesnβt appear to be printed anywhere? Can you get this somewhere else?
5. Likewise, in the task log for qmclone - it mentions the disk (e.g. base-105-disk-0) - but how do you get the friendly name for VM 105?
I also looked at the
pvenode task list command:
Code:
root@syd1:/var/log/pve/tasks/3# pvenode task list --type qmcreate
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββ¬ββββββ¬βββββββββββ¬βββββββββββββ¬βββββββββββββ¬βββββββββ
β UPID β Type β ID β User β Starttime β Endtime β Status β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌβββββββββββΌββββββΌβββββββββββΌβββββββββββββΌβββββββββββββΌβββββββββ€
β UPID:syd1:000B4ACF:012C738E:5D0F5189:qmcreate:131:root@pam: β qmcreate β 131 β root@pam β 1561285001 β 1561285001 β OK β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββ΄ββββββ΄βββββββββββ΄βββββββββββββ΄βββββββββββββ΄βββββββββ
root@syd1:/var/log/pve/tasks/3# pvenode task list --type qmclone
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββ¬ββββββ¬ββββββββββββββββββββββ¬βββββββββββββ¬βββββββββββββ¬βββββββββ
β UPID β Type β ID β User β Starttime β Endtime β Status β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββΌββββββΌββββββββββββββββββββββΌβββββββββββββΌβββββββββββββΌβββββββββ€
β UPID:syd1:000229D3:0037CCD3:5D0FE60D:qmclone:105:naandi@example.com: β qmclone β 105 β naandi@example.com β 1561323021 β 1561323022 β OK β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββΌββββββΌββββββββββββββββββββββΌβββββββββββββΌβββββββββββββΌβββββββββ€
β UPID:syd1:0008B98C:00E770FD:5D11A7B2:qmclone:104:root@pam: β qmclone β 104 β root@pam β 1561438130 β 1561438130 β OK β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββΌββββββΌββββββββββββββββββββββΌβββββββββββββΌβββββββββββββΌβββββββββ€
β UPID:syd1:000A506E:0112ACD6:5D1CA8B1:qmclone:104:root@pam: β qmclone β 104 β root@pam β 1562159281 β 1562159281 β OK β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββΌββββββΌββββββββββββββββββββββΌβββββββββββββΌβββββββββββββΌβββββββββ€
β UPID:syd1:000AC746:011F0FF5:5D1CC867:qmclone:105:rupais@example.com: β qmclone β 105 β rupais@example.com β 1562167399 β 1562167399 β OK β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββΌββββββΌββββββββββββββββββββββΌβββββββββββββΌβββββββββββββΌβββββββββ€
β UPID:syd1:001316E6:01FC7BEB:5D146CEC:qmclone:105:kyosan@example.com: β qmclone β 105 β kyosan@example.com β 1561619692 β 1561619693 β OK β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββΌββββββΌββββββββββββββββββββββΌβββββββββββββΌβββββββββββββΌβββββββββ€
β UPID:syd1:00131985:01FCAE8A:5D146D6E:qmclone:105:kyosan@example.com: β qmclone β 105 β kyosan@example.com β 1561619822 β 1561619823 β OK β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββΌββββββΌββββββββββββββββββββββΌβββββββββββββΌβββββββββββββΌβββββββββ€
β UPID:syd1:00132079:01FD3FAA:5D146EE2:qmclone:102:kyosan@example.com: β qmclone β 102 β kyosan@example.com β 1561620194 β 1561620194 β OK β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββΌββββββΌββββββββββββββββββββββΌβββββββββββββΌβββββββββββββΌβββββββββ€
β UPID:syd1:00134B36:020141CA:5D147924:qmclone:105:root@pam: β qmclone β 105 β root@pam β 1561622820 β 1561622821 β OK β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββΌββββββΌββββββββββββββββββββββΌβββββββββββββΌβββββββββββββΌβββββββββ€
β UPID:syd1:0013547F:0201D71B:5D147AA3:qmclone:105:kyosan@example.com: β qmclone β 105 β kyosan@example.com β 1561623203 β 1561623203 β OK β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββ΄ββββββ΄ββββββββββββββββββββββ΄βββββββββββββ΄βββββββββββββ΄βββββββββ
It seems like an alternative way to get the data versus
/var/log/pve/tasks
What are the pros/cons of this command, versus watching the log files? (I assume Iβd have to setup a filesystem watch process to watch for new files in /var/log/pve/tasks, versus just running
pvenode task list every 1 minute etc.)
Does it make sense for Proxmox to store this data in a database somewhere?
My other thought was using the new hookscript functionality - but not sure how easy itβd be to get all of these fields at VM creation time?
What do you think?