|
|
@@ -80,129 +80,9 @@ Collected info:
|
|
|
Related blog posts:
|
|
|
* [Gathering cloud instance metadata in AWS, GCP and Azure](https://coroot.com/blog/cloud-metadata)
|
|
|
|
|
|
-## Run
|
|
|
-
|
|
|
-### Requirements
|
|
|
-
|
|
|
-The agent requires some privileges for getting access to container data, such as logs, performance counters and TCP sockets:
|
|
|
-* privileged mode (`securityContext.privileged: true`)
|
|
|
-* the host process ID namespace (`hostPID: true`)
|
|
|
-* `/sys/fs/cgroup` and `/sys/kernel/debug` should be mounted to the agent's container
|
|
|
-
|
|
|
-### Kubernetes
|
|
|
-
|
|
|
-```yaml
|
|
|
-apiVersion: v1
|
|
|
-kind: Namespace
|
|
|
-metadata:
|
|
|
- name: coroot
|
|
|
-
|
|
|
----
|
|
|
-
|
|
|
-apiVersion: apps/v1
|
|
|
-kind: DaemonSet
|
|
|
-metadata:
|
|
|
- labels:
|
|
|
- app: coroot-node-agent
|
|
|
- name: coroot-node-agent
|
|
|
- namespace: coroot
|
|
|
-spec:
|
|
|
- selector:
|
|
|
- matchLabels:
|
|
|
- app: coroot-node-agent
|
|
|
- template:
|
|
|
- metadata:
|
|
|
- labels:
|
|
|
- app: coroot-node-agent
|
|
|
- annotations:
|
|
|
- prometheus.io/scrape: 'true'
|
|
|
- prometheus.io/port: '80'
|
|
|
- spec:
|
|
|
- tolerations:
|
|
|
- - operator: Exists
|
|
|
- hostPID: true
|
|
|
- containers:
|
|
|
- - name: coroot-node-agent
|
|
|
- image: ghcr.io/coroot/coroot-node-agent:latest
|
|
|
- args: ["--cgroupfs-root", "/host/sys/fs/cgroup"]
|
|
|
- ports:
|
|
|
- - containerPort: 80
|
|
|
- name: http
|
|
|
- securityContext:
|
|
|
- privileged: true
|
|
|
- volumeMounts:
|
|
|
- - mountPath: /host/sys/fs/cgroup
|
|
|
- name: cgroupfs
|
|
|
- readOnly: true
|
|
|
- - mountPath: /sys/kernel/debug
|
|
|
- name: debugfs
|
|
|
- readOnly: false
|
|
|
- volumes:
|
|
|
- - hostPath:
|
|
|
- path: /sys/fs/cgroup
|
|
|
- name: cgroupfs
|
|
|
- - hostPath:
|
|
|
- path: /sys/kernel/debug
|
|
|
- name: debugfs
|
|
|
-```
|
|
|
-
|
|
|
-If you use [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator),
|
|
|
-you will also need to create a PodMonitor:
|
|
|
-```yaml
|
|
|
-apiVersion: monitoring.coreos.com/v1
|
|
|
-kind: PodMonitor
|
|
|
-metadata:
|
|
|
- name: coroot-node-agent
|
|
|
- namespace: coroot
|
|
|
-spec:
|
|
|
- selector:
|
|
|
- matchLabels:
|
|
|
- app: coroot-node-agent
|
|
|
- podMetricsEndpoints:
|
|
|
- - port: http
|
|
|
-```
|
|
|
-
|
|
|
-Make sure the PodMonitor matches `podMonitorSelector` defined in your Prometheus:
|
|
|
-```yaml
|
|
|
-apiVersion: monitoring.coreos.com/v1
|
|
|
-kind: Prometheus
|
|
|
-...
|
|
|
-spec:
|
|
|
- ...
|
|
|
- podMonitorNamespaceSelector: {}
|
|
|
- podMonitorSelector: {}
|
|
|
- ...
|
|
|
-```
|
|
|
-The special value `{}` allows Prometheus to watch all the PodMonitors from all namespaces.
|
|
|
-
|
|
|
-### Docker
|
|
|
-
|
|
|
-```bash
|
|
|
-docker run --detach --name coroot-node-agent \
|
|
|
- --privileged --pid host \
|
|
|
- -v /sys/kernel/debug:/sys/kernel/debug:rw \
|
|
|
- -v /sys/fs/cgroup:/host/sys/fs/cgroup:ro \
|
|
|
- ghcr.io/coroot/coroot-node-agent --cgroupfs-root=/host/sys/fs/cgroup
|
|
|
-```
|
|
|
-
|
|
|
-### Flags
|
|
|
-
|
|
|
-```bash
|
|
|
-usage: coroot-node-agent [<flags>]
|
|
|
-
|
|
|
-Flags:
|
|
|
- --listen="0.0.0.0:80" Listen address - ip:port or :port
|
|
|
- --cgroupfs-root="/sys/fs/cgroup"
|
|
|
- The mount point of the host cgroupfs root
|
|
|
- --no-parse-logs Disable container logs parsing
|
|
|
- --no-ping-upstreams Disable container upstreams ping
|
|
|
- --track-public-network=TRACK-PUBLIC-NETWORK ...
|
|
|
- Allow track connections to the specified IP networks, all private networks are allowed by default (e.g., Y.Y.Y.Y/mask)
|
|
|
- --provider=PROVIDER `provider` label for `node_cloud_info` metric
|
|
|
- --region=REGION `region` label for `node_cloud_info` metric
|
|
|
- --availability-zone=AVAILABILITY-ZONE
|
|
|
- `availability_zone` label for `node_cloud_info` metric
|
|
|
-```
|
|
|
+## Installation
|
|
|
+
|
|
|
+The documentation is available at [coroot.com/docs/metric-exporters/node-agent](https://coroot.com/docs/metric-exporters/node-agent/installation).
|
|
|
|
|
|
## Metrics
|
|
|
|