• Kubernetes Submit Queue's avatar
    Merge pull request #40007 from JulienBalestra/rktnetes-systemd-ops-helpers · 17175b24
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 41812, 41665, 40007, 41281, 41771)
    
    Kubelet-rkt: Add useful informations for Ops on the Kubelet Host
    
    Create a Systemd SyslogIdentifier inside the [Service]
    Create a Systemd Description inside the [Unit]
    
    **What this PR does / why we need it**:
    
    #### Overview
    Logged against the host, it's difficult to identify who's who.
    This PR add useful information to quickly get straight to the point with the **DESCRIPTION** field:
    
    ```
    systemctl list-units "k8s*"
    UNIT                                             LOAD   ACTIVE SUB     DESCRIPTION
    k8s_b5a9bdf7-e396-4989-8df0-30a5fda7f94c.service loaded active running kube-controller-manager-172.20.0.206
    k8s_bec0d8a1-dc15-4b47-a850-e09cf098646a.service loaded active running nginx-daemonset-gxm4s
    k8s_d2981e9c-2845-4aa2-a0de-46e828f0c91b.service loaded active running kube-apiserver-172.20.0.206
    k8s_fde4b0ab-87f8-4fd1-b5d2-3154918f6c89.service loaded active running kube-scheduler-172.20.0.206
    
    ```
    
    #### Overview and Journal
    
    Always on the host, to easily retrieve the pods logs, this PR add a SyslogIdentifier named as the PodBaseName.
    
    
    ```
    # A DaemonSet prometheus-node-exporter is running on the Kubernetes Cluster
    systemctl list-units "k8s*" | grep prometheus-node-exporter
    k8s_c60a4b1a-387d-4fce-afa1-642d6f5716c1.service loaded active running prometheus-node-exporter-85cpp
    
    # Get the logs from the prometheus-node-exporter DaemonSet 
    journalctl -t prometheus-node-exporter | wc -l
    278
    ```
    
    Sadly the `journalctl` flag `-t` / `--identifier` doesn't allow a pattern to catch the logs.
    
    Also this field improve any queries made by any tools who exports the Journal (E.g: ES, Kibana):
    ```
    {
    	"__CURSOR" : "s=86fd390d123b47af89bb15f41feb9863;i=164b2c27;b=7709deb3400841009e0acc2fec1ebe0e;m=1fe822ca4;t=54635e6a62285;x=b2d321019d70f36f",
    	"__REALTIME_TIMESTAMP" : "1484572200411781",
    	"__MONOTONIC_TIMESTAMP" : "8564911268",
    	"_BOOT_ID" : "7709deb3400841009e0acc2fec1ebe0e",
    	"PRIORITY" : "6",
    	"_UID" : "0",
    	"_GID" : "0",
    	"_SYSTEMD_SLICE" : "system.slice",
    	"_SELINUX_CONTEXT" : "system_u:system_r:kernel_t:s0",
    	"_MACHINE_ID" : "7bbb4401667243da81671e23fd8a2246",
    	"_HOSTNAME" : "Kubelet-Host",
    	"_TRANSPORT" : "stdout",
    	"SYSLOG_FACILITY" : "3",
    	"_COMM" : "ld-linux-x86-64",
    	"_CAP_EFFECTIVE" : "3fffffffff",
    	"SYSLOG_IDENTIFIER" : "prometheus-node-exporter",
    	"_PID" : "88827",
    	"_EXE" : "/var/lib/rkt/pods/run/c60a4b1a-387d-4fce-afa1-642d6f5716c1/stage1/rootfs/usr/lib64/ld-2.21.so",
    	"_CMDLINE" : "stage1/rootfs/usr/lib/ld-linux-x86-64.so.2 stage1/rootfs/usr/bin/systemd-nspawn [....]",
    	"_SYSTEMD_CGROUP" : "/system.slice/k8s_c60a4b1a-387d-4fce-afa1-642d6f5716c1.service",
    	"_SYSTEMD_UNIT" : "k8s_c60a4b1a-387d-4fce-afa1-642d6f5716c1.service",
    	"MESSAGE" : "[ 8564.909237] prometheus-node-exporter[115]: time=\"2017-01-16T13:10:00Z\" level=info msg=\" - time\" source=\"node_exporter.go:157\""
    }
    ```
    17175b24
Name
Last commit
Last update
.github Loading commit data...
Godeps Loading commit data...
api Loading commit data...
build Loading commit data...
cluster Loading commit data...
cmd Loading commit data...
docs Loading commit data...
examples Loading commit data...
federation Loading commit data...
hack Loading commit data...
hooks Loading commit data...
logo Loading commit data...
pkg Loading commit data...
plugin Loading commit data...
staging Loading commit data...
test Loading commit data...
third_party Loading commit data...
translations Loading commit data...
vendor Loading commit data...
.bazelrc Loading commit data...
.gazelcfg.json Loading commit data...
.generated_files Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
BUILD.bazel Loading commit data...
CHANGELOG.md Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
Makefile.generated_files Loading commit data...
OWNERS Loading commit data...
OWNERS_ALIASES Loading commit data...
README.md Loading commit data...
Vagrantfile Loading commit data...
WORKSPACE Loading commit data...
code-of-conduct.md Loading commit data...
labels.yaml Loading commit data...