opiproject / otel

OPI Monitoring and Telemetry via Open Telemetry (OTEL)
Apache License 2.0
9 stars 14 forks source link

Minor update in the documentation and docker-compose file #141

Open AmithGspn opened 4 months ago

AmithGspn commented 4 months ago

The purpose of this PR is to implement the following changes:

  1. A minor adjustment to the execution of the Redfish server command docker run --rm --net=host dmtf/redfish-mockup-server:1.1.8 to utilize the host's network stack.

  2. An update to the "docker-compose.yml" file to establish port mappings between the host machine and the Docker container.

AmithGspn commented 4 months ago

@glimchb , can you review these changes.

glimchb commented 4 months ago

@glimchb , can you review these changes.

@AmithGspn, please explain why those changes needed

AmithGspn commented 4 months ago

@glimchb Below is the detailed explaination

1) Nginx error: 2024-06-17T18:46:10Z E! [inputs.nginx] Error in plugin: error making HTTP request to [http://web:80/nginx_status](http://localhost/nginx_status): Get "[http://localhost:80/nginx_status](http://web/nginx_status)": dial tcp: lookup web: Temporary failure in name resolution

To rectify this issue, it was discovered that the nginx docker was not exposing the ports from the docker through which the host could be connected. To address this, the port for nginx docker was explicitly specified in the docker compose file.

2) Redfish error: 2024-06-17T18:46:10Z E! [inputs.redfish] Error in plugin: Get "http://localhost:8000/redfish/v1/Systems/437XR1138R2": dial tcp: lookup bmc: Temporary failure in name resolution

To rectify this issue, the provided running example runs the Docker container with the network option set to "host." However, the Redfish command documented in the README.md file omits the Docker command without the "host" network option. Therefore, the README.md file has been updated to include this option. Additionally, it was observed that the Docker containers built using the docker-compose.yml file utilize the single network option "opi," while the example operates on a different network option, "host."

3) Writing to output "opentelemetry" error: 2024-06-17T18:46:14Z E! [agent] Error writing to outputs.opentelemetry: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp: lookup otel-gw-collector: Temporary failure in name resolution"

To resolve this (optional commit), a few individuals were able to successfully execute the program by using the hostname. However, since the hostname may not be consistent across all systems (I faced the issue), I had to replace it with the IP address to ensure proper functionality.

Reference code snippet [[outputs.opentelemetry]] service_address = "otel-gw-collector:4317"

"otel-gw-collector" is replaced by the docker IP to make it work.

AmithGspn commented 3 months ago

@glimchb , can you review these changes.

@AmithGspn, please explain why those changes needed

Any update on my comment?