|
| 1 | +name: "Verify Kubernetes Explorer Logs" |
| 2 | +description: "Action which verifies that Kubernetes and Kubernetes Explorer logs have been correctly ingested." |
| 3 | + |
| 4 | +inputs: |
| 5 | + scalyr_readlog_token: |
| 6 | + description: "Scalyr readlogs API key to use" |
| 7 | + required: true |
| 8 | + scalyr_agent_pod_name: |
| 9 | + description: "Name of the scalyr agent pod." |
| 10 | + required: true |
| 11 | + |
| 12 | +runs: |
| 13 | + using: "composite" |
| 14 | + steps: |
| 15 | + - name: Verify Agent Logs are Ingested |
| 16 | + shell: bash |
| 17 | + env: |
| 18 | + scalyr_readlog_token: "${{ inputs.scalyr_readlog_token}}" |
| 19 | + SCALYR_AGENT_POD_NAME: "${{ inputs.scalyr_agent_pod_name }}" |
| 20 | + run: | |
| 21 | + # Verify agent and kubernetes monitor has been started |
| 22 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" $logfile="/var/log/scalyr-agent-2/agent.log" "Starting scalyr agent..."' |
| 23 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" $logfile="/var/log/scalyr-agent-2/agent.log" "No checkpoints were found. All logs will be copied starting at their current end"' |
| 24 | +
|
| 25 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" $logfile="/var/log/scalyr-agent-2/agent.log" "Cluster name detected, enabling k8s metric reporting"' |
| 26 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" $logfile="/var/log/scalyr-agent-2/agent.log" "kubernetes_monitor parameters: "' |
| 27 | +
|
| 28 | + #./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" $logfile="/var/log/scalyr-agent-2/agent.log" "Config option '\'stop_agent_on_failure\'' is enabled"' |
| 29 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" $logfile="/var/log/scalyr-agent-2/agent.log" "stop_agent_on_failure"' |
| 30 | +
|
| 31 | + - name: Verify Kubernetes Metrics are Ingested |
| 32 | + shell: bash |
| 33 | + env: |
| 34 | + scalyr_readlog_token: "${{ inputs.scalyr_readlog_token}}" |
| 35 | + SCALYR_AGENT_POD_NAME: "${{ inputs.scalyr_agent_pod_name }}" |
| 36 | + run: | |
| 37 | + # Verify Kubernetes metrics are being ingested |
| 38 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" $logfile="/var/log/scalyr-agent-2/kubernetes_monitor.log" "k8s-daemon-set=\"scalyr-agent\""' |
| 39 | +
|
| 40 | + # Verify Kubernetes events are being ingested |
| 41 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" $logfile="/var/log/scalyr-agent-2/kubernetes_events.log" "event="' |
| 42 | +
|
| 43 | + - name: Verify Kubernetes Explorer Logs and Metrics are Ingested |
| 44 | + shell: bash |
| 45 | + env: |
| 46 | + scalyr_readlog_token: "${{ inputs.scalyr_readlog_token}}" |
| 47 | + SCALYR_AGENT_POD_NAME: "${{ inputs.scalyr_agent_pod_name }}" |
| 48 | + run: | |
| 49 | + # Verify Kubernetes Explorer logs are there |
| 50 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" $logfile="/var/log/scalyr-agent-2/agent.log" "monitor:openmetrics_monitor"' |
| 51 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" $logfile="/var/log/scalyr-agent-2/agent.log" "Starting monitor openmetrics_monitor"' |
| 52 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" $logfile="/var/log/scalyr-agent-2/agent_debug.log" "Adding new monitor with config:"' |
| 53 | +
|
| 54 | + # Assert that Kubernetes Explorer metrics which we scrape from 2 annotated pods are there |
| 55 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" logfile contains "node-exporter" k8s-cluster="k8s-explorer-e2e-tests" k8s-daemon-set="node-exporter" "level=info collector=cpu"' |
| 56 | +
|
| 57 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" monitor="openmetrics_monitor" logfile contains "kubernetes-api-cadvisor-metrics.log" k8s-cluster="k8s-explorer-e2e-tests"' |
| 58 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" monitor="openmetrics_monitor" logfile contains "kubernetes-api-cadvisor-metrics.log" k8s-cluster="k8s-explorer-e2e-tests" "container_start_time_seconds "' |
| 59 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" monitor="openmetrics_monitor" logfile contains "kubernetes-api-cadvisor-metrics.log" k8s-cluster="k8s-explorer-e2e-tests" "container_spec_memory_limit_bytes "' |
| 60 | +
|
| 61 | + # Verify metrics scraped from node-exporter and kube-state-metrics are available |
| 62 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" monitor="openmetrics_monitor" logfile contains "node-exporter" k8s-cluster="k8s-explorer-e2e-tests"' |
| 63 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" monitor="openmetrics_monitor" logfile contains "node-exporter" k8s-cluster="k8s-explorer-e2e-tests" "process_resident_memory_bytes"' |
| 64 | +
|
| 65 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" monitor="openmetrics_monitor" $logfile contains "kube-state-metrics" k8s-cluster="k8s-explorer-e2e-tests" "kube_storageclass_labels 1 "' |
| 66 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" monitor="openmetrics_monitor" $logfile contains "kube-state-metrics" k8s-cluster="k8s-explorer-e2e-tests" "namespace=\"default\" secret=\"scalyr-agent-scalyr-api-key\" type=\"Opaque\""' |
| 67 | +
|
| 68 | + # Assert that Java app metrics are there |
| 69 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" monitor="openmetrics_monitor" $logfile contains "java-hello-world" k8s-cluster="k8s-explorer-e2e-tests" "java_lang_threading_objectmonitorusagesupported "' |
| 70 | + ./ci/scripts/scalyr-query.sh '$serverHost="'${SCALYR_AGENT_POD_NAME}'" monitor="openmetrics_monitor" $logfile contains "java-hello-world" k8s-cluster="k8s-explorer-e2e-tests" "jvm_memory_pool_bytes_committed "' |
0 commit comments