Closed IvanovOleg closed 5 months ago
In the issue details, it appears they are trying to send test data using the command echo "foo:1|c" | nc -u -w0 <agent_ip> 8125
. However, instead of using <agent_ip>
, the data should be sent to the StatsD server.
In the airflow.cfg
file also, the statsd_host = %HOST%
parameter should be set to the StatsD server IP where the data is being sent. Additionally, the same IP address should be configured in the Host field for the Airflow integration.
Could you also confirm whether the metrics sent by Airflow to the StatsD server are visible in the StatsD server logs or monitoring interface? Accessing any available logs related to this would be helpful in further analysis.
@ritalwar when agent connects to the fleet server, it get's a configuration from kibana via policy. Then it installs metricbeat with statsd plugin on itself and binds udp socket to the one of it's interfaces (you can't listen an interface which is not available for this particular agent, you will get an error on the agent startup that it is unable to bind to such ip). Not sure why you are separating agent and statsd server since agent doesn't pull anything, it listens for incoming metrics on it's own port. I will post again a piece of the agent's log where it starts listening a udp port:
{"log.level":"info","@timestamp":"2024-04-19T19:22:56.117Z","message":"Started listening for UDP on: 0.0.0.0:8125",
Here is another example using docker compose that works and proves that metricbeat and statsd are running together: metricbeat.yaml
metricbeat.config:
modules:
path: ${path.config}/modules.d/*.yml
# Reload module configs as they change:
reload.enabled: false
metricbeat.modules:
- module: statsd
host: "0.0.0.0"
port: "8125"
enabled: true
#ttl: "30s"
processors:
- add_cloud_metadata: ~
output.elasticsearch:
enabled: false
output.console:
pretty: false
docker-compose.yaml
services:
metricbeat:
image: docker.elastic.co/beats/metricbeat:8.13.2
ports:
- "8125:8125"
volumes:
- ./metricbeat.yml:/usr/share/metricbeat/metricbeat.yml
netcat:
image: subfuzion/netcat
entrypoint:
- sleep
- "3600"
got it working
Great! Can you share what was the issue, as we were not able to reproduce and for us it was working all fine.
Hello, I am trying to configue an integration between airflow and kibana using Airflow | Documentation (elastic.co). I deployed elasticsearch/kibana/agent/fleet-server using ECK operator. here is kibana yaml:
fleet-server.yaml:
agent.yaml
Agent reports to kibana, everything looks fine. In the agent log I see:
Airflow metrrics dashboard is empty and in the metrics explorer I don't see any airflow related metrics. I also tried to send a fake metric using netcat like this:
and didn't get the foo metric stored. I don't see error messages in the agent's log. Can anyone help me to figure out why it doesn't work?
https://discuss.elastic.co/t/airflow-integration-doesnt-work-properly/357823